Ajax chat - smiley probléma
Szerző
Üzenet
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
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.
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.
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
Én ezt kicsit átírtam:
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:
nem sorolom fel mindet, de egyiket sem tudja megállapítani, hogy engedélyezve van-e vagy nem. Ezek honnan kéne kiolvasnia?
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?
E így nem jó
így helyes
A smilies php meghívása ez
A többi bbcode azonosítókat a templatnek kell megadni egyesével
pl
én most itt mindegyiket direktbe engedélyeztem, de megadható neki a config kód is.
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');
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.
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:
és hiányzott ez is:
Persze, hogy nem ment.....
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.
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.....
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.
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.
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.