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

Ajax chat - smiley probléma

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

Csatlakozott: 2007.03.26. Hétfő 5:42
Hozzászólások: 2237
Hozzászólás Elküldve: 2012.01.23. 23:39    Hozzászólás témája:
Hozzászólás az előzmény idézésével
A html kóddal nem érsz semmit, ha a chat.php nem tartalmazza a szükséges php kódokat.

Továbbá a html kódból is hiányzik a nyitó és záró tag.

Így lenne helyes a html kód

Kód:


<!-- BEGIN smiley -->
<a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true); return false;"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" alt="{smiley.SMILEY_CODE}" title="{smiley.SMILEY_DESC}" /></a>
<!-- END smiley -->


de mint írtam csak akkor tudja lepörgetni, ha a php tartalmazza a smiley template adatokat.

ui: attól, hogy a html butítod, attól még a funkciók mennek, kivéve, ha a php van egy ellenőrzés.
_________________
phpBB my addons: phpBB Arcade, [MODDB] phpBB Delete my registration, [RC] phpBB Invite
phpBB my Extensions: [RC] phpBB Arcade, [CDB] phpBB Delete my registration

Játék-világ - KillBill

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: 2012.01.24. 00:50    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Ebben a formában volt beírva, nyitó, záró taggal együtt, de mint ahogy Te is említetted, hiányzik a chat.php-ből a szükséges adat, és nem fut le a generálás.
Alapvető elérési útvonal hibák is vannak benne
Pl. eredetileg így néz ki az eleje

Kód:


define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('chat');

Én ezt kicsit átírtam:

Kód:


define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
include($phpbb_root_path . 'common.' . $phpEx);

$user->add_lang(array('chat', 'viewtopic', 'posting'));

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('chat');

kiegészítettem a nyelvi fájlra vonatkozó sorral is, mert semmit sem volt hajlandó normálisan kiírni (betűszínválasztó, online lista.....)

Amikor a főoldalon fut, akkor honnan veszi az adatokat?
Ha csak a chat van megnyitva, nem a főoldal alján fut, akkor nem látja az engedélyezéseket sem.
Tehát pl. ez sem megy:

Kód:


<!-- IF S_BBCODE_ALLOWED -->
<!-- IF S_BBCODE_QUOTE -->

nem sorolom fel mindet, de egyiket sem tudja megállapítani, hogy engedélyezve van-e vagy nem. Ezek honnan kéne kiolvasnia?

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: 2237
Hozzászólás Elküldve: 2012.01.24. 09:11    Hozzászólás témája:
Hozzászólás az előzmény idézésével
E így nem jó

Idézet:

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
include($phpbb_root_path . 'common.' . $phpEx);

$user->add_lang(array('chat', 'viewtopic', 'posting'));

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('chat');
így helyes

Kód:

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup(array('chat', 'viewtopic', 'posting'));
 


A smilies php meghívása ez

Kód:


generate_smilies('inline', 0);


A többi bbcode azonosítókat a templatnek kell megadni egyesével

pl

Kód:


            $template->assign_vars(array(
               'S_BBCODE_ALLOWED'      => true,
               'S_SMILIES_ALLOWED'      => true,
               'S_BBCODE_IMG'         => true,
               'S_BBCODE_FLASH'      => true,
               'S_BBCODE_QUOTE'      => true,
            ));


én most itt mindegyiket direktbe engedélyeztem, de megadható neki a config kód is.
_________________
phpBB my addons: phpBB Arcade, [MODDB] phpBB Delete my registration, [RC] phpBB Invite
phpBB my Extensions: [RC] phpBB Arcade, [CDB] phpBB Delete my registration

Játék-világ - KillBill

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: 2012.01.24. 13:39    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Az általad említett sorokat keresve átnyálaztam a chat.php-t és döbbenten állapítottam meg, hogy egyáltalán nincs benne, de még hasonló sem.
Végülis meglett a megoldás, ezzel kellett kipótolni:

Kód:


