Időzóna: (GMT +2 óra) RSS - hozzászólások

Mykee fejlesztési naplója

Szerző
Üzenet
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 2:00
Hozzászólások: 814
Hozzászólás Elküldve: 2017.03.27. 15:14    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Köszönöm a választ! :)

Nekiálltam az egyik bővítménynek, aztán már ott elakadtam, hogy a hookok hogyan kommunikálnak egymás közt. A régi MOD alapján tudom, melyik fájlnak a hookjaihoz kellene írnom és elvileg oda is, ahol korábban belemókoltam a gyári kódba, de valahogy a posting.php nem igazán akarja átadni a function_posting.php-nak az adatokat. Tehát a posting.php post_data tömbjében még megvan a cucc, de a function_posting.php data tömbje kevesebb adatot tartalmaz. Úgyhogy bűvészkedem, mert az előbbi tömbben van olyna opció, ami az utóbbiba kellene... :roll:
Nehéz átlátnom ezt az új cuccot, még ha a hookok logikus helyen is vannak.

Update: azóta persze megtaláltam azt a hookot, ahol átadhatom az adatot :) Mondjuk rájöttem a metódusra: megnyitom a régi MOD-ot, hova szúrtam be pl. a posting.php-ba, aztán megnézem, milyen hook kapcsolódik hozzá. azt viszem át a saját, megfelelő function-be és oda teszem be a régi MOD kódot (persze aktualizálva). Úgyhogy mondhatjuk, hogy majdnem tükörben ültetem át, csak már fáradt voltam.

Felhasználó profiljának megtekintése Privát üzenet küldése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 2:00
Hozzászólások: 814
Hozzászólás Elküldve: 2017.03.28. 10:11    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Mielőtt tovább folytatnám, egy komolyabb akadályba ütköztem: hogyan tudom a template variációkat módosítani, hozzáadni? :roll: Pl. a viewtopic.php vagy a functions.php-ban nem találok hookot arra, hogy a template variációkhoz hozzáférjek! :shock:
Van egy opcióm, aminek a függvényében jelenjen meg egy dolog vagy sem. De ezt nem tudom átvezetni a template-re, mert a $template tömbhöz nincs hook! :shock:

Ezt hogyan oldottátok meg?

Update: megoldva a services.yml fájlba felvett

Kód:

        arguments:
            - '@template'

sorral (ez nem volt a skeletonban) és a listenerbe betettem egy construct funkciót:

Kód:

   public function __construct( \phpbb\template\template $template)
   {
       $this->template = $template;
   }


Majd a megfelelő funkcióba ezt:

Kód:


$this->template->assign_vars(array(
           'TOPIC_CC_ENABLE'    =>  ($topic_data['topic_cclic']) ? true : false,
         ));


De hogy ezt miért nem lehetett megoldani úgy, mint az admin oldalon, hogy simán a template_data tömböt egészítem ki és ennyi. :roll: Az előbbi megoldással komplikáltabbá teszi és kevésbé logikussá (nekem), mintha csak az adott helyen lévő adott tömböt bővíteném.

Felhasználó profiljának megtekintése Privát üzenet küldése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 2:00
Hozzászólások: 814
Hozzászólás Elküldve: 2017.03.28. 11:40    Hozzászólás témája:
Hozzászólás az előzmény idézésével
A nyelvekkel is szívok. Kezdjük ott, hogy ami érdekes: a skeleton ugyan legenerált egy common.php állományt a languages/en mappába, ez szuper. Az ember azt gondolná, hogy akkor amit oda beleírok, az megjelenik a felületen is minden mókolás nélkül. Persze az en mappából készítettem hu mappát is, szóval erre gondoltam előre.
A csavar itt jön: hiába írtam be a megfelelő szöveget, nem jelent meg, csak a kód. Mivel a posting.php oldalon volt a módosítás, megpróbáltam úgy is, hogy nem a common.php fájlba, hanem a posting.php-ba írok be egy sort. Ez sem jelent meg. Aztán találtam egy kerülőutat (ld. alább), de nem értem, minek kellett ezt eljátszanom, amikor a demonál meg rendesen betöltődtek a feliratok...

Szóval a services.yml-be felvettem ez alábbiakat:

