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

Képek darabszáma

Szerző
Üzenet
Breki
Gyakorló phpBB-s
Gyakorló phpBB-s
Avatar

Csatlakozott: 2011.08.20. Szombat 17:48
Hozzászólások: 73
Hozzászólás Elküldve: 2014.07.30. 15:08    Hozzászólás témája: Képek darabszáma
Hozzászólás az előzmény idézésével
Sziasztok!
Megoldható lenne-e valamilyen módon, hogy a hozzászólásokba illesztett képek darabszámát korlátozni lehessen?
Pont úgy, ahogy pl. AVP-ben megadható a vigyorok, vagy a linkek darabszáma.
Nem feltétel, hogy beállítható legyen AVP-ből, elég, ha fixen be van írva.

Hátha valamelyik php gurunak van ötlete hozzá, mert MOD-ot sajnos nem találtam :(

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 18:26
Hozzászólások: 638
Hozzászólás Elküldve: 2014.07.30. 20:46    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Nem tudom milyen, de talán ez segíthet.
https://www.phpbb.com/community/viewtopic.php?p=4994565#p4994565

Ezzel a leírás szerint szabályozni tudod a hozzászólásban, és az aláírásban elhelyezhető képek számát.

Megnéztem a telepítőjét, nem ma kezdted, neked vagy 10 perc alatt megvan, így megéri kipróbálni. :)
A config táblába kell két sort beszúrni, és csak pár fájlt módosítani.
Ahogy látom, AVP-be be lehet állítani a darabszámot, a limitet a "0" kikapcsolja.

Update:

Felraktam, teszteltem, 3.0.12 alatt is tökéletesen működik! :)
AVP-be beállítottam hozzászólásonként 5. db képre.
Az eredmény:

Kép
.

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

Csatlakozott: 2011.08.20. Szombat 17:48
Hozzászólások: 73
Hozzászólás Elküldve: 2014.07.30. 22:12    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Tökéletes, pont erre van szükségem :)
Fél napig kotorásztam a netet érte, mégsem találtam rá :(

Hálásan köszönöm a segítséged :)

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

Csatlakozott: 2011.08.20. Szombat 17:48
Hozzászólások: 73
Hozzászólás Elküldve: 2014.08.09. 22:30    Hozzászólás témája:
Hozzászólás az előzmény idézésével
A MOD beharangozása után kitört egy kisebb lázadás a fórumon :D
Autós fórum lévén, a saját parkolójába mindenki annyi képet tesz be a hozzászólásokba, amennyit akar, ésszerű keretek mellett. A baj, hogy van aki nem veszi figyelembe a gyengébb net kapcsolattal rendelkezőket, akiknek egy örökkévalóság mire betölt egy-egy ilyen képekkel teli lap.
Eszközöltem egy kisebb változtatást a MOD-on, aminek a finomításában szeretném a segítségeteket kérni.
Az adatbázis FORUMS táblájához hozzáadtam még egy sort 'kepek_szama' névvel, aminek az adatbevitelét AVP-ben megoldottam. Ezzel lesz korlátozható az adott fórum hozzászólásaiban a beilleszthető képek száma.
A posting.php-ba beillesztettem egy lekérdezést, ami ezt az értéket lekérdezi az adott fórum adataiból

Kód:

$sql = 'SELECT forum_id, kepek_szama
         FROM ' . FORUMS_TABLE . "
         WHERE forum_id = $forum_id";
         $result = $db->sql_query($sql);         
         while ($row = $db->sql_fetchrow($result))
         {
         $max_kep = $row['kepek_szama'];
         }

Nem vagyok benne biztos, hogy a while ciklus a legalkalmasabb erre, de kezdő php-s lévén egyenlőre nem találtam jobb megoldást, remélem tudtok jobbat a feladatra.
A $max_kep változót hozzáadtam a message_parser.php számára átadott adatokhoz

Kód:

      $message_parser->parse($post_data['enable_bbcode'], ($config['allow_post_links']) ? $post_data['enable_urls'] : false, .............. $max_kep);


majd a message_parser.php-ben átalakítottam az eredeti MOD-ot

Kód:


