Topic: Några frågor till Rickard medan jag skriver om Attachment modden :)

1. hmm...såg att det verkar vara i princip bara forum options som cacheas (iaf som jag kommer vara i kontakt med) ... är det ok om jag använder a_ (eller ev attach_) i databasen (a_ blir lite smidigare tror jag, men du kanske har något du vill skall använda den? så det inte krockar)

2. hmm, sedan cache kontrollen, räcker det att man 'läser in' utan cache för att cachen skall rensas eller behöver man rensa cache 'manuellt'?
(eftersom jag kommer ha lite saker i admin delen som kommer fippla med värden där, och vissa saker är nog snabbast att fråga istället för att gå igenom okänd kod big_smile)

3. hmm, sedan, det enda man behöver bry sig om är $pun_user['group_id'] för identifiering (slipper en massa cookies o dyl), eller hur?
(kikat runt lite, och plocka arrayer ur querys när det är en massa inner joins etc, heh börjar gå runt i huvet när jag försöker förlja allt hit o dit, tror det är enklare att fråga big_smile)

4. För att hålla versionsnumreringen lik PunBB ... en total omskrivning av modden, blir det 2 eller 1.1 ?  (senaste släppta version var 1.0.1)
(tror endast att lite info i arrayen för 'filtyp' => 'mime' kommer vara samma, fast är inte helt säker, den kommer ev utökas wink)

Tja ... kommer väl fler frågor eftersom ... men har varit klok nog att skriva ett textdokument nu medan jag kodar ... så att folk skall kunna göra andra saker som använder den här modden ... typ galleri o dyl ... och textfilen har allt hur jag tänkt, varför, säkerhetstips, funktioner, konstanter, databasstrukturen, etc.
Det går framåt dock ... 200 rader dokumentation, o nästan lika mycket php skriven, datasen i princip spikad ... synd bara att administrationsdelen är det som kommer ta tiiiid wink

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

1. Låter bra. attach_ är lite tydligare, så det föreslår jag.

2. Förstår inte riktigt vad du menar. Om du uppdaterar config-tabellen måste du anropa generate_config_cache() som i t.ex. admin_options.php.

3. Japp, $pun_user finns alltid och innehåller vettig information.

4. Tja. 2.0 kan du nog köra på med gott samvete.

smile

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

tack för svaren smile

ang 2:an ... hade glömt var du sade att jag skulle kika, för mycket saker som händer runt omkring ... skyller jag på iaf big_smile wink

håller på med administrationsinterfacet nu med plugin delen (så att jag kan mata in lite data att använda som debuggning för resten av scripten, enklare att koda när man itne måste ha all kod klar innan man kan ens testa om saker fungerar, trevligare att beta av fil för fil big_smile)
Behövde använda en method="post" för att få min 'knappmeny' att fungera, den klagade på "outdated links" etc. när jag använda en method="get" meny (som kanske går att bookmarka? inte viktigt hur som helst så post funkar för mig) ... ingen aning om det egentligen är så farligt, iofs kanske det var något i min kod som strulade också(eller om det är pga att det är endast admin som får se?) ... liksom inte van att använda den där plugindelen ännu wink

Hur som helst, kanske gör ett riktigt försök senare att återskapa problemet, men method="post" löste ju problemet åt mig så jag klarar mig nog ett bra tag till wink

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

Det ska nog inte vara några problem att köra via POST nej.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

5 (edited by Frank H 2005-01-15 13:34)

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

Sådär ... nu börjar det mesta av 'inputten' i attachment modden vara färdig ... blir dock mycket cut'n paste från andra adminsidor för att få samma utseende, men det här duger väl Rickard? big_smile
Alter settings sidan, har en menysida innan, men det är den här sidan som ersätter manuell editering i php filer, tror folk kommer gilla det här bättre wink

Nee ... tillbaka o skapa 'prototyper' för de andra sidorna ... och börja skriva på koden för att ta hand om allt man skriver ...

Edit:
Upptäckte en inkonsekvens på "admin_options.php"
radioknapparna för "Internal    E-mail    Both" är inte strong, som alla "Yes No" radioknappar, ingen aning om det är tänkt att vara så eller inte, hmm... kommer fixa alla såna saker på min mod senare, märkte att jag inte hade strong på mina Yes No, vilket jag naturligtvis bör ha wink

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

Ser fin-fint ut! Fint jobbat smile Det enda jag har att påpeka på är att det känns lite knas att separera filändelser med punkt. Är inte mellanslag lite mer lämpligt?

