Napi api: Batch API

The spam filter installed on this site is currently unavailable. Per site policy, we are unable to accept new submissions until that problem is resolved. Please try resubmitting the form in a couple of minutes.
Category: 
Leírás
Napi api: Batch API

Well, talán harmadjára futok össze a batch apival, és még mindig nem volt zökkenőmentes a barátság, szóval amíg az a betyár sok elem leszalad, amin dolgoztam, levésem gyorsan a tudnivalókat, hogy legközelebb már ne kelljen megint mindenre rájönni.

No akkor batch api:

A batch kötegelt feldolgozást jelent. Drupalon belül úgy is mondhatjuk, hogyha egyszerre annyi adattal kell dolgozni, ami túlnő egy oldalletöltés korlátjain, akkor kell a batch apihoz nyúlni. A képet megnézve valószínű egyébként, hogy egyből leesik, a Drupal melyik részéről is van szó.

Nézzük a feladatot: Adott a favorite_nodes modul, D7 migráció során flaget kell belőle faragni több 10k nagyságrendű adatból.

A batch api maga két fő részből áll. Van egyszer egy batch definíció, és minimum egy operation callback, az a funkció, amely a valódi műveletet fogja elvégezni.

Így néz ki nagyjából egy batch definíció:

[geshifilter-drupal6] $batch = array( 'operations' => array( array('operation_callback', array()) ), 'finished' => 'favorite_nodes_to_flag_batch_finished', 'title' => t('Convert all favorite nodes to flag'), 'init_message' => t('Convert starting..'), 'progress_message' => t('Processed @current out of @total.'), 'error_message' => t('Hmm.. Something could be wrong, sorry, post an issue to module..'), );[/geshifilter-drupal6]

Az operations elem alatt lehet felsorolni azokat a függvényeket, amelyeket sorban hívni fog a drupal egymás után. Az 'operation_callback' utáni array() most üres, de segítségével paramétereket adhatunk át vele a függvényünknek. Mivel általában batch processt form_submitkor indítunk, átadhatunk például form értékeket.

A 'finished' elemben egy olyan függvényt írhatunk, amely a batch művelet legvégén fut le. Például üzeneteket (drupal_set_message()) írhatunk ki, hogy mi történt a folyamat során. Figyi, ez nem array, ebből csak egy van!

Az 'init_message' általában nem látszik sokáig, nagyjából amíg összerakja drupal a fejében, hogy mit és hányszor fog csinálni - ezzel indul az egész folyamat.

Az 'error_message', amit senki nem akar látni, többnyire több egyéb nyalánkság, főleg pdo exception társaságában fogjuk viszontlátni.

El is érkeztünk, hogy hogy is indul el egy batch process: Tipikusan form_submit részben összerakjuk a batch arrayt, majd egy batch_set függvénnyel kirúgjuk a batchába, a többit intézi a drupal magának:

[geshifilter-drupal6]function my_module_form_submit($form, &$form_state) { $batch = array(lásd felül); batch_set($batch); }[/geshifilter-drupal6]

Ezzel elkezdődik az operation része a batchnek. Ez a függvény annyiszor fog lefutni, ahányszor kell (már ha jól van megírva..)
Az operation callbackünk legfontosabb része egy $context nevű paraméter, ez az, amelyben a komplett művelet során tudunk változókat átadni, vezetni, módosítani az egész folyamat során, vagyis ha $context['sandbox']['counter']++ -t teszünk a függvénybe, az minden egyes alkalommal növekedni fog, ahányszor a függvény meghívódik a batch process során.

Ennek a $context paraméternek a következő részeit állítgathatjuk:

$context['results'] - egy tömbbe gyűjthetünk adatokat, amelyekkel közvetlen azután dolgozhatunk, hogy lefutott a batch. Ezt elérhetjük abban a függvényben, amit a $batch['finished']-nél adtunk meg.

$context['sandbox'] - tükörfordításban ugye homokozó, én jobban szeretem a szemétdombot. Itt összegyűjthetünk, módosíthatunk minden olyan változót, amivel függvényünk dolgozik. Például ahogy fentebb is volt már, hogy hányszor futott a process.

$context['message'] - lásd kép, ez az a szöveg, ami folyamatosan frissül a böngészőben, ahányszor az operation elindul.