// Check number of imgs
      $num_imgs = 0;
      $num_keps = 0;
      if ($allow_bbcode && strpos($this->message, '[') !== false)
      {
         $num_imgs = $this->parsed_items['img'];
         
      }
      
      
      if ($max_kep > 0)
      {
         $num_keps = $this->parsed_items['img'];
         
      
      if ($max_kep && $num_keps > $max_kep)
      {
         $this->warn_msg[] = sprintf($user->lang['TOO_MANY_IMGS'], $max_kep);
         return (!$update_this_message) ? $return_message : $this->warn_msg;
      }   
      }
      if ($max_kep == 0)
      {
         if ($config['max_post_imgs'] && $num_imgs > $config['max_post_imgs'])
      {
         $this->warn_msg[] = sprintf($user->lang['TOO_MANY_IMGS'], $config['max_post_imgs']);
         return (!$update_this_message) ? $return_message : $this->warn_msg;
      }         
      }


Teszt fórumra feltöltve kifogástalanul működik, minden fórumra egyenként beállítható, ha az alapbeállítástól eltérő darabszámú képeket szeretnék engedélyezni az adott fórumban.
Az igazság az, hogy kicsit túllőttem a célon, mert elég lenne, hogy csak a szülő fórum beállításaiban kéne megadni az értéket, ami érvényes lenne az alfórumokra is. Jelenleg minden alfórumban egyenként kell ezt beállítani.
A kérdésem az lenne, hogy hogy kéne módosítani a jelenlegi verziót, hogy elég legyen a szülő fórum beállításaiban megadni a beilleszthető képek darabszámát?



A hozzászólás legutóbb Breki által 2014.08.09. 23:33-kor lett szerkesztve, összesen 1 alkalommal.

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 18:26
Hozzászólások: 638
Hozzászólás Elküldve: 2014.08.09. 23:12    Hozzászólás témája:
Hozzászólás az előzmény idézésével

Breki írta:

...
A posting.php-ba beillesztettem egy lekérdezést, ami ezt az értéket lekérdezi az adott fórum adataiból

Kód:

$sql = 'SELECT forum_id, kepek_szama
         FROM ' . FORUMS_TABLE . "
         WHERE forum_id = $forum_id";
         $result = $db->sql_query($sql);         
         while ($row = $db->sql_fetchrow($result))
         {
         $max_kep = $row['kepek_szama'];
         }
Én valószínű ezt írtam volna (ami szintén lehet, hogy nem a legjobb, vagy legelegánsabb):

Kód:

$sql = 'SELECT forum_id, kepek_szama
         FROM ' . FORUMS_TABLE . '
         WHERE forum_id = ' . (int) $forum_id;
         $result = $db->sql_query($sql);
         $max_kep = (int) $db->sql_fetchfield('kepek_szama'];
      $db->sql_freeresult($result);   

De én már úgy vagyok vele, a lényeg az, hogy megbízhatóan működjön, aztán ha találok jobb, vagy elegánsabb megoldást, akkor legfeljebb kicserélem (ha van kedvem). :)

A másik dologhoz csak annyit tennék hozzá, hogy én hagynám úgy, ahogy most van, sőt én valószínű direkt így csináltam volna.
Minden bizonnyal több munka most átbogarászni az egészet, de egy fórumtémában lehet több alfórum téma, amik közül némelyikbe éppenséggel lehet eltérő darabszámú képigény.
Amennyiben főfórum témára van állítva, az alfórumba már nem tudsz különbséget tenni.
Ha most egyszer mindet megcsinálod, utána már csak néha, alkalomszerűen kell esetleg állítani az értéken, viszont ezt akkor bármelyikben meg tudod csinálni.

Szerintem .... :)



A hozzászólás legutóbb Ragadozo által 2014.08.11. 08:00-kor lett szerkesztve, összesen 1 alkalommal.

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

Csatlakozott: 2007.03.26. Hétfő 5:42
Hozzászólások: 2258
Hozzászólás Elküldve: 2014.08.10. 07:02    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Én először azt nézném meg, hogy nem-e kéri le valamelyik sql a fórum adatait, ha igen akkor csak a SELECT bővíteném ki a kepek_szama oszloppal, hogy ne keljen plusz egy lekérést beépíteni.

Ha muszáj még is a plusz egy lekérés akkor jó amit Ragadozo írt annyi különbséggel, hogy a SELECT-ből kivenném a forum_id mivel az nincs használatban.