Kód:


        arguments:
            - '@controller.helper'
            - '@template'


Aztán a listenert kibővítettem az előbbivel:

Kód:


protected $helper;
   protected $template;


   public function __construct(\phpbb\controller\helper $helper, \phpbb\template\template $template)
   {
      $this->helper = $helper;
      $this->template = $template;
   }


Majd hozzácsaptam ezt a funkciót, persze hozzáadva az events listához is:

Kód:

'core.user_setup'                           => 'user_setup',

Kód:


public function user_setup($event)
   {
      $lang_set_ext = $event['lang_set_ext'];

      $lang_set_ext[] = array(
         'ext_name'=> 'mykeehu/cclic',
         'lang_set'=> 'common',
      );

      $event['lang_set_ext'] = $lang_set_ext;
   }


Így már betölti a commonból a beírt cuccot, csak nem értem, hogy a skeletonban miért ment (legalábbis úgy tűnt), nekem miért nem, ha meg a skeletonban sem jó, miért nincs benne alapból, ha ott a fájl? :roll:

Közben letöltöttem a skeleton alapjául szolgáló acme demot, ott meg benne van rendesen... :?

Itt meg ugyan írnak egy újabb metódusról, de hogy hova írjam be és mik kellenek hozzá...? Semmi minta vagy ilyenek:
https://area51.phpbb.com/docs/dev/32x/extensions/tutorial_key_concepts.html#language-files

Ez alapján beírtam a user_setup funkcióba ezt a sort a régi helyett, de hibát dobott:

Kód:

$language->add_lang('common', 'mykeehu/cclic');