Oh, en annan sak också. De där sakerna som står i fetstilt direkt till höger om textboxarna känns lite felplacerade. Kan du inte ta med det i själva brödtexten under textboxarna istället?

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

jo, håller med, ser lite fel ut, skriver om det senare efter jag spikat vad som skall finnas på alla sidor, kan ju komma fler saker, o försvinna lite, så får putsa interfacet sedan smile ... så det kommer jobbas igenom mera, btw, se min edit i min posten ovanför din

8 (edited by Frank H 2005-01-15 13:56)

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

visstja, ang separationen, jag har inte bestämt mig, men det är ju faktiskt möjligt att ha filnamn med mellanslag i extension, men punkter är ju det som generellt används för att avgöra vad som är extension och inte (det är det jag använder för att kika vilken extension en fil har, plockar ut det som finns efter sista punkten)
T.ex. går det ju att skapa en fil "testfil.nisse hult" filsystemet klagar inte ... så om jag skulle använda mellanslag blir det dels att jag blir tvingad att ändra i funktionen som klurar ut extension, samt att det blir mer att hålla reda på för den som matar in

samma anledning varför jag använder * i 'arrayen' för ikonfilernas namn, så vitt jag vet får man inte använda * i namn (eftersom de ofta används i sökningar), mellanslag och punkter är ju tillåtna ...

Ev att jag kanske kan använda något som filnamn generellt inte får innehålla, typ slash eller dyl ... så att alla fält använder samma separator