Tehát így:

Kód:

$sql = 'SELECT kepek_szama
      FROM ' . FORUMS_TABLE . '
      WHERE forum_id = ' . (int) $forum_id;
$result = $db->sql_query($sql);
$max_kep = (int) $db->sql_fetchfield('kepek_szama');
$db->sql_freeresult($result);


Az ellenőrzéshez meg ezt tenném be:

Kód:

// Check number of imgs
if ($allow_bbcode && $allow_img_bbcode && strpos($this->message, '[') !== false)
{
   $num_imgs  = (int) $this->parsed_items['img'];
   $max_image = ($max_kep) ? $max_kep : $config['max_post_imgs'];

   if ($num_imgs && $max_image && $num_imgs > $max_image)
   {
      $this->warn_msg[] = sprintf($user->lang['TOO_MANY_IMGS'], $max_image);
      return (!$update_this_message) ? $return_message : $this->warn_msg;
   }
}


Persze, ha van több bbcode amivel képet lehet felvenni akkor azt is hozzá adnám.
Pl. nálam van olyan felvéve, hogy simg ami alapból kicsiként teszi be a képet, ha nálatok is van ilyesmi akkor érdemes hozzá adni ezt is.

Pl. keresd ezt:

Kód:

$num_imgs  = (int) $this->parsed_items['img'];


tedd utána ezt:

Kód:

$num_imgs  += (int) $this->parsed_items['simg'];


Természetesen a saját bbcode névvel.



A hozzászólás legutóbb KillBill által 2014.08.11. 06:27-kor lett szerkesztve, összesen 1 alkalommal.

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése MSN Messenger
Breki
Gyakorló phpBB-s
Gyakorló phpBB-s
Avatar

Csatlakozott: 2011.08.20. Szombat 17:48
Hozzászólások: 73
Hozzászólás Elküldve: 2014.08.10. 15:27    Hozzászólás témája:
Hozzászólás az előzmény idézésével
A forum_id-t ha kiveszem a SELECT-ből, akkor Unknown column '$forum_id' in 'where clause' [1054]
hibával kidob. Ragadozó megoldásával tökéletes.
Konkrétan ezt a táblát nem kérdezi le, így kell bele sajnos.

Az ellenőrzés így kifogástalan, köszönöm, ez jóval egyszerűbb, mint amit én találtam ki.
Nálunk is van felvéve [nagykep] névvel ilyen egyéni BB kód, a gond az, hogy hiába adom hozzá azt is, nem működik.

Kód:

$num_imgs  += (int) $this->parsed_items['nagykep'];

egy sima echo $num_imgs sort beillesztve néztem, hogy a változó értéke mindig 0 marad, ha a [nagykep] funkcióval illesztek be képet, [img]-vel szépen számolgat.
A hibajelzést bekapcsolva Undefined index: nagykep hibát jelez.

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

Csatlakozott: 2007.03.26. Hétfő 5:42
Hozzászólások: 2258
Hozzászólás Elküldve: 2014.08.11. 06:24    Hozzászólás témája:
Hozzászólás az előzmény idézésével

Breki írta:

A forum_id-t ha kiveszem a SELECT-ből, akkor Unknown column '$forum_id' in 'where clause' [1054]
hibával kidob.
Igaz elírtam az aposztrófot így helyes

Kód:

$sql = 'SELECT kepek_szama
      FROM ' . FORUMS_TABLE . '
      WHERE forum_id = ' . (int) $forum_id;
$result = $db->sql_query($sql);
$max_kep = (int) $db->sql_fetchfield('kepek_szama');
$db->sql_freeresult($result);


Az előző hsz. is javítottam a lekérdezést.

Breki írta:

Nálunk is van felvéve [nagykep] névvel ilyen egyéni BB kód, a gond az, hogy hiába adom hozzá azt is, nem működik.
Megnéztem és sajnos valóban nem teszi hozzá a $this->parsed_items tömbhöz az egyéni bbcode.

Az egyéni bbcode-hoz további módosításra lenne szükség.

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

Csatlakozott: 2006.07.25. Kedd 1:00
Hozzászólások: 2029
Hozzászólás Elküldve: 2014.08.11. 07:54    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Technikailag nem tudok hozzászólni a dologhoz, de elvekben talán ;)

