laaczlv // Visnotaļ smilškaste. Privātīpašums. Te vairs nav, ko rakstīt. | 2025-08-23 16:00 EET here
 
 

laacz tagad klausās:
Radio NABA

 


Kārtot pēc pēdējā pļurkt

Autora domas ne vienmēr sakrīt ar autora domām. © spectator

Ir pagājuši 24 gadi un 7 mēneši un 22 dienas kopš mana mūža laimīgākās dienas

Papildus 3355 maniem pļurkšķiem ir sapļurkstēti 33189 sveši pļurkšķi.

ICQ: #58279153 (very rarely)
MSN:
E-mail:

Mazās pustizlās ikoniņas aiz linkiem (ne visiem) arī šo to nozīmē.
 

skābs ābols
roze.lv
~smejmoon
~aptieka (testing)
cietnis/blog
 
   
<br />
<br />
<br />
2004 14. septembris otrdiena
11:04

Pēc pāris stundu ilgas cīņas ar PHP un IMAP protokolu, tika noskaidrots, kā var realizēt t.s. user-defined message flags. Kāpēc tas vajadzīgs? Tāpēc, ka jebkuram IMAP serverim ir predefinēti pieci sistēmas flagi, kurus var piešķirt vēstulei. Tie ir Seen, Answered, Flagged, Deleted un Draft.



Šie sistēmas flagi ar laiku kļūst par īsu. Teiksim, ja nu es vēlos atzīmēt kādu vēstuli, lai vēlāk pie tās atgrieztos? It kā varētu izmantot Flagged, nosaucot to lietotāja galā par svarīgs, taču tas nav labākais veids. Kā izrādās, viss realizējas stipri vienkāršāk, lai arī ar pāris problēmiņām (PHP IMAP interfeisa realizācijā).



Kā izriet no RFC 2060, jebkurai vēstulei jebkurš lietotājs var piešķirt savus flagus. Teiksim, PHP versijā tas būtu:



imap_setflag_full($mbox, $uid, 'Mansflags', ST_UID)


Itin vai viss ir dikti jauki, taču, kā izrādās, ka funkcijas imap_headerinfo($mbox, $msgid) rezultātā šie lietotāja definētie flagi nekādi neparādās...



Turpinot investigāciju, nolēmu pamēģināt funkciju imap_headers($mbox), kas nav pati optimālākā resursu ziņā, bet strādā, jo atgriež kaut ko līdzīgu masīvam, kurš sastāv no teksta rindām. Piem.:



    A     1)29-Jun-2004 Bļamba         {Mansflags} RE: test (1352 chars)


Kā redzam, mums ir teksta rinda, kurā Pirms tēmas parādās mūsu specifiskais flags (figūriekavās). Attiecīgi, atliek tikai izrakt messāges kārtas numuru, pārbaudīt, vai pirms tēmas neir {Mansflags} un basta. Jāatcerās, ka masīva indekss nebūt neatbilst tam, ko dēvē par vēstules sequence number.



Teksta rindas formāts ir aptuveni sekojošs:



<SYSTEM FLAGS ABBREVIATED> <MSGNO>) <DATE> {<LIST OF CUSTOM FLAGS>} <SUBJECT> (<LENGTH OF MESSAGE IN CHARS>)



P.S. Tas var mainīties atkarībā no IMAP servera. Konkrētais piemērs strādā ar Cyrus IMAPD.



P.P.S. Jāatzīst, ka nebūt nav grūti šādi spēlēties ar nabaga saņēmēju, sūtot vēstules ar tēmām {Mansflags} You are owned!, bet tas jau ir atkarīgs no tā, kā esi uztaisījis iepriekšminētās funkcijas imap_headers() rezultātu apstrādi :)



Un galu galā lietotājs ir laimīgs, jo viņam tiek nodrošināta papildus funkcionalitāte. Šis, protams, attiecas uz tiem izstrādātājiem, kuri veido un uztur savus IMAP klientus plašākai vai šaurākai lietošanai.


 
Kā tu saucies:  
Īmeils:  

Mazliet komentāru kultūras, jeb laacziquette

  • Ja tu gribi pateikt tikai ':)', tad saki to sev un pie spoguļa. Pašam prieks un es esmu mierīgs.
  • Neaizraujies ar enteriem savā komentārā. Pavisam nav obligāti likt divus vai trīs enterus pēc katras uzrakstātās rindiņas.
  • Offtopiks (komentāri ne pa tēmu) nav no gaidītākajām lietām.
  • Galu galā, ja tev ir verbāla caureja, ej uz delfiem vai arī taisi pats savu lapu.
  • Pirms spiest pogu, padomā. Varbūt tu vēl neesi visu pateicis? Lai nebūtu pēc tam vēl 26 pēc kārtas esošu komentāru jāraksta.
  • Vēlies runāt ar kādu cilvēku, uzraksti viņam vēstuli. Ir daži izņēmumi. Agressor, tu neesi izņēmums.
  • Un, galu galā, paturu tiesības jebkuru sev neimponējošu komentāru izmēzt.
     
  • Par izņēmumu kādā no šiem punktiem, vai arī visos noteikumos var kļūt, uzrakstot iesniegumu un iedodot man to rokā. Iesnieguma vēlamais apjoms - 0.7 laba viskija.
     
  • Gan jau kaut ko vēl izdomāšu.
 
 
© 1996 - 2025 laacz | Visas tiesības, nu jūs jau zināt..
Spēcināts ar SPP v1.0 public beta