Sajnos ezzel sem lettem okosabb. :(
https://area51.phpbb.com/docs/dev/32x/language/usage.html

Felhasználó profiljának megtekintése Privát üzenet küldése
Ragadozo
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.05.08. Csütörtök 19:26
Hozzászólások: 638
Hozzászólás Elküldve: 2017.03.28. 14:32    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Élvezettel olvasom, amiket írsz, bár úgy érzem, te ezt nem annyira élvezed. :D

Na', pont ez az, amiért én hozzá sem kezdek .... :)

Nagyjából összeírtam egyik nap, hogy miket változtattam a jelenlegi 3.0.xx-es fórumon, ahol a barátaimnak segédkezek a fórumozási élmény javításában.
Már félúton elszörnyűlködtem azon, hogy több a módosított fájl a fórum motorban, mint az eredeti.
Aztán kiderült, hogy a telepített közel 17 db. eredeti phpBB MOD mellett (amiket javarészt szintén átírtam egy-két helyen), van már fenn legalább 50 db. jelentősebb egyéni újítás - módosítás (a sok apróságról nem is beszélve).

Szerinted mennyi eséllyel vághatnék bele egy 3.2.xx verzióba???? :D :D :D

Már több alkalommal is bele vágtam az új rendszer átvizslatásába, de valahogy én mindig oda lyukadtam ki, hogy ez az egész, úgy, ahogy van, technikailag nagyon jó, de ha valamit egyélnileg szeretnél változtatni, vagy újítani, nagyon sok (számomra is) értelmetlennek látszó, agyon bonyolított megoldásokat kellene alkalmazni.

Számomra az a legelkeserítőbb ebben, hogy bár én sem vagyok egy nagy php guru, de a phpBB fórumokat működtető felhasználók legalább a fele (vagy még több) annyit sem ért hozzá, mint én.
A phpBB 3.0.xx-nél elegendő volt egy kis HTML - CSS ismeret ahhoz, hogy legalább egy kicsit egyénire változtassad a fórumod. De lassan már egyszerű színt, vagy egy kis formát sem lehet változtatni benne anélkül (egyszerű adatok átviteléről már nem is beszélve), hogy legalább közép fokon ne ismernéd a php-t, ne legyél jártatos a a kapcsolódó dolgokban is.
Pedig a phpBB fórumot működtető felhasználóknak éppen ez volt a vonzó, hogy viszonylag kevés ismerettel is tudták egyénire alakítani a fórumukat.
Ezeknek az embereknek az 1%-a sem fogja azért megtanulni ezt a programozási rendszert, hogy csak azért is phpBB fórumot működtessen, ez az új fórum motor brutális gyorsan el fog felejtődni .... :(

Felhasználó profiljának megtekintése Privát üzenet küldése Email küldése Felhasználó weblapjának megtekintése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 2:00
Hozzászólások: 814
Hozzászólás Elküldve: 2017.03.28. 16:01    Hozzászólás témája:
Hozzászólás az előzmény idézésével
A gondom az, hogy valójában semmilyen más könyv, leírás, útmutató nem érhető el azon kívül, mint ami a főoldalon van. Oké, szép alapok, de például ott van ez a nyelvi rész, amivel legutóbb vacakoltam. Oké, írja, hogy ezt a sort beteheted bármelyik functionbe és megy, de ez nem így van. Mert ugye előtte még tuti kell valami, amire nem tér ki. És én meg csak pislogok. Szóval egy olyan, hogy "Ha többnyelvesíteni szeretnél, akkor ezt ide, ezt oda és ezt amoda kell betenni és voilá". Vagy: "ha szeretnél egy sablonváltozót készíteni, akkor ez és ez kell hozzá, mert ezen és ezen a változón megy át". Tehát ilyen.

A minta persze sok lépésen átvisz, de csak egy minta, nem többféle. Például semmilyen leírás nincs az adatbázis migráció paraméterezéséhez. Csak hasraütésre találtam ki, miről lehet szó.
A másik ez a template dolog. Miért nem lehet hookot készíteni a template változókhoz? Miért kell külön paraméterben betölteni a helpert (fene se találta volna ki, hogy az is kell például a nyelvesítéshez), vagy a userbe kell megadni a nyelvi hivatkozást. Tehát nekem ezek nem voltak logikusak.

A többi esetben viszont szépen megvan a hook és a metódusok:
- vedd le a jelenlegi tömböt változóba,
- hozz egy másik tömböt létre a saját cuccoknak
- fűzd össze a két tömböt és kész.
Ez hót egyszerű, Józsi néni is megérti. Az már más kérdés, hogy három helyen kell belenyúlni, hogy egy paramétert végül letároljak, de ez már az én dolgom.

Az is jó, hogy ki lehet nyomozni a régi adatok alapján, hová kell belenyúlni, én így csináltam:
- régi mod elővesz, megnézem, hol írtam hozzá
- új kódban a fájl elővesz és kikeresem ugyanazt a pontot
- megnézem, hogy mi is az ehhez tartozó hook az új fájlban
- azt felveszem a saját listenerhez és az előbb leírt három lépéssel hozzácsapom a tömbhöz a változóim és mindenki örül.

Legalábbis az egyszerű modoknál. A többinél lehet nyomozni az acme alapján. Aztán vagy sikerrel jársz vagy kútfő és net kombó. Mindenesetre az egyik modom sikerült most átírnom két nap alatt, mire rájöttem a trükkre és hogy a sablon temlpate tömbjét máshogy kell megcímezni (a régi extensionjeim most nem voltak kéznél és ott még inkább vakon tapogatóztam).
Most egy olyan mod átírása jön, amit alapjaiban, végülis nulláról írok át, szóval ha ez is menni fog, akkor már jöhetnek a keményebb kihívások. Amúgy nekem is vagy 40 féle módosításom van egy oldalon, szóval amit már más átírt az jó lesz, innentől maradnak a sajátok.

Felhasználó profiljának megtekintése Privát üzenet küldése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 2:00
Hozzászólások: 814
Hozzászólás Elküldve: 2017.03.29. 07:00    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Csak egy kérdés: Nincs meg valakinek a Topic Password 2.1.0 verziója? :roll: Sajnos a 3.0-ás fórumokat lezárták, ott nem tudok kérdezni, és az eredeti link nem megy, máshol meg nem találtam :( Persze írtam a szerzőnek is, de január óta nem volt fent, szóval elég kétesélyes...
Előre is kösz!

Felhasználó profiljának megtekintése Privát üzenet küldése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 2:00
Hozzászólások: 814
Hozzászólás Elküldve: 2017.03.29. 12:28    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Szintet lépek: amíg nincs meg a Topic Password 2.1.0, addig az eggyel korábbit próbálom átültetni (2.0.1). Ennek előnye, hogy már AutoMOD-os volt, tehát elvileg "csak" be kellene passzintani a megfelelő helyre a megfelelő kódokat és kész.
De nem eszik olyan forrón a kását! Van egy function blokk, amit a function.php-ba kellene betenni. Viszont komplett funkciót még nem pakoltam be sehová. A kérdés tehát az, hogyan tudok egy komplett funkció blokkot betenni mindenestül a function.php-ba? :roll:
Listenerrel kell vagy ott már kell a config állomány tehát ami a custom page-hez való (ugyanis egy új lap is bejön a funkció kimenetelétől függően)? Viszont ezt a custom_page-t valójában nem lehetne menüből elérni...

Felhasználó profiljának megtekintése Privát üzenet küldése
Ragadozo
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.05.08. Csütörtök 19:26
Hozzászólások: 638
Hozzászólás Elküldve: 2017.03.29. 13:24    Hozzászólás témája:
Hozzászólás az előzmény idézésével

Mykee írta:

Csak egy kérdés: Nincs meg valakinek a Topic Password 2.1.0 verziója? :roll: Sajnos a 3.0-ás fórumokat lezárták, ott nem tudok kérdezni, és az eredeti link nem megy, máshol meg nem találtam :( Persze írtam a szerzőnek is, de január óta nem volt fent, szóval elég kétesélyes...
Előre is kösz!
Ezt egyébként én sem értem! :(
Mintegy 10 év alatt tucatszám jöttek a nagyon jó, jó, kevésbé jó MOD-ok a 3.0.xx verzióhoz, bőségesen lehetett válogatni.
Most meg egy ideje mindenhol látványosan ledaráltak mindent, ami a 3.0.xx-el kapcsolatos volt.

Én ezt nem értem! Ez valami divat-betegség???? :(

Felhasználó profiljának megtekintése Privát üzenet küldése Email küldése Felhasználó weblapjának megtekintése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 2:00
Hozzászólások: 814
Hozzászólás Elküldve: 2017.03.29. 13:34    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Szerintem idő és érdeklődés hiányában. Manapság más platformok a divatosak, már nem éri meg ennyit belehúzni egy fórumba. Legtöbben már csak az alap funkciókat használják és kész. :cry:
Bevallom, ha nem lenen kényszer egy részről a fejlesztés, már nem csinálnám :D

Felhasználó profiljának megtekintése Privát üzenet küldése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 2:00
Hozzászólások: 814
Hozzászólás Elküldve: 2017.03.29. 15:49    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Tovább szenvedek a funkció beszúrásával. Végül a listenerbe tettem, mert ott hívom meg, viszont ott nem hajlandó az oldal betöltésére. Erre sorra hibát dob:

Kód:

$this->template->set_filenames(array(
            'body'=> 'login_topic.html'
      ));

A funkció maga így néz ki, amit nem hiszem, hogy controllerbe kellene tenni, bár ki tudja? Önálló oldalként nem akarom ezt meghívni, csak ha a feltétel fennáll:

Kód:

public function login_topic_box($topic_data)
   {
      global $db, $config, $user, $template, $phpEx, $table_prefix, $phpbb_root_path;
      
      define('TOPICS_ACCESS_TABLE',$table_prefix . 'topics_access');

      $password = $this->request->variable('password', '', true);

      $sql    = 'SELECT topic_id
      FROM ' . TOPICS_ACCESS_TABLE . '
      WHERE topic_id = ' . $topic_data['topic_id'] . '
      AND user_id = ' . $user->data['user_id'] . "
      AND session_id = '" . $db->sql_escape($user->session_id) . "'";      
      $result = $db->sql_query($sql);
      $row    = $db->sql_fetchrow($result);
      $db->sql_freeresult($result);

      if($row){
         return true;
      }

      if($password){
         // Remove expired authorised sessions
         $sql    = 'SELECT t.session_id
         FROM ' . TOPICS_ACCESS_TABLE . ' t
         LEFT JOIN ' . SESSIONS_TABLE . ' s ON (t.session_id = s.session_id)
         WHERE s.session_id IS NULL';
         $result = $db->sql_query($sql);

         if($row = $db->sql_fetchrow($result)){
            $sql_in = array();
            do
            {
               $sql_in[] = (string) $row['session_id'];
            }
            while($row = $db->sql_fetchrow($result));

            // Remove expired sessions
            $sql = 'DELETE FROM ' . TOPICS_ACCESS_TABLE . '
            WHERE ' . $db->sql_in_set('session_id', $sql_in);
            $db->sql_query($sql);
         }
         $db->sql_freeresult($result);

         if($password == $topic_data['topic_password']){
            $sql_ary = array(
               'topic_id'  => (int) $topic_data['topic_id'],
               'user_id'   => (int) $user->data['user_id'],
               'session_id'=> (string) $user->session_id,
            );

            $db->sql_query('INSERT INTO ' . TOPICS_ACCESS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));

            return true;
         }

         $this->template->assign_var('LOGIN_ERROR', $user->lang['WRONG_PASSWORD']);
      }

      page_header($this->user->lang['LOGIN']);

      $this->template->assign_vars(array(
            'FORUM_NAME'     => $topic_data['forum_name'],
            'TOPIC_TITLE'    => $topic_data['topic_title'],
            'S_LOGIN_ACTION' => build_url(array('t')),
            'S_HIDDEN_FIELDS'=> build_hidden_fields(array('t' => $topic_data['topic_id']))
         ));

      $this->template->set_filenames(array(
            'body'=> 'login_topic.html'
      ));
      
      make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
      page_footer();
   }


Valakinek valami ötlete, hogy miért akad le ilyen hibával a cucc? Miért nem találja meg a tenmplate mappájában? Vagy hogyan lehet behívni az extension mappájából a template-et?

Kód:


Fatal error: Uncaught Twig_Error_Loader: Unable to find template "login_topic.html" (looked into: D:\xampp7\htdocs\phpBB3dev\styles\prosilver\template, D:\xampp7\htdocs\phpBB3dev\styles\prosilver\theme, D:\xampp7\htdocs\phpBB3dev\styles\all\template). in D:\xampp7\htdocs\phpBB3dev\vendor\twig\twig\lib\Twig\Loader\Filesystem.php:215 Stack trace: #0 D:\xampp7\htdocs\phpBB3dev\phpbb\template\twig\loader.php(135): Twig_Loader_Filesystem->findTemplate('login_topic.htm...') #1 D:\xampp7\htdocs\phpBB3dev\vendor\twig\twig\lib\Twig\Loader\Filesystem.php(139): phpbb\template\twig\loader->findTemplate('login_topic.htm...') #2 D:\xampp7\htdocs\phpBB3dev\vendor\twig\twig\lib\Twig\Environment.php(312): Twig_Loader_Filesystem->getCacheKey('login_topic.htm...') #3 D:\xampp7\htdocs\phpBB3dev\vendor\twig\twig\lib\Twig\Environment.php(378): Twig_Environment->getTemplateClass('login_topic.htm...', NULL) #4 D:\xampp7\htdocs\phpBB3dev\phpbb\template\twig\environment.php(243): Twig_Environment->loadTemplate('login_topic.htm...', NULL) #5 D:\xam in D:\xampp7\htdocs\phpBB3dev\vendor\twig\twig\lib\Twig\Loader\Filesystem.php on line 215


A functions.php-ban lévő login_forum_box() funkciót megnéztem, szinte ugyanaz a kettő, kivéve, hogy nem fórumra, hanem topikra keresek, illetve a password managert még nem írtam át. Viszont a gondom az, hogy nem találja a template html állományt a fenti módon... :roll: Hogyan vehetném rá, hogy az extensionben keresse és ne a sima template mappában?

Ui: különben a mod többi része átírásra került és működik, ahogy kell :D Ha ez is megvan, akkor kicsit tovább fejlesztem, mert kell még itt-ott hozzáadni és csiszolni, csak az alap legyen kész.

Update:
A kérdéses blokk helyett próbáltam átadni a controllernek is, de magasról tesz rá:

Kód:

$mainarray = array(
            'FORUM_NAME'     => $topic_data['forum_name'],
            'name' => $topic_data['topic_title'],
            'TOPIC_TITLE'    => $topic_data['topic_title'],
            'S_LOGIN_ACTION' => build_url(array('t')),
            'S_HIDDEN_FIELDS'=> build_hidden_fields(array('t' => $topic_data['topic_id'])),
         );
         
          $this->template->assign_vars($mainarray);
         
         $this->helper->route('mykeehu_topas_controller', $mainarray);

Felhasználó profiljának megtekintése Privát üzenet küldése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 2:00
Hozzászólások: 814
Hozzászólás Elküldve: 2017.03.29. 21:52    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Szerintem találtam megoldást, és ha minden igaz, nem kell a Controller, mert tényleg minek... Holnap kiderül, most nem vagyok kódközelben :) De ha bejön, akkor elvileg kész az alap topic password extension is :)
A sikerességről vagy nem majd ebben a posztban számolok be megszerkesztve, hogy ne foglaljak annyi helyet. :)

--------------
Update 1:
ahogy ígértem, itt a megoldás! :D A html útvonalába be kell írni a @fejlesztő_extension neve/ előtagot és máris jó, avagy:

Kód:


      $this->template->set_filenames(array(
            'body'=> '@mykeehu_topas/login_topic.html',
      ));


Úgyhogy ezennel jelentem: a topic password 2.0.1 modja átírásra került extensionné. Biztonságosabbá tettem, hogy a jelszavakat innentől áttolom a password manageren, így kerülnek letárolásra, de a régi jelszavakat is átengedi, amik még nem voltak biztonságosak. Gondolkodom, hogy azokat is valahogy át kéne kódolnom még telepítéskor, de még nem tudom, hogyan. :) Bár lehet, hogy így hagyom.
Még beépítem a plusz kiegészítéseket és akkor lesz egy kész verzió.

----------------------
Update 2:
No ez is elkészült. Beépítettem, hogy a keresőben ne dobja fel a jelszavas topikokat, a feed ne listázza, hogy kényes téma ne szivárogjon ki. A password manager segítségével telepítéskor átkódolom a korábban beírt, plain text jelszavakat, szóval ezután biztonságosak lesznek (azoknak, akik korábban használták ezt a modot). Persze átvettem azt, hogy admin vagy moderátor jelszó nélkül is beléphet rendet vágni.

A korábban kitett extensionöket majd frissítem és kiteszem az újakat is, ha megvagyok, mert agyalok, hogy nyissak-e githubot és oda hogyan kell vagy privát tárhelyre menjen (ami meg azért baj, ha megszűnik, akkor mi lesz?) :) Szóval ez a végére marad.