Miért épp azt a funkciót korlátozod, ami egyébként jól működik, miért nem a másik oldalról fogod meg, és azoknak adsz segítséget, akik gyengébb netkapcsolattal működnek?
Tegyél be egy olyan kapcsolót, ami lehetővé teszi a felhasználók számára, hogy "kikapcsolják" azokat a hozzászólásokat, amikben sok kép van. Legyen nekik egy link, ami meg tudja nyitni (és azesetben le is tölti) a képeket nekik is. Íy a káposzta is megmarad, és a kecske is jóllakik ;)
_________________
Tapasztalást pénzért venni vagy hagyományképpen kapni nem lehet - fizetni kell azért mindég és mindegyiknek.

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

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

_zso2 írta:

....
Miért épp azt a funkciót korlátozod, ami egyébként jól működik, miért nem a másik oldalról fogod meg, és azoknak adsz segítséget, akik gyengébb netkapcsolattal működnek?
Tegyél be egy olyan kapcsolót, ami lehetővé teszi a felhasználók számára, hogy "kikapcsolják" azokat a hozzászólásokat, amikben sok kép van. Legyen nekik egy link, ami meg tudja nyitni (és azesetben le is tölti) a képeket nekik is. Íy a káposzta is megmarad, és a kecske is jóllakik ;)
Az ötlet elvileg jó, csak egy bibi van vele.
A felhasználók túlnyomó többsége nem fog nekilátni hozzászólásonként ezzel szöszmötölni, főleg egy pörgős oldalon, hanem ugyanúgy fog továbbra is mérgelődni (és ebben van némi igazságuk).

De, ha már lúd, legyen kövér. A kettőt össze lehetne vonni.
Csak ex-has egy ötlet:
Ha egy hozzászólásban mondjuk 10 képnél több van berakva, akkor nem hibaüzenetet ad, hanem átírja, és csak linkként jeleníti meg ezeket a hozzászólásban.

Viszont az a helyzet, hogy akkor a jelzett felhasználó(k) egy idő után nem rak 50 képet egy hozzászólásban, hanem csak 10-et, de ír 5 hozzászólást.
Az oldal betöltődésének szempontjából a probléma ettől pedig ugyanott van. :oops: :wink:

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

Csatlakozott: 2011.07.04. Hétfő 16:20
Hozzászólások: 132
Hozzászólás Elküldve: 2014.08.11. 08:55    Hozzászólás témája:
Hozzászólás az előzmény idézésével

_zso2 írta:

Technikailag nem tudok hozzászólni a dologhoz, de elvekben talán ;)

Miért épp azt a funkciót korlátozod, ami egyébként jól működik, miért nem a másik oldalról fogod meg, és azoknak adsz segítséget, akik gyengébb netkapcsolattal működnek?
Tegyél be egy olyan kapcsolót, ami lehetővé teszi a felhasználók számára, hogy "kikapcsolják" azokat a hozzászólásokat, amikben sok kép van. Legyen nekik egy link, ami meg tudja nyitni (és azesetben le is tölti) a képeket nekik is. Íy a káposzta is megmarad, és a kecske is jóllakik ;)
Esetleg másik megközelítésben:

Mi lenne, ha a hozzászólásokban csak egy csökkentet méretű kép jelenne meg, és a képre kattintva megjelenítené a hozzászólás képeit egy LightBox-al?

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

Csatlakozott: 2006.07.25. Kedd 1:00
Hozzászólások: 2029
Hozzászólás Elküldve: 2014.08.11. 13:06    Hozzászólás témája:
Hozzászólás az előzmény idézésével

Ragadozo írta:

Az ötlet elvileg jó, csak egy bibi van vele.
A felhasználók túlnyomó többsége nem fog nekilátni hozzászólásonként ezzel szöszmötölni, főleg egy pörgős oldalon, hanem ugyanúgy fog továbbra is mérgelődni (és ebben van némi igazságuk).
[...]
Ha mindenki a saját profiljában állítja, hogy hány csatolt kép felett akarja "összezárva" látni a hozzászólásokat, akkor nem a feltöltőnek kell ezzel szarakodnia, hanem mindenkinek a saját korlátaival kell tisztában lennie ;)