Edit: (windows klagar när man försöker ändra filnamn till något med   \ / : * ? " < > |   ... så ev någon av de går att använda i alla rutor där jag behöver använda separatorer?)
Edit2: Har du någon bra koll vilka som *nix inte vill ha i filnamn? (så kanske man får något som båda ogillar, och kan använda)
Edit3: big_smile  ... har testat, och tja, det som ser bäst ut i inputfälten av ovanstående tror jag är "

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

Har ändrat lite nu, använder " på alla separatorer ... borde väl fungera?
tog även bort så mycket som möjligt efter fälten, men kände att jag behövde lämna någon information vilket fält som innehåller vad, men tog bort strong ur det. (Att ha de framför kan vara möjligt, men måste nog ha en table eller div så att cellerna börjar på samma bildpunkt horisontellt, ser inte snyggt ut om de börjar på olika platser)
screenshot

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

ok, det går inte att skicka med get variabler till administrations plugin såg jag nu

"There is no plugin called 'AP_Attachment_Mod_2.0.php?alter_settings=1' in the plugin directory."

borde gå att göra så att man använder strängen framför ? för att klura ut vilken sida, så att inte GET variabler blir omöjliga? (t.ex. nu när jag uppdaterat inställningarna vill jag ju gärna att man kommer tillbaka till sidan med inställningar, som det är nu blir jag skickad tillbaka till 'huvudmenyn' för modden, för att skicka med POST variabler funkar väl inte med redirect grejen, eller hur?)
Ev att jag kan skriva om det från att använda en ifsats till många, och sätta lite variabler etc. men jag gillar if, elseif, else slingor wink

11 (edited by Frank H 2005-01-15 15:31)

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

sådär ... nu funkar grejorna att ändra ... kunde nästan bara plocka det sista du hade i slutet av admin_options.php ... så funkade det (dock nära jag missade att ändra o_ i queryn ... smile

hmm... någon speciell anledning varför du inte använder

foreach ($form as $key => $input)

istället för

while (list($key, $input) = @each($form))

eller har det bara blivit så?

(såg detta på php.net sidan nu, den senaste kommentaren)

Many old code examples dating back to PHP3 use this construct:

while(list($x,$y)=each($a)) {...}

However, on PHP4 and PHP5, you have this construct:

foreach($a as $x=>$y) {...}

The latter construct is almost twice as fast as the former, with the usual caveats about architecture and compiler and whatnot having an effect.

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

Det där är inte hela sanningen. Ja, foreach är snabbare i vissa fall, men i gengäld arbetar den på en kopia av arrayen, så minnesanvändningen är mycket större.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

ok, jag antog du hade någon anledning wink

nu är iaf dokumentationen inkörd in i plugin filen, en fil mindre ... och blev rätt snyggt (gick att använda h1, h3+strong och strong+em för rubriknivåer smile) ... nästa steg... hmm.. generation av subfolders o sånt ... smile

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

h1 är nog inte så lämplig att använda där med tanke på att det är en header "under" h2. h3 och neråt går bra.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

ok, det var den enda som jag hittade som var stor nog att vara 'topp' rubrik (kikade på alla h taggar) ... de andra var alldeles för små (förutom h3 då, men den var inte tillräckligt stor, svårt att läsa vad som står IMHO) ...


en ny fråga, $is_admmod (eller vad den heter) ... om en moderator är på ett forum som denne inte är satt som moderator på ... vad visar variabeln då?

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

Det beror nog fan på (jag kommer faktiskt inte ihåg). Vilket skript är det du undrar över?

"Programming is like sex: one mistake and you have to support it for the rest of your life."

17 (edited by Frank H 2005-01-15 23:35)

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

hmm ... eller ... förresten ... kan ha en liten permission grej på moderatorer ... i mina rules för grupper (enklast så troligtvis) .... så är det bara admins jag gör undantag för ... finns det en liknande variabel som visar om nuvarande user är administrator?
typ $is_admin


(nu blire iaf paus för inatt ... 46517 bytes är modden hittills ... men mycket pga att dokumentationen är skriven (tar mycekt plats med sin html))

18 (edited by Frank H 2005-01-16 11:27)

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

Jag har problem!

Ett klassiskt "query till databasen skriver över befintlig query" fall verkar det som vid första anblick ... använder egna $result_attach och $result_attach_two, istället för $result, för det som $db->query returnerar ... men ändå stannar outputten i viewtopic efter första posten i en tråd med 3 poster... kommenterar jag ut mitt attachment block med kod funkar det som det skall... klipper in det här...

    // Attachment Mod Block Start
    $attach_allow_download = false;
    $attach_output = '';
    $attach_num = 0;
    // Check if this post has any attachments
    $result_attach = $db->query('SELECT af.id, af.filename, af.extension, af.size, af.downloads FROM '.$db->prefix.'attach_2_files AS af WHERE af.post_id='.$cur_post['id']) or error('Unable to fetch if there were any attachments to the post', __FILE__, __LINE__, $db->error());
    $attach_num = $db->num_rows($result_attach);
    if($attach_num > 0){
        //fetch the rules of the forum, and check so that the user is allowed to download.
        $result_attach_two = $db->query('SELECT ar.rules FROM '.$db->prefix.'attach_2_rules AS ar, '.$db->prefix.'topics as t WHERE ar.group_id=\''.$pun_user['group_id'].'\' AND t.id=\''.$id.'\' AND ar.forum_id=t.forum_id LIMIT 1')or error('Unable to fetch rules for the attachments', __FILE__, __LINE__, $db->error());
        if($db->num_rows($result_attach_two)==1){
            list($attach_rules)=$db->fetch_row($result_attach_two);
            //check if the user is allowed to download it.
            $attach_allow_download = attach_rules($attach_rules,ATTACH_DOWNLOAD);
            if($attach_allow_download||$is_admin_group){
                if($is_admin_group)$attach_allow_download = true;
                $attach_output .= $lang_attach['Attachments:'].' ';
                while(list($attachment_id, $attachment_filename, $attachment_extension, $attachment_size, $attachment_downloads)=$db->fetch_row($result_attach)){
                    $attach_output .= '<br />'."\n".attach_icon($attachment_extension).' <a href="./attachment.php?id='.$attachment_id.'">'.$attachment_filename.'</a>, '.$lang_attach['Size:'].' '.number_format($attachment_size,0,''.'\'').' '.$lang_attach['bytes'].', '.$lang_attach['Downloads:'].' '.$attachment_downloads;
                }
            }
        }else{
            // we haven't any rules set, so basic rule is to allow nothing...
        }
    }
    // Attachment Mod Block End

Den där borde väl inte avbryta while loopen för poster, då den while loopen använder $result ... fast ... tja ... jag vet inte ...
inga felmeddelanden heller tongue

Edit: mina funktioner använder inte databasen heller

Edit: är alltså den while loop som börjar på rad 189 som bryts (mitt block ligger just innan utmatningen av posten)

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

hittade orsaken nu ... på rad 188 är det $db->query('SELECT ... 'true) or ...     ändrade till false, så funkade det ... hmm.. vad gör den parametern egentligen?

(samt hittade en debug.php som jag använt i en annan grej, för att mata ut samtliga variabler och arrayvärden som finns (fast den klarade inte variabler som var satta till false upptäckte jag   ... har lite bättre koll vilka variabler som finns, samt vad alla arrayer innehåller, kunde optimera en av mina querys till att bara söka i ett table nu, eftersom jag såg $cur_topic hade en forum_id smile )

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

Den parametern ser till att databasadaptern använder t.ex. mysql_unbuffered_query istället för mysql_query. En fördel med detta är att det är att PHP inte buffrar resultatet av queryn, så minnesanvändningen sjunker drastiskt. I gengäld betyder det att man måste hämta ut alla radera ur resultatet för att inte blocka. Man kan heller inte använda t.ex. mysql_num_rows() på resultatet.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

ok, tja de som vill ha den här modden får lov att ha mycket minne big_smile
(tror inte jag orkar köra en massa str_replace() på färdigenererade tråden o byta ut t.ex <%%ATTACH12%%> osv. borde kunan bli långsammare på långa poster wink)

hmm... tror den är överkurs för topic grejorna för mig ... ev att jag kan få användning av det vid konverteringen av befintliga filer i databasen ner till disk... eller andra admin åtgärder smile

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

sådär ... en liten preview hur det kommer vara i viewtopic smile
Flera attachments per post! lol wink

hittat en sak jag inte är überlycklig med, och det är img taggen, att det tvingas att bli ny rad före o efter ... men kanske bara jag som använder små bilder (för stora så tror jag mycket väl att det här sättet är bättre) ... men jag överlever ... lärde mig ju att leva utan subforum, och nu märker jag att jag nästan tycker subforum är dåligt! big_smile

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

Nice! smile

Orsaken till att det blir radbrytning vid användning av img-taggen är att den är wrappad av en div som ser till att det blir scrollbars om den är för bred för att få plats.

"Programming is like sex: one mistake and you have to support it for the rest of your life."

24 (edited by Frank H 2005-01-17 18:29)

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

:)

attachment.php (nedladdning + View Image) som jag fixat nu fungerade alldeles för bra för att vara lugnande ... efter att ha fixat en liten sak(kika efter $pun_user['g_id']==PUN_ADMIN för att overrida (har inte matat in några regler ännu)), så var den enda 'buggen' att jag hade matat in fel filnamn i databasen så att filerna hette fel o hade fel antal bytes ... men efter den ändringen så vips så funkade fpassthough grejen ...

aja ... blir väl jobbigare saker senare ... kanske :D

hur som helst ... skall kika hur bild taggen matas ut ... skall försöka använda den på Image View sidan också så att det blir lite mer likt (nu ser den sidan rätt mycket ut som 1.1.5:an ... eller ... aja ... vill göra om den lite hur som helst :D

får se om jag hinner påbörja post.php något   (endast 4 editeringar i viewtopic.php, 3 nya ställen med kod, samt att ändra true til false i den där queryn... känns som om folkd skall lyckas med den ändringen ... hoppas det är lika få ändringar i de andra filerna :))

Edit: Image view är nu en kombination av vad som matas ut vid 'message()' (egen title på det blocket annar lika) och att jag använder samma typ av markup som [ img] har, funkar fin fint :) ... o har nu plottrat ihop attach_delete_attachment() funktionen ... otestad ännu ... men tror det skall funka som den är nu :D

Edit2: Uj... går mycket bättre än jag trott, lyckats fixa till en massa funktioner som behövs (fast har inte hunnit testa alla ännu), och även kritiska som den som skapar nya subfolders o kopierar in lite säkerhetsfiler dit (en .htaccess o en index.html) ... testade just den och det enda som jag behövde fixa var att se till att $pun_config['attach_basefolder'] måste vara den absoluta katalogen till min katalog där alla subfolders lagras ... som sagt ... det går för bra för att kännas riktigt bra :) Nu är det hur som helst natt för min del ... har jag lite o göra nästa vecka borde jag hinna färdigt :)

Edit3: Sådär, då har man kodat lite mer i dag, optimize funkar på tabellerna för filer, och gjorde även list attachments ... tror den här typen av listning är mycket smidigare än den jag hade på den gamla modden ... och så länge man är inne på list attachments sidan så kommer den ihåg vilka val man har valt (så man kan enkelt söka efter attachments som tar mest bandbredd, som är störst, som har mest downloads och de senaste ... ganska enkelt :)) Tror inte jag vågar testa delete ännu, tror jag fixar upload innan (jobbigt att använda backup grejor eller mata in nya filer manuellt :D)
Tillbaka till kodning :)

25

Re: Några frågor till Rickard medan jag skriver om Attachment modden :)

När blir moden klar?!?! Vill verkligen ha den nu.
Kommer man kunna sätta maximala filstorleken på olika filtyper.
T.ex. man kanske vill att bilder inte får vara större än 200k men en rar fil får vara 2mb