No nincs más hátra, jöhetnek az önálló oldalas kiegészítések, ráadásul tök nulláról: a Topiklista fapados megoldását sql alapokra szeretném ültetni, plusz olyan jogosultságokkal, hogy csak azokat lássa, amit szabad neki vagy mindet (admin beállítás kérdése lesz, ezt még kitalálom, csak az alap legyen meg, hogy minden megjelenik csoportosítva). Izgalmas lesz ez is.

Felhasználó profiljának megtekintése Privát üzenet küldése
Ragadozo
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.05.08. Csütörtök 19:26
Hozzászólások: 638
Hozzászólás Elküldve: 2017.03.31. 00:40    Hozzászólás témája:
Hozzászólás az előzmény idézésével

Mykee írta:

.......

A korábban kitett extensionöket majd frissítem és kiteszem az újakat is, ha megvagyok, mert agyalok, hogy nyissak-e githubot és oda hogyan kell vagy privát tárhelyre menjen (ami meg azért baj, ha megszűnik, akkor mi lesz?) :) Szóval ez a végére marad.

.........
És ha itt lenne nyitva egy újabb téma a 3.2.xx-be?
Megoldások, vagy Kiegészítések, vagy "akármilyen néven".
Oda ezeket az apróságokat be lehetne pakolni, és ott akár ki is lehet beszélni, főleg, ha esetleg valakinek van valamilyen jobb ötlete, vagy a meglévő kiegészítése, stb, stb.
Gondolom ez a fórum még pár évig biztos fog futni .... :)