dzseemy írta:

Mi lenne, ha a hozzászólásokban csak egy csökkentet méretű kép jelenne meg, és a képre kattintva megjelenítené a hozzászólás képeit egy LightBox-al?
Teljesen jó megoldás, ez is!
_________________
Tapasztalást pénzért venni vagy hagyományképpen kapni nem lehet - fizetni kell azért mindég és mindegyiknek.

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

Csatlakozott: 2007.03.26. Hétfő 5:42
Hozzászólások: 2258
Hozzászólás Elküldve: 2014.08.11. 17:22    Hozzászólás témája:
Hozzászólás az előzmény idézésével

_zso2 írta:

dzseemy írta:

Mi lenne, ha a hozzászólásokban csak egy csökkentet méretű kép jelenne meg, és a képre kattintva megjelenítené a hozzászólás képeit egy LightBox-al?
Teljesen jó megoldás, ez is!
+1

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése MSN Messenger
Breki
Gyakorló phpBB-s
Gyakorló phpBB-s
Avatar

Csatlakozott: 2011.08.20. Szombat 17:48
Hozzászólások: 73
Hozzászólás Elküldve: 2014.08.11. 19:10    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Ez a kapcsoló alapból be van építve a phpbb-be :D
a Felhasználói vezérlőpult - Fórumbeállítások - Megjelenítési beállításokban a legelső lehetőség, a képek megjelenítése a hozzászólásban. Ha kikapcsolod csak egy link van helyette. Egy a bibi, ha nem az IMG funkcióval van beillesztve a kép, ugyanúgy megjeleníti.
A képek már alapból kicsiben jelennek meg, mert a bbcode.html-ben átírtam az IMG beállításait erre:

Kód:

<!-- BEGIN img --><a href="{URL}" target="_blank"><img src="{URL}" style="max-width: 150px;" alt="{L_IMAGE}" /></a><!-- END img -->

Gyakorlatilag ugyanaz az eredmény, ami a nagykep bbkóddal beillesztett képekkel, kicsiben jelennek meg, és kattintásra új ablakban megnyílik teljes méretben.
Sajnos valóban úgy van, ahogy Ragadozó mondja, ha akar úgyis 1000 képet fog betenni a hsz-be, de a korlátozással legalább a nagyobb forgalmú fórumokban, témákban fizikailag le tudom tiltani a sok kép beillesztését. A saját, személyes fórumában meg annyit tesz be amennyit akar, max elvitatkozik a gyengébb netesekkel, hogy ők miért nem tudják megnézni amit oda írt :D
Engem alapból nem zavar, ha valaki rengeteg képet pakol bele a mondandójába, mert a 200/50-es net elbír mindent, pedig nem is belső hálón nézem a fórumot, hanem direkt a netről jövő kapcsolattal használom én is, hogy lássam, ha valami gáz van a megjelenítésben.
Sajnos még mindig vannak az országban olyan pontok, ahol még mindig csak mobil stick-es kapcsolat van, pár Mbit, súlyos pénzekért, korlátozott adatforgalommal.


KillBill!
Köszönöm a segítséget, mindjárt kipróbálom a lekérdezést. Valószínűleg megszüntetem a nagykep funkciót, legalábbis kiveszem az egyéni kódok közül, így egyszerűbb. Használják az IMG-t, az eredmény ugyanaz.

Szerk.:
A lekérdezés így tökéletes, még egyszer köszönöm KillBill!

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

Csatlakozott: 2007.03.26. Hétfő 5:42
Hozzászólások: 2258
Hozzászólás Elküldve: 2014.08.11. 20:01    Hozzászólás témája:
Hozzászólás az előzmény idézésével

Breki írta:

A képek már alapból kicsiben jelennek meg, mert a bbcode.html-ben átírtam az IMG beállításait erre:

Kód:

<!-- BEGIN img --><a href="{URL}" target="_blank"><img src="{URL}" style="max-width: 150px;" alt="{L_IMAGE}" /></a><!-- END img -->
Attól, hogy a megjelenítési méretet módosítod attól még nem készül kis kép az eredetiről vagyis a kép mérete MB nem változik!!!

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

Időzóna: (GMT +1 ó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