case 'smilies':
       if (!$auth->acl_get('u_as_smilies'))
       {
           as_error($user->lang['NO_SMILIE_PERM']);
      }

      $sql = 'SELECT *
         FROM ' . SMILIES_TABLE .
            ' WHERE display_on_posting = 1
         ORDER BY smiley_order';
      $result = $db->sql_query($sql);
      if ($result)
      {
         $num_smilies = 0;
         $rowset = array();
         $last_url = '';
         
         while ($row = $db->sql_fetchrow($result))
         {
            if ($row['smiley_url'] !== $last_url)
            {
               echo "<smilies>\n
                  <code>" . xml($row['code']) . "</code>\n
                  <img>" . xml($phpbb_root_path . $config['smilies_path'] . '/' . $row['smiley_url']) . "</img>\n
                  <alt>" . xml($row['emotion']) . "</alt>\n
                  </smilies>";
            }
            $last_url = $row['smiley_url'];
         }
         echo '</xml>';
         exit;
      }   
      else
      {
         as_sql_error($sql, __LINE__, __FILE__);
      }
   break;


és hiányzott ez is:

Kód:


//Get the status of the following features
   $bbcode_status   = ($config['allow_bbcode'] && $config['auth_bbcode_pm'] && $auth->acl_get('u_pm_bbcode')) ? true : false;
   $smilies_status   = ($config['allow_smilies'] && $config['auth_smilies_pm'] && $auth->acl_get('u_pm_smilies')) ? true : false;
   $img_status      = ($config['auth_img_pm'] && $auth->acl_get('u_pm_img')) ? true : false;
   $flash_status   = ($config['auth_flash_pm'] && $auth->acl_get('u_pm_flash')) ? true : false;
   $url_status      = ($config['allow_post_links']) ? true : false;

   // Generate smiley listing
   generate_smilies('inline', 0);

   //Assign the features template variable
   $template->assign_vars(array(
      'BBCODE_STATUS'         => ($bbcode_status) ? sprintf($user->lang['BBCODE_IS_ON'], '<a href="' . append_sid("{$phpbb_root_path}faq.$phpEx", 'mode=bbcode') . '">', '</a>') : sprintf($user->lang['BBCODE_IS_OFF'], '<a href="' . append_sid("{$phpbb_root_path}faq.$phpEx", 'mode=bbcode') . '">', '</a>'),
      'IMG_STATUS'         => ($img_status) ? $user->lang['IMAGES_ARE_ON'] : $user->lang['IMAGES_ARE_OFF'],
      'FLASH_STATUS'         => ($flash_status) ? $user->lang['FLASH_IS_ON'] : $user->lang['FLASH_IS_OFF'],
      'SMILIES_STATUS'      => ($smilies_status) ? $user->lang['SMILIES_ARE_ON'] : $user->lang['SMILIES_ARE_OFF'],
      'URL_STATUS'         => ($url_status) ? $user->lang['URL_IS_ON'] : $user->lang['URL_IS_OFF'],            
      'S_COMPOSE_PM'         => true,
      'S_BBCODE_ALLOWED'      => $bbcode_status,
      'S_SMILIES_ALLOWED'      => $smilies_status,
      'S_BBCODE_IMG'         => $img_status,
      'S_BBCODE_FLASH'      => $flash_status,
      'S_BBCODE_QUOTE'      => false,
      'S_BBCODE_URL'         => $url_status,
   ));

   // Build custom bbcodes array
   display_custom_bbcodes();

Persze, hogy nem ment..... :cry:

Amit sikerült kideríteni, hogy a főoldalon csak a shout.php-t használja, amiben ezek benne voltak, viszont ha külön ablakban van megnyitva a chat, akkor a chat.php- t hívja meg.

Így már egész okos kis dumafal lett belőle. Amiket tud:
- Avatar megjelenítése
- Válaszgomb, rang illetve csoportnak megfelelő színnel
- Új témák, hozzászólások jelzése
- Szövegformázás eszköztár
- Emotikonok lenyíló, visszazárható ablakban
- Hangjelzés
Ezek a funkciók mennek prosilver, és subsilver2 alapú sablonokon egyaránt.

Így, hogy tudtam mit keressek, sikerült megtalálni a megoldást.
Hálás köszönetem a segítségért. :)

Felhasználó profiljának megtekintése Privát üzenet küldése
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