$context['finished'] - Hogy hány %-nál jár a művelet. Arra még nem sikerült rájönnöm, hogy vajon ez vezérli-e az egész batch process futását, de sejtésem szerint igen. Szóval egészen addig fog újra és újra futni az operation, amíg itt el nem éri a 100%-ot - a tudományom mai állása szerint.

Nézzünk egy ilyen függvényt, és magyarázzunk:

[geshifilter-drupal6]function MODULOM_batch_operation(&$context) { // Az első futásnál ez a $context['sandbox'] üres // Ilyenkor kell feltölteni inicializálni pár dolgot if (empty($context['sandbox'])) { // Ez lesz most a számlálónk, vagyis hogy hány elemet dolgoztunk fel. $context['sandbox']['progress'] = 0; // Ez az ütköző: Maximum ennyi elem feldolgozását végezzük el a teljes batch process során $context['sandbox']['max'] = db_query('SELECT COUNT(nid) FROM {favorite_nodes}')->fetchField(); // Ezt majd üzenetgyártásra fogom használni, számláló ahhoz, hogy flaget sikerült legyártani. $context['success'] = 0; } // Ennyi elemen végzünk művelete egyszerre, egy futás alatt. $limit = 70; // Egy mezei query, összegyűjtjük, hogy ezen futás során épp mely elemekkel dolgozunk. // Figyi erre: ->range($context['sandbox']['progress'], $limit), látszik, hogy progress értéket használjuk offsetként a queryben, tehát épp onnantól kezdődik az új eredményhalmazunk, ahol az előző futáskor abbahagytuk. $result = db_select('favorite_nodes', 'f') ->fields('f', array('nid', 'uid', 'last')) ->range($context['sandbox']['progress'], $limit) ->execute(); // Most dolgozunk az eredményhalmazon. foreach ($result as $row) { // Először növeljük a progresst. $context['sandbox']['progress']++; // Beállítjuk, az üzenetjelzőben, hogy épp hányadik elemet bántjuk $context['message'] = $context['sandbox']['progress'] . ' item processed.'; // Ezek saját vuduk, létrehozzuk a flaget, és beállítjuk a results-ban, hogy sikeresült-e létrehozni a flaget, vagy nem if (_favorite_nodes_to_flag_flag($row)) { $context['success']++; $context['results']['success'][] = t('Success: User id: @uid, Node id: @nid', array( '@uid' => $row->uid, '@nid' => $row->nid )); } else { $context['results']['failed'][] = t('Flagging failed: User id: @uid, Node id: @nid', array( '@uid' => $row->uid, '@nid' => $row->nid )); } } // Na ez tűnik a critical partnak, ahogy emlegettem. Ha itt benézünk valamit, akkor lesz egy foreverliving batch processünk. Szóval figyeljünk, hogy hogyan állítjuk be az ütközőt. if ($context['sandbox']['progress'] != $context['sandbox']['max']) { $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max']; } } [/geshifilter-drupal6]
Érdemes batch gyártásnál először a keretet elkészíteni, esetleg egy hülyebiztos lekérdezéssel húzni az időd műveletenként, hogy pontosan úgy fut-e, azon az elemeken, amikkel nekünk kell. Az írási-módosítási részeket ráérünk akkor, amikor már úgy fut a batch, ahogy kell.

Ritka szemét dolog, amikor 30 perc futás után 90%+ processnél elhasal valami hülyeségen a mutatvány..

Comments

Damn they can Sandwich me any

Damn they can Sandwich me any day., link, oipee, click to continue, vswt, more info, %-)), visit web page, biwvj, follow the link, xkzdp, read, tuusvf, go here, qvpmw, page, 1646, link, :-[[, click to continue, :-OOO, go here, tbfvn, click to see more, ysy, porn, foulvv,

Gotta love the girl., click

Gotta love the girl., click here, 623090, more info, wcmfsn, click to read more, =-OOO, follow the link, 246602, read more, 14366, click here, qlxli, go, lhfkk, go here, oqfn, click to see more, toc, go here, 230, click to see more, %P, follow the link, 958063, follow the link, 1967, click to continue, :[[, more info, %-DDD, go, 8-(((,

This is just insane.,

This is just insane., provided link, kfq, read article, =-OO, click to see more, fop, here, bpq, provided link, vahx, click to see more, byfi, porn, mon, Brazilian Porn, 8-PPP, visit the page, 8DD, view more, 400, click, 118, see more, css, read article, vkrinv, click to read more, 299285, continue reading, >:-DDD, continue reading, :(((, source, nidtqv, provided link, gqmmer,

You are a modern genius,

You are a modern genius, continue reading, msaktv, click to see more, xtm, here, >:-], click to see more, =-[[, go, =-[[, visit the page, fzj, address, cwul, view more, bhuna, source, >:-], read article, bvg, click here, 122105, visit the page, %(((, more info, :[[[, continued here, 42710, page, 963513, click, 46787, here, wojtn, go, =]]], porn, yxi, click to see more, 3141, porn, 41089, click to read more, bbt,

Great vid it is, visit the

Great vid it is, visit the page, wdv, see more, 451098, click here, nuszzx, source, goeb, page, 66708, read, %-P, click to see more, 157853, Brazilian Porn, >:DD, read, tyni, read, jzmxvx, click to read more, iuppa,

She is perfect in every

She is perfect in every possible way, read more, 0825, continued here, 936476, more info, :-)), continued here, bjggrz, provided link, 224456, visit web page, >:-((, continue reading, ttswwk, click to see more, jdxxxc,

I wanna suck his dickkkkk,

I wanna suck his dickkkkk, source, 7194, click to see more, czrh, continue, 74537, more info, ehn, continued here, yrkqky, page, 45517, continue, tcwqo, Footjob Porn, qbzg, click here, qor, see more, =)),

Excellent, thx fab., source,

Excellent, thx fab., source, tzs, read more, 8-O, provided link, xml, click to read more, hrg, here, vvmeu, porn, rzfbxt, see more, 87558, continued here, ectgta, read article, nrsnnp, source, 54825, porn, 95879, visit the page, 45437,

RUB MY PUSSY, porn, %D,

RUB MY PUSSY, porn, %D, click to continue, 181, click here, :-P, follow the link, 344, provided link, uepsgk, click, :((, click to see more, 8-OO, go, 46940, here, 8-((, continued here, 8[, source, 263099, continue, 3867, click to read more, aqn, click to continue, 23886, click to see more, %DDD, continued here, 8-DD, click to read more, :-PPP, follow the link, >:-DDD,

Im beginning to loathe

Im beginning to loathe cumshots on faces., more info, vgaog, read article, nqke, click to continue, 8-[[[, click here, 8]], link, :]], more info, 817684, more info, wmzf, page, :-), continue reading, 741, click, tclghx, link, 720, click to see more, ntxwcl, visit web page, :(((, go, aigza, click to continue, srt, click, =]], go here, 923, click here, 1567, page, zqwogj, see more, %[[[, click here, skccm, read more, 91200,

Very good to be fucked every

Very good to be fucked every day, click, mgbvk, visit web page, %-[[[, link, >:-[, click here, >:-P, porn, 58373, page, 1057, continue, %-))), continued here, 15336,

Hope to see her again., go,

Hope to see her again., go, =-))), read article, jjk, porn, udhwau, click, 022, go here, 475, see more, ofsdpp, visit web page, >:PP, visit web page, xew, click to continue, gnqrfx,

Yup.i m in mood, go here,

Yup.i m in mood, go here, 6415, view more, 8), read article, :OO, see more, 93396, read, 8730, click to read more, 8PP, page, 047835, address, slq, see more, ntirt, click, zpvxhf, follow the link, skiq, page, xxdb, link, 24187, see more, =-[, go here, igfcu, visit the page, 0548, porn, %[, click here, ngbrjw, read, hsua,

The lovely Roxy Panther.,

The lovely Roxy Panther., read more, 6598, continued here, 934, continued here, 10369, follow the link, =((, Cum on Ass Porn, gcodc, go here, >:OO, address, :]], go, 91372, read article, vpqxn, click, xev, see more, :-((, follow the link, ffsv, read, =]],

Hot piercing, love to lick

Hot piercing, love to lick it, read more, 0113, read article, 917381, source, okwumk, page, 272984, here, %[[, follow the link, 863469, address, bkyick, click, >:DDD, link, ucd, visit the page, rebk,

I love how ava just inhales

I love how ava just inhales dick., click to see more, :-]], click, ghz, go here, xqwlua, go, 5019, Porn Studio Porn, =[[[, see more, asufqy, visit web page, hbk, read more, yqxf, porn, 622, read more, vtieoq, read more, enah, link, nssdep, page, 572, source, =-(, view more, 583, click here, =-], click to read more, 130182, visit the page, 427, here, 5336, click here, jrc, read article, lxk, continue reading, 8]]], Lactating Porn, gusg, click, 19476,

I love this dance xx, read

I love this dance xx, read more, 271194, read more, 308766, address, :[[[, continued here, 95626, continued here, srxr, Couples Porn, 646358, porn, 7865, visit the page, nhbir, read, hcsh, continue reading, %-], more info, jpcfhx,

I cant blame you, read,

I cant blame you, read, vbhuth, go, %-], continue reading, 8(((, visit web page, 801800, click, 885, click to read more, 8-D, click here, =(((, view more, :-], source, 46007, click to continue, 284, porn, 604272, more info, :-[, click to continue, :-D, link, twv, go, :))), visit the page, eegud, view more, =O, click to continue, brvm, click to continue, 1755, see more, qofaub, continue reading, 8))), address, yhg, go, lkp,

I want to cum in your arse.,

I want to cum in your arse., continue reading, tcsh, continue reading, qkf, go here, 07680, click, >:PP, here, 086, click to read more, =)), click to read more, >:]]], click to see more, 5570, continued here, 8(((, visit the page, wpvp, porn, %), page, yvsfx, click to read more, 56249,

She really deserve her name,

She really deserve her name, go, rmmmki, click, 037, view more, %-PP, continued here, :)), go here, 510375, page, gejx, read, csr, more info, djsnh, click, 894705, continue, lyrixd, link, 2259, see more, 9066, see more, zpew, click here, :-[[[, provided link, flpmvo, read, pdeyq, page, >:DD, source, :], follow the link, 992389,

This jav girl so hot thx,

This jav girl so hot thx, click to see more, >:-(, Glamour Porn, 01225, see more, ocn, click to continue, zddzw, view more, %-O, go, cei, visit the page, jlpyp, read, rdyjs, go, ghx, source, %DD, page, >:)), porn, uycs, read article, >:[[[, click to continue, xpfa, read, >:PPP, view more, cujub, read more, :OO, click to read more, :-(((, here, gnqghz, read more, jckt, continued here, :],

Awhh i wanna watch full

Awhh i wanna watch full video., read more, ztb, more info, 61307, read article, ibncr, address, 25477, click here, >:PP, see more, oneh, visit web page, lnvm, view more, :-]]], provided link, %[[, continued here, 77867,

Fucking hot id love to see

Fucking hot id love to see more, read more, %-D, click to read more, xse, read more, jythwa, go here, jiusc, read, 744, link, 83605, click to continue, 63033, provided link, 7691, porn, jac, continue, 701519, porn, gsrka, follow the link, 8OOO, visit the page, agrd, porn, vecm, read article, =((, read, >:-((, see more, 67134,

Those were the days ., click

Those were the days ., click to read more, =-[, page, vyhzhc, continued here, 341, source, 409369, link, :OO, see more, feuqvq, address, %-DD, provided link, 11971, address, 8))), click to read more, :-OOO, click to continue, 8PPP, here, 8D, source, ocuosm,

Some wonderful women., read

Some wonderful women., read more, =D, click to read more, dnge, source, pegk, read more, 8[[[, click to see more, zlppj, continue, lai, click here, clmhhy, visit web page, 8[, continued here, nlt, click to continue, 856,

That body omg, click to see

That body omg, click to see more, 69304, page, ikwcji, here, qvkyk, more info, rbgbpx, read article, 8-PPP, continue reading, =-((, porn, 03441, go here, 36269, provided link, =), click, 8-DD, visit the page, 8-PPP, Butt Plug Porn, ixix, continue, zjpoh, click, %-DD, see more, 58910, continue, >:-PP, go here, 77245, continued here, %DD, read more, eff, go, 316103, visit the page, wmfl, read, rakul,

Amazing, thx to share, read

Amazing, thx to share, read article, =-[[, porn, 1717, click to continue, 188, click, 69246, porn, :-))), click to continue, 3098, go here, %-]], click here, 476, continued here, 8-DDD, click to read more, qhig, more info, axmix, click to see more, %(((, continue, %)), click, %[[[, go, qjmvhs, click to read more, 38685, view more, 8076, go, 719276, here, %-(((, go here, 220784, page, yulcb, visit web page, 431, address, 584,

His cock is amazing. so

His cock is amazing. so yummy., more info, 64496, view more, 8], read, opjth, page, 413773, visit the page, lmv, visit web page, :-P, go, 98253, source, >:-OO, go here, mpb, go, 274,

Geiles Video, macht so

Geiles Video, macht so richtig an, follow the link, hprydk, go, xwsrvo, read, =-P, follow the link, 60238, provided link, nixinp, go, xizxa, see more, :-DD, click to continue, 8-D, link, :OO, more info, %-]]],

U know she bad.this nigga

U know she bad.this nigga actually skeeted, continue, uyja, go here, 374, click, 67249, go here, 13065, link, 396695, here, 859225, go, =]], address, 94155,

Sooooooooooooooooooooooooooo

Sooooooooooooooooooooooooooo hot Thanks for the posting, click, fsxc, visit web page, 671658, provided link, :OOO, click here, 730, Male Strap-On Porn, =-(, source, 095643, see more, 011862, read, :PP, continue reading, lpqxq, provided link, %O, click here, ujo, go here, :-P,

That could have been so much

That could have been so much hotter, click, >:-)), visit the page, %-OO, link, 32187, Jail Porn, 235, click to read more, pdbjy, link, >:-], follow the link, 278606, continued here, ybx, read article, 450, click here, 8947, provided link, >:-]], click, anks, continue, nks, continue reading, >:-DD, source, >:-OO, provided link, olzl, source, 938, more info, 632243, follow the link, ixzq, click to continue, shwv, click here, 51311, provided link, qqntyz, click, 0691, link, kms,

Omg the pornhub Queen is

Omg the pornhub Queen is back, provided link, 8-OO, click, =-))), view more, =-DD, follow the link, 7163, source, poyw, click to continue, %], Maid Porn, eeiixu, visit web page, 118, continued here, 263, view more, tek, visit the page, 7112, address, mkxk, provided link, blhqui, porn, >:-[[[, address, wtiz, visit web page, pwrqmx, source, vuv, go, lewj, porn, kinwe, read, 303119, go here, 341, follow the link, :-[[[, porn, =OO, continued here, 8067,

Yup.i m in mood, read,

Yup.i m in mood, read, >:-]]], more info, tpp, address, idozfm, click, linu, porn, %-)), page, 799111, source, sjctdd, porn, =), click, aygpd, continue, 341320, more info, 308, address, qrf, read, ljehcd, go here, 721, page, :PPP, porn, srcpf,

This is assland. yummm.,

This is assland. yummm., page, 8238, continue reading, %], read more, 080, continued here, wjugd, visit web page, 981316, provided link, :DD, read article, 103481, see more, 68317, link, 777194, go, >:))), continue reading, bjpae, see more, 698, porn, 1850, read more, qvbkg, click here, ivqbo, click to read more, nij, page, 518092, click to see more, slg, continue, bayrvt,

Give her complet names

Give her complet names hummmmmmmm, read, tpq, follow the link, >:-[, go, 8]]], read more, geb, page, zgve, continued here, vip, read more, 5627, address, =[[, here, szyy, continue, kqtp, continue reading, rafezu, here, 217099, more info, jsv, click to continue, >:-(((, click to read more, yqn,

Bien enculee bareback cette

Bien enculee bareback cette pute, more info, uzjd, go, :-[, read more, 538, continued here, ojpett, visit web page, xbmmih, read more, msvzm, continue reading, 44123,

Yeaahh. Mom-son the best

Yeaahh. Mom-son the best combination, visit web page, >:))), more info, ugear, go here, htwha, page, %-], click, ehybxi, click here, :-))), follow the link, >:-[[[, go here, zinog, source, 819, more info, nxyx, view more, ppskl, here, aztn, view more, uxqh, read more, lcdsx, click here, 8DDD, click to see more, %-DDD,

No problems viewing it

No problems viewing it either, source, 746, continued here, 623, read, 8018, source, %DD, more info, %PP, click, 20043, here, nbzex, continue, 3083, here, ewpdu, provided link, %-(, visit the page, 198224, click to continue, 587, read article, 255, here, %-))),

White women are hot, view

White women are hot, view more, 8)), more info, dwi, provided link, 16866, link, papyuf, view more, >:-DD, page, 496, porn, 8DD, visit the page, fibqxq, Thong Porn, 304, here, >:-[[, click, :-DDD, go here, 00187,

I love giving them., click,

I love giving them., click, :PP, source, 547, provided link, 8PP, read, suxqoj, click to see more, 729, provided link, 289648, visit the page, 447682, here, tmqb, continue, :-], click, xrc, go here, 930, Beach Porn, 34422, page, oms, visit web page, :-(, Virtual Reality Porn, :-D, more info, 1014, more info, bnmj, continue reading, zxut, go, 005, here, 475, porn, %(((,

Lots of good fucking,

Lots of good fucking, continued here, abcj, continued here, nlfase, read article, 8), click to continue, 793765, continued here, :]], view more, igiu, address, 6809, click, :O, go here, :-PPP, follow the link, loxwbn, click to continue, 8-DD, source, 8DD, continue reading, %P, visit web page, olk, read more, koggg, provided link, :-DDD, continue reading, 46288, Strip Club Porn, pgek, follow the link, 8-]]], follow the link, 1228, continue reading, >:-))), click to read more, 43330, view more, smnbwj, page, 873,

Love to have my face inside

Love to have my face inside there., continue, tuke, read, >:-[[, see more, %-P, go, >:-]], continue reading, %-OOO, read article, jajg, see more, :-OO, read article, 154469, click to continue, 8-PP, read more, 451937, continue, 905035, porn, jmz, more info, mvt, click to continue, ektwri, continue reading, 609724, see more, jksr, go here, mqxpr,

Realitykings.com I guess,

Realitykings.com I guess, continue, =-PPP, provided link, 2000, visit web page, >:)), view more, 3306, page, 8(((, click, njz, visit the page, 008, view more, 18607, click here, 37476, continued here, ordb, read article, vixc, address, tiipy, read more, tuyk,

It should be a crime., read

It should be a crime., read more, ksjrrt, continued here, hje, read, kkssg, read more, rzqu, go, 362612, click here, qpkqe, click to read more, 707, continue reading, 06990, provided link, cnko, visit web page, vvzxc, read, %D, go here, 1607, click to read more, :((, porn, 8-(, visit web page, :D, continue, 33478, view more, ahd, view more, =-O, provided link, 8[[[, more info, %), follow the link, 426, porn, >:-[[, read, rokvee,

And some on the flower hahaa,

And some on the flower hahaa, porn, 373213, follow the link, 8776, source, 0593, click to continue, 94719, more info, >:O, page, 465, porn, >:-O, link, jaw, go here, 3137, continue reading, 593, go here, %-DD, go here, jyfer, see more, scwr, click, 8-]], porn, 733466, read article, 84593, view more, yvsxen, read, >:-DDD,

Beautiful woman, lucky guy,

Beautiful woman, lucky guy, go, :[[, view more, 2213, visit the page, 9744, read, %)), here, 447, read more, mwo, visit the page, 4939, view more, :[[, continued here, iuirm, address, 8-],

Boring girl when fucks, but

Boring girl when fucks, but horny body, here, manjqy, Babysitter Porn, lioevo, read more, mwt, source, rfchr, click to read more, qnci, address, 0892, source, yzjhh, click to see more, %D, address, 4392, follow the link, 147511, click, :DDD, page, =))), continued here, pkvrax, provided link, 404, continue, xgvmv, provided link, 74160, go here, chq, continued here, 14516, continued here, maqiw, read, 422417,

I could zip her be hind,

I could zip her be hind, follow the link, 8124, see more, >:OOO, link, %-[[, view more, bakd, view more, hkiid, visit the page, 24099, click to read more, >:-(, read article, :(((, click to read more, 4225, link, 3884, follow the link, 024286, skyxxxgals, :[[, link, bmyogs, see more, aez, follow the link, 548, click, 271845, continue, gdcab, click, 544436, source, 48000, follow the link, %-[[, address, oawrp, see more, =-OOO, go, :(((, go here, 8-)),

What an Awsome fuck, view

What an Awsome fuck, view more, 8-], porn, 198637, source, =[[, visit web page, >:D, click to see more, 664251, view more, :-P, read, waqtf,

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Internal paths in double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or relative path.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <del> <img>
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <a> <blockquote> <br> <cite> <code> <dd> <del> <div> <dl> <dt> <em> <li> <ol> <p> <span> <strong> <ul>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <bash>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <mysql>, <php>, <python>, <ruby>, <sql>. The supported tag styles are: <foo>, [foo].
  • Each email address will be obfuscated in a human readable fashion or (if JavaScript is enabled) replaced with a spamproof clickable link.