Страниц (7): « 1 [2] 3 4 5 6 7 »
Найдено сообщений: 102 |
shyuser |
Отправлено: 2 февраля 2013 — 19:04 • Тема: Личные сообщения PHP • Форум: MySQL |
Ответов: 2 Просмотров: 0
|
А при чем здесь скрипт форума ExBB?
В ExBB не используется MySQL и нет файла message-full.php.
Опишите подробнее. |
shyuser |
Отправлено: 2 февраля 2013 — 16:54 • Тема: Нужен ротатор банеров • Форум: Скрипты |
Ответов: 38 Просмотров: 0
|
mastersound пишет:))) А как пользоваться то? Куда вписывать тэги для каждой картинки? Ничего не понимаю, извините...
Извините, думал, что достаточно просто и можно уже было подправить самому.
Вот конкретно под ваше желание
Спойлер (Отобразить)CODE:<div> <!-- Ротатор Банеров по кругу -->
<div id="rotate_banners"></div>
<script type="text/javascript" language="JavaScript">
<!--
banners_img_array = new Array(
"https://bits.wikimedia.org/static-1.21wmf8/skins/common/images/poweredby_mediawiki_88x31.png",
"https://bits.wikimedia.org/images/wikimedia-button.png",
"http://lukoyanov.ru/im/lukoyanov_ru.gif",
"http://www.exbb.org/img/exbb_button.gif"
);
banners_href_array = new Array(
"https://www.mediawiki.org/",
"https://wikimediafoundation.org/",
"http://lukoyanov.ru/",
"http://www.exbb.org/"
);
banners_title_array = new Array(
"Медиавики",
"Википедия - свободная энциклопедия",
"Лукоянов.Ру - сайт о городе Лукоянов и Лукояновском районе",
"Поддержка форумного движка ExBB"
);
var i=1;
var sec = 5000;
banners(i);
function banners(i) {
if(i >= banners_img_array.length){
i=0;
};
document.getElementById("rotate_banners").innerHTML = '<a href="'+banners_href_array[i]+'" target="_blank"><img border="0" src="'+banners_img_array[i]+'" title="'+banners_title_array[i]+'" alt="'+banners_title_array[i]+'"></a>';
i++;
j=i;
var timerId = setTimeout("banners(j)", sec);
return true;
}
//-->
</script>
</div>
В массивах banners_img_array, banners_href_array и banners_title_array по порядку указываются - адрес картинки, ссылка при нажатии на картинку и всплывающая подсказка. |
shyuser |
Отправлено: 2 февраля 2013 — 09:01 • Тема: Нужен ротатор банеров • Форум: Скрипты |
Ответов: 38 Просмотров: 0
|
mastersound пишет:Сорри... А как прописать к картинкам теги alt и tittle ? Это возможно? Можно такой вариант сделать. При этом можно добавить ещё один массив, где будут описаны title и alt.
Спойлер (Отобразить)CODE:<div> <!-- Ротатор Банеров по кругу -->
<div id="rotate_banners"></div>
<script type="text/javascript" language="JavaScript">
<!--
banners_img_array = new Array(
"https://bits.wikimedia.org/static-1.21wmf8/skins/common/images/poweredby_mediawiki_88x31.png",
"https://bits.wikimedia.org/images/wikimedia-button.png",
"http://lukoyanov.ru/im/lukoyanov_ru.gif",
"http://www.exbb.org/img/exbb_button.gif"
);
banners_href_array = new Array(
"https://www.mediawiki.org/",
"https://wikimediafoundation.org/",
"http://lukoyanov.ru/",
"http://www.exbb.org/"
);
var i=1;
var sec = 5000;
banners(i);
function banners(i) {
if(i >= banners_img_array.length){
i=0;
};
document.getElementById("rotate_banners").innerHTML = '<a href="'+banners_href_array[i]+'" target="_blank"><img border="0" src="'+banners_img_array[i]+'" title="'+banners_href_array[i]+'"></a>';
i++;
j=i;
var timerId = setTimeout("banners(j)", sec);
return true;
}
//-->
</script>
</div> |
shyuser |
Отправлено: 31 января 2013 — 17:35 • Тема: Нужен ротатор банеров • Форум: Скрипты |
Ответов: 38 Просмотров: 0
|
Вот пример ротатора баннеров на javascript.
Отличается тем, что баннеры меняются независимо от перезагрузки страницы через указанное время от первого до последнего в цикле.
Спойлер (Отобразить)Скрытый текст:Для просмотра Вам необходимо авторизоваться |
shyuser |
Отправлено: 30 января 2013 — 03:46 • Тема: Общие вопросы • Форум: Общие вопросы |
Ответов: 291 Просмотров: 0
|
jokerhaus.ts9.ru пишет:но фаил footer я не менял какой то другой, подскажите ? ещё есть файл data/counters.php, но лишь для указания кода счетчиков, которые в итоге буду выводиться также в файла footer.tpl на месте строки CODE:{$GLOBALS['fm']->_Counters}
Для коренных изменений дизайна только изменения в файле footer.tpl |
shyuser |
Отправлено: 26 января 2013 — 18:09 • Тема: Смайлы • Форум: Обсуждение |
Ответов: 14 Просмотров: 0
|
shyuser пишет:Если нужно, добавлю описание изменений в файлах.
Следующие изменения (Отобразить)
1. Открываем файл admin\smiles_editcat.tpl и находим строки
CODE: <td class="row2"><input name="newcatdesc" type="text" value="{$descfieldvalue}" maxlength="255" size="40"></td>
</tr>
ниже добавляем строки
CODE: <tr class="genmed">
<td class="row2">{$fm->LANG['MoveBeforeCat']}</td>
<td class="row2">
<SELECT NAME="movebeforecat" title="Если нужно изменить расположение, выберите категорию">
{$smoption}
</SELECT>
</td>
</tr>
2. Открываем файл language\russian\lang_admin_setsmiles.php и находим строку
CODE:$this->LANG['SaveChange'] = 'Сохранить изменения';
ниже добавляем строки
CODE:$this->LANG['MoveBeforeCat'] = 'Поместить перед категорией:';
$this->LANG['CatMoveOk'] = 'Категория успешно перемещена!';
3. Открываем файл setsmiles.php и находим строки
CODE: if ($fm->input['newcatdesc'] == '') {
$fm->_Fclose($fp_sm);
$fm->_Message($fm->LANG['AdminSmiles'],$fm->LANG['CatDescNotSet'],'',1);
}
ниже добавляем строки
CODE: //begin - выбрана категория, помещаем новую категорию перед ней
if ($fm->_Intval('movebeforecat') != 0) {
$sm_newlist = array();//это новый массив - отсортированный
$sm_cats = $sm_list['cats'];//только категории
$sm_smiles = $sm_list['smiles'];//только смайлы
$n = 1;//новая нумерация категорий
foreach ($sm_cats as $catid => $catname) {//прогуляемся по всем категориям
if ($catid == $fm->input['movebeforecat']) {//если та перед которой надо поместить
$newcatid = $n;
$sm_newlist['cats'][$n] = $fm->input['newcatdesc'];
$n++;
};
$sm_newlist['cats'][$n] = $catname;
foreach ($sm_smiles as $code => $smilearray) {
if ($catid === $smilearray['cat']) {
$smilearray['cat'] = $n;
$sm_newlist['smiles'][$code] = $smilearray;
unset($smilearray);
};
};
$n++;
};
$fm->LANG['NewCatAddedOk'] .= '<br/>'.$fm->LANG['CatMoveOk'];//добавляем и отчет о проделаной работе
unset($sm_list);//удаляем старый массив смайлов и их категорий
$sm_list = $sm_newlist;//теперь отсортированный
//end - выбрана категория, помещаем новую категорию перед ней
} else {
//begin - делаем по старому - помещаем категорию в конец
В этом же файле находим ниже строку
CODE:$sm_list['cats'][$newcatid] = $fm->input['newcatdesc'];
и ниже добавляем
CODE: };
//end - делаем по старому - помещаем категорию в конец
В этом же файле чуть ниже находим строки
CODE: $fm->_Message($fm->LANG['AdminSmiles'],$fm->LANG['NewCatAddedOk'],'setsmiles.php?cat='.$newcatid,1);
} else {
$fm->_Fclose($fp_sm);
и добавляем ниже строки
CODE: //begin - список категорий для перемещения текущей
$smoption = '<OPTION VALUE="0" selected> -- Выберите категорию -- </OPTION>';
foreach ($sm_list['cats'] as $catid => $catname) {
//$selected = ($curcatid === $catid) ? ' selected':'';
if ($curcatid != $catid) {
$smoption .= '<OPTION VALUE="'.$catid.'">'.$catname.'</OPTION>';
}
}
//end
В этом же файле находим ниже строки
CODE: $sm_list['cats'][$curcatid] = $fm->input['newcatdesc'];
и добавляем ниже
CODE: //begin - выбрана категория, помещаем категорию перед ней
if ($fm->_Intval('movebeforecat') != 0) {
//begin - перемещаем категорию
$sm_newlist = array();//отсортированный массив
$sm_cats = $sm_list['cats'];
$sm_smiles = $sm_list['smiles'];
$sm_curcat = $sm_cats[$curcatid];
unset($sm_cats[$curcatid]);
$n = 1;
foreach ($sm_cats as $catid => $catname) {
if ($catid == $fm->input['movebeforecat']) {
$new_curcatid = $n;
$sm_newlist['cats'][$n] = $sm_curcat;
foreach ($sm_smiles as $code => $smilearray) {
if ($curcatid === $smilearray['cat']) {
$smilearray['cat'] = $n;
$sm_newlist['smiles'][$code] = $smilearray;
unset($smilearray);
};
};
$n++;
};
$sm_newlist['cats'][$n] = $catname;
foreach ($sm_smiles as $code => $smilearray) {
if ($catid === $smilearray['cat']) {
$smilearray['cat'] = $n;
$sm_newlist['smiles'][$code] = $smilearray;
unset($smilearray);
};
};
$n++;
};
$fm->LANG['CatRenamedOk'] .= '<br/>'.$fm->LANG['CatMoveOk'];
unset($sm_list);
$sm_list = $sm_newlist;
$curcatid = $new_curcatid;
};
//end - выбрана категория, помещаем категорию перед ней
В этом же файле чуть ниже находим строки
CODE: $curcatdesc = $sm_list['cats'][$curcatid];
$hidden = '<input type="hidden" name="action" value="editcat"/>
<input type="hidden" name="cat" value="'.$curcatid.'"/>';
$descfieldvalue = $curcatdesc;
и над ними добавляем строки
CODE: //begin - список категорий для перемещения текущей
$smoption = '<OPTION VALUE="0" selected> -- Выберите категорию -- </OPTION>';
foreach ($sm_list['cats'] as $catid => $catname) {
//$selected = ($curcatid === $catid) ? ' selected':'';
if ($curcatid != $catid) {
$smoption .= '<OPTION VALUE="'.$catid.'">'.$catname.'</OPTION>';
}
}
//end
На этом изменения закончены. |
shyuser |
Отправлено: 26 января 2013 — 16:14 • Тема: Дополнение : отображение репутации в профиле пользователя • Форум: Модификации и дополнения |
Ответов: 15 Просмотров: 0
|
dxman пишет:shyuser пишет:Если необходимо, могу по возможности описать изменения, сделанные в файлах.
Конечно, если Вас не затруднит.
Вывод столбца "Репутация" в списке пользователей.
Сортировка пользователей по репутации.
За основу взята чистая финальная сборка форума.
Подразумевается, что данный модуль у Вас на форуме включен и используется.
Необходимо сделать изменения в следующих файлах:
* include\lib.php
* modules\reputation\frontindex.php
* language\russian\lang_front_tools.php
* setmembers.php
* tools.php
* templates\InvisionExBB\memblist.tpl
* templates\InvisionExBB\memblist_data.tpl
Изменения в файлах (Отобразить)
1. Открываем файл include\lib.php и находим строки
CODE:function sort_by_name($a, $b) {
return strcmp($a['n'], $b['n']);
}
и ниже добавляем строки
CODE:function sort_by_reputation($a, $b) {
if ($a['r'] == $b['r']) {
return 0;
}
return ($a['r'] < $b['r']) ? -1 : 1;
}
2. Открываем файл modules\reputation\frontindex.php и находим строки
CODE: else {
// Изменим численное значение репутации в файле пользователя
$member = $fm->_Read2Write($fp_member, 'members/'.$member['id'].'.php');
if (!isset($member['reputation'])) $member['reputation'] = 0;
if ($fm->input['do'] == 'down') $member['reputation']--;
else $member['reputation']++;
$fm->_Write($fp_member, $member);
и ниже добавляем строки
CODE: // Изменим численное значение репутации для пользователя в data/users.php
$users = $fm->_Read2Write($fp_users, FM_USERS);
$users[$member['id']]['r'] = $member['reputation'];
$fm->_Write($fp_users, $users);
3. Открываем файл language\russian\lang_front_tools.php и находим строки
CODE:$this->LANG['SortByJoin'] = 'По дате регистрации';
и ниже добавляем строки
CODE:$this->LANG['Reputation'] = 'Репутация';
$this->LANG['SortByReputation'] = 'По репутации';
4. Открываем файл setmembers.php и находим строки
CODE: $uid = $match[1];
$userinfo = $fm->_Getmember($uid);
if ($userinfo && !empty($userinfo['name'])) {
$users[$userinfo['id']]['n'] = $fm->_LowerCase($userinfo['name']);
$users[$userinfo['id']]['m'] = $userinfo['mail'];
$users[$userinfo['id']]['p'] = $userinfo['posts'];
и ниже добавляем строку
CODE: $users[$userinfo['id']]['r'] = (!isset($userinfo['reputation']) || $userinfo['reputation'] == '') ? 0:$userinfo['reputation'];
5. Открываем файл tools.php и находим строки
CODE: $users = $fm->_Read(FM_USERS);
switch ($sort) {
case 'p': uasort($users, 'sort_by_post');
break;
case 'n': uasort($users, 'sort_by_name');
break;
и ниже довляем строки
CODE: case 'r': uasort($users, 'sort_by_reputation');
break;
В этом же файле чуть ниже находим строку
CODE: $n_selected = ($sort === 'n') ? ' selected="selected"':''
и под ней добавляем строку
CODE: $r_selected = ($sort === 'r') ? ' selected="selected"':'';
В этом же файле чуть ниже находим строки
CODE: $user['title'] = ($user['title'] != '') ? $user['title']:$status;
$user['joined'] = date("d.m.Y", $user['joined']);
и перед ними добавляем строку
CODE: $user['reputation'] = (!isset($user['reputation']) || $user['reputation'] == '') ? 0:$user['reputation'];
6. Если рассматривать стандартный шаблон, то открываем файл templates\InvisionExBB\memblist.tpl и находим строки
CODE: {$fm->LANG['SortBy']}
</div>
<select name="s" class="dats">
<option value="d"{$d_selected}>{$fm->LANG['SortByJoin']}</option>
<option value="p"{$p_selected}>{$fm->LANG['SortByPost']}</option>
<option value="n"{$n_selected}>{$fm->LANG['SortByName']}</option>
</select>
<select name="order" class="dats">
<option value="ASC"{$ASC_selcted}>{$fm->LANG['SortASC']}</option>
<option value="DESC"{$DESC_selcted}>{$fm->LANG['SortDESC']}</option>
</select>
<input type="submit" name="submit" value="{$fm->LANG['Sorting']}">
</form>
</div>
<br/>
<table width="100%" cellpadding="0" cellspacing="1" class="tableborder">
<tr>
<td class="maintitle" colspan="8"><img src="./templates/InvisionExBB/im/nav_m.gif" border="0" alt=">" width="8" height="8" /> {$fm->LANG['Memberlist']}</td>
</tr>
<tr class="postlinksbar" align="center">
<td width="20%" height="29">{$fm->LANG['Name']}</td>
<td width="15%">{$fm->LANG['Status']}</td>
<td width="15%">{$fm->LANG['PostsTotal']}</td>
<td width="15%">{$fm->LANG['RegedDate']}</td>
<td width="15%">{$fm->LANG['From']}</td>
<td width="8%">E-mail</td>
<td width="8%">WWW</td>
<td width="4%">ICQ</td>
</tr>
{$members_data}
<tr>
<td class="activeuserstrip" align="center" colspan="8"> </td>
и заменяем их строками
CODE: </div>
{$fm->LANG['SortBy']}
<select name="s" class="dats">
<option value="d"{$d_selected}>{$fm->LANG['SortByJoin']}</option>
<option value="p"{$p_selected}>{$fm->LANG['SortByPost']}</option>
<option value="n"{$n_selected}>{$fm->LANG['SortByName']}</option>
<option value="r"{$r_selected}>{$fm->LANG['SortByReputation']}</option>
</select>
<select name="order" class="dats">
<option value="ASC"{$ASC_selcted}>{$fm->LANG['SortASC']}</option>
<option value="DESC"{$DESC_selcted}>{$fm->LANG['SortDESC']}</option>
</select>
<input type="submit" name="submit" value="{$fm->LANG['Sorting']}">
</form>
</div>
<br/>
<table width="100%" cellpadding="0" cellspacing="1" class="tableborder">
<tr>
<td class="maintitle" colspan="9"><img src="./templates/InvisionExBB/im/nav_m.gif" border="0" alt=">" width="8" height="8" /> {$fm->LANG['Memberlist']}</td>
</tr>
<tr class="postlinksbar" align="center">
<td width="20%" height="29">{$fm->LANG['Name']}</td>
<td width="15%">{$fm->LANG['Status']}</td>
<td width="10%">{$fm->LANG['PostsTotal']}</td>
<td width="10%">{$fm->LANG['Reputation']}</td>
<td width="10%">{$fm->LANG['RegedDate']}</td>
<td width="15%">{$fm->LANG['From']}</td>
<td width="8%">E-mail</td>
<td width="8%">WWW</td>
<td width="4%">ICQ</td>
</tr>
{$members_data}
<tr>
<td class="activeuserstrip" align="center" colspan="9"> </td>
7. Если рассматривать стандартный шаблон, то открываем файл templates\InvisionExBB\memblist_data.tpl и находим строку
CODE: <td>{$user['posts']}</td>
и под ней добавляем строку
CODE: <td>{$user['reputation']}</td>
На этом изменения закончены. Если изменения сделаны верно, то в окне пользователей добавится новый столбец Репутация и также возможность сортировке по репутации и по возрастанию и по убыванию. |
shyuser |
Отправлено: 23 января 2013 — 20:55 • Тема: Смайлы • Форум: Обсуждение |
Ответов: 14 Просмотров: 0
|
Вот пример скриншота окна сортировки при редактировании категории смайлов |
shyuser |
Отправлено: 23 января 2013 — 20:14 • Тема: Смайлы • Форум: Обсуждение |
Ответов: 14 Просмотров: 0
|
notani пишет:shyuser пишет:в файле smiles.php данные хранятся в serialized-виде и "ручками" отредактировать проблемно.
Да, я уже понял как это сделать, ручками. Но все равно спасибо. На базе финальной сборки сделал возможность в Админцентре перемещать категории смайлов как при создании категории, так и при её изменении, редактировании.
Для этого нужно заменить оригинальные файлы прикрепленными файлами.
Изменения коснулись файлов:
admin\smiles_editcat.tpl
language\russian\lang_admin_setsmiles.php
setsmiles.php
Это первый вариант. Может кому понадобится.
Возможно можно сделать и проще. Прошу потестировать.
Если нужно, добавлю описание изменений в файлах. |
shyuser |
Отправлено: 22 января 2013 — 07:51 • Тема: Общие ошибки и баги сюда • Форум: Решение проблем |
Ответов: 321 Просмотров: 0
|
notani, найдите в файле profile.php, примерно с 387 строки, строки CODE: if ($fm->user['id'] === 0) {
$fm->_Message($fm->LANG['ProfileEditing'],$fm->LANG['AuthNeed'],'loginout.php');
require('modules/loginza/_profile.php');
} и замените их на CODE: if ($fm->user['id'] === 0) {
$fm->_Message($fm->LANG['ProfileEditing'],$fm->LANG['AuthNeed'],'loginout.php');
}
require('modules/loginza/_profile.php');
Должно помочь. Если поможет, то нужно данное исправление делать и в самой финальной сборке форума. |
shyuser |
Отправлено: 21 января 2013 — 21:08 • Тема: Смайлы • Форум: Обсуждение |
Ответов: 14 Просмотров: 0
|
notani пишет:Я просто не знаю как это сделать в файле smiles.php данные хранятся в serialized-виде и "ручками" отредактировать проблемно. При желании можно в Админке добавить функцию для выбора порядка расположения категории. |
|
Страниц (7): « 1 [2] 3 4 5 6 7 »
|