Felhasználó profiljának megtekintése Privát üzenet küldése Email küldése Felhasználó weblapjának megtekintése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 2:00
Hozzászólások: 814
Hozzászólás Elküldve: 2017.03.31. 17:52    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Van 3.2 Kiterjesztések csoport, de oda nem tettem még ki, illetve azért is lenne jobb a GitHubon, mert akkor mások is tovább tudják fejleszteni, illetve a javítás is egyszerűbben publikálható (gondolom). Szóval az majd a végére marad, amikor elvileg megleszek azokkal az extensionökkel, amiket szeretnék. De lehet, hogy közben kiteszem azért valahova, ha esetleg valaki szeretné átnézni, nehogy maradjon benne valami hiba, vagy valamire nem gondoltam. :roll:

Felhasználó profiljának megtekintése Privát üzenet küldése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 2:00
Hozzászólások: 814
Hozzászólás Elküldve: 2017.03.31. 23:30    Hozzászólás témája:
Hozzászólás az előzmény idézésével
No még egy extension van majdnem készen: a topikok listája, amit a régi MOD-dal ellentétben tisztán adatbázis lekérdezéssel hívok le, nem fájlban tárolom. Egy adatbázis lekérés, majd pár foreach és kész a lista. Viszont ezt a műveletet a controllerben készítettem el. Ugye nem baj? :roll:
Gondoltam, hogy esetleg listenerben kellene, de igazából semmi eseményt nem akarok figyelni, csupán a megjeleníteni a listát és ha már megjelenítés, akkor ott van a lekérés is. Mindenesetre így megy, ha mégis át kell pakolnom listenerbe, akkor érdekelne, hogy a sima funkció hogyan hívódik meg és adom át az adatokat a controllernek. Nekem ez utóbbi kissé komplikáltabbnak tűnik, de legyen biztonságos, ha már... :roll:
Úgyhogy szerintem holnap ez is kész lesz, adminból állítható majd a fórumnál, hogy szerepeljen-e a topiklistában, illetve ha a user nem jogosult az olvasásra eleve nem is látszódik majd.

Felhasználó profiljának megtekintése Privát üzenet küldése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 2:00
Hozzászólások: 814
Hozzászólás Elküldve: 2017.04.03. 10:16    Hozzászólás témája:
Hozzászólás az előzmény idézésével
A topiklista elkészült. A controllerben bár kényelmesebb helyen volt a funkció, mert akkor tuti csak azon az oldalon futna végig, de mivel a controller nem arra való, hogy ott funkciókat kérjünk le, így átpakoltam a listenerbe, egy önálló funkcióba a feladatot, majd meghívtam a page_header_after eseményben egy trükkel: ellenőrzöm a page_title-t, ami ha egyezik a nyelvi fájlban lévővel, akkor fusson le a funkció. És így tuti csak a megfelelő oldalon fog dolgozni. :)

A Topic password modba viszont beletettem, hogy a fórumban addig nem tilthatja az admin a jelszóhasználatot, amíg egy topik is használ jelszót. Ez lényeges, mert ha ez a tiltás nem lenne benne, az admin simán kihúzná a jelszót az eddigi topikok alól, ami nem biztos, hogy szerencsés lenne a bennük lévő tartalomra nézve. Bár egyesével ki lehet törölni a jelszót, de akkor legalább a gazdi is dolgozik és benéz a topikokba, hogy biztosan törölni akarja-e? Gondolkodtam egy általános piros gombon is, ami minden jelszót törölne, de az előbbiek miatt ezt inkább nem tettem bele.

Ha pedig már topiklista és Topic password: a kettő kombinációját is megcsináltam, sőt, a Topic Description plugint is támogatom már a topiklistában, szóval minden egyben van :)

A névnap extensiont leporoltam és átraktam az új fejlesztői név alá (mykeehu), szóval amikor majd kiteszem mindet, a régi extensionöket újra kell tenni!

A Disqus extension van még hátra, a Removere (RE: eltávolító) beépülőt nem fogom felújítani, mert azóta az Extension libraryban sokkal egyszerűbb és jobb megoldások születtek, érdemes azokat használni.

Itt egy kép a Topikok listájáról a Topic Password és Topic Description bővítményekkel, plusz Névnap a jobb felső saroknál:
Kép
free image hosting

Felhasználó profiljának megtekintése Privát üzenet küldése
Hozzászólások megtekintése:  

Időzóna: (GMT +2 óra) RSS - hozzászólások
Nem készíthetsz új témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.

Hirdetés
Hirdetés