Перейти до змісту
Переглянути в додатку

Кращий спосіб перегляду. Дізнатися більше.

IPB-Board.com

Повноекранний додаток на головному екрані з push-сповіщеннями, значками та іншим.

Щоб встановити цей додаток на iOS та iPadOS
  1. Торкніться Піктограма «Поділитися» в Safari
  2. Прокрутіть меню та натисніть Додати на головний екран.
  3. Натисніть Додати у верхньому правому куті.
Щоб встановити цю програму на Android
  1. Натисніть меню з трьома крапками (⋮) у верхньому правому куті браузера.
  2. Натисніть Додати на головний екран або Встановити програму.
  3. Підтвердіть, натиснувши Встановити.

Ciko

Адміністратор
  • Зареєстровано

  • Відвідування

Весь контент Ciko

  1. Как узнать подходит ли хостинг для форума IPB? MySQL 5.x или выше (на сервере должен быть отключен режим STRICT_TRANS_TABLES)Apache 1.4 или вышеВерсия PHP интерпретатора 5.2 или вышеТакже в архиве с форумом вы найдете папку Tools, там находится файл check_requirements.php, залейте его на ФТП и запустите, он проверит подходит ли хостинг для форума.Какие права CHOMD нужно установить? /cache/ 0777/cache/lang_cache/ 0777/cache/lang_cache/1/ 0777/cache/skin_cache/ 0777/cache/tmp/ 0777/public/style_images/ 0777/public/style_css/ 0777/uploads 0777Для корректной работы форума нужно поставить на эти папки соответствующие права CHMOD[/quote]При обновлении форума возникает ошибка связанная с кодировкой Ваша БД должна быть в UTF-8 формате, чтобы перекодировать её, используйте этот скрипт: <?php// Database infoinclude("conf_global.php");$dbhost = $INFO['sql_host'];$dbuser = $INFO['sql_user'];$dbpass = $INFO['sql_pass'];$dbname = $INFO['sql_database'];//---------------header('Content-type: text/plain');$dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die( mysql_error() );$db = mysql_select_db($dbname) or die( mysql_error() );$sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci";$result = mysql_query($sql) or die( mysql_error() );print "Database changed to UTF-8.\n";$sql = 'SHOW TABLES';$result = mysql_query($sql) or die( mysql_error() );while ( $row = mysql_fetch_row($result) ){$table = mysql_real_escape_string($row[0]);$sql = "ALTER TABLE $table DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";mysql_query($sql) or die( mysql_error() );print "$table changed to UTF-8.\n";}mysql_close($dbconn);?>Сохраните его в формате convert.php и запустите по адресу site.com/convert.php При установке форума вылетает белый экран, как быть? В большинстве случаев проблема в требованиях к хостингу, проверьте еще раз соответствует ли хостинг требованиям IPB На 10,11 шаге установки возникает ошибка связанная с кодировкой. Вы создали БД в неправильной кодировке, нужно в utf8_general_ciПосле установки форума у меня появились крякозябры, что делать? В корне форума создайте файл .htaccess с таким содержимымAddDefaultCharset utf-8AddCharset utf-8 *<IfModule mod_charset.c>CharsetSourceEnc utf-8CharsetDefault utf-8</IfModule>Как отключить ЧПУ в IPB? Переходим в файл conf_global.php находим$INFO['use_friendly_urls'] = '1';Заменяем на$INFO['use_friendly_urls'] = '0';Как сменить ссылки на темы с русского на латиницу?Заходим в файл initdata.php и там ищемdefine( 'IPB_USE_SEO_TRANSLIT', FALSE );меняем наdefine( 'IPB_USE_SEO_TRANSLIT', TRUE );При попытке изменить фразу пишет "Невозможно перевести защищенный пакет языков" Чтобы решить данную проблему зайдите в phpMyAdmin и выполните запрос UPDATE core_sys_lang SET lang_protected = 0;
  2. Ciko опублікував тема в 3.4.x
    “Управление” –> “Дополнительные поля профиля” –> “Добавление дополнительного поля”. 2. Прописываем название данного поля, например “Супер защита от ботов”. 3. Составляем описание данного поля: Скопируйте в данное поле цифры с дефисами и без кавычек - “3468-3897-54-913″. Цифры могут быть разными. 4. Ставим тип поля “Однострочное”. 5. Максимальная длина поля: 16. 6. Порядок сортировки: 0. 7. Прописываем формат поля: nnnn-nnnn-nn-nnn. 8. Далее надо поставить вариант “Да” на против двух вопросов: “Это поле обязательно к заполнению?” и “Добавить на страницу регистрации?” 9. Потом ставим отображение поля в сообщении следующим образом {title}: {content}
  3. Ciko опублікував тема в 3.4.x
    Идём по пути: АЦ-Внешний вид-Ваш шаблон-глобальные-quickSearch. Там находим код, в моём случае: <input type='text' id='main_search' name='search_term' class='inactive' size='17' tabindex='6' />Ищите у себя что то подобное..Он там в начале шаблона почти. Перед /> добавляем следующие: x-webkit-speech="" speech="" onwebkitspeechchange="this.form.submit();"То есть в моём случае получилось так: <input type='text' id='main_search' name='search_term' class='inactive' size='17' tabindex='6' x-webkit-speech="" speech="" onwebkitspeechchange="this.form.submit();" />
  4. При копировании текста с сайта добавить в этот текст свою информацию. Другими словами, если кто-то скопирует с вашего сайта текст, скажем, Привет, то при вставке будет что-то вроде Привет Источник: ссылка Решение Нетривиальное. Простейший способ, который работает (что важно). Переходим в АЦ → Внешний вид → ваш стиль Открываем шаблон globalTemplate. Почти в самом начале ищем: //<![CDATA[jsDebug = {parse expression="intval($this->settings['_jsDebug'])"}; /* Must come before JS includes */USE_RTE = 1;DISABLE_AJAX = parseInt({$this->settings['disable_text_ajax']}); /* Disables ajax requests where text is sent to the DB; helpful for charset issues */inACP = false;var isRTL = false;var rtlIe = '';var rtlFull = '';//]]></script>Ниже вставляем: <script type="text/javascript">//<![CDATA[function addLink() {var eBody = document.getElementsByTagName('body')[0];var selection = window.getSelection();// Вы можете изменить текст в этой строчкеvar info = "Источник: <a href='"+document.location.href+"'>"+document.location.href+"</a>";var copytext = selection + info;var newdiv = document.createElement('div');newdiv.style.position = 'absolute';newdiv.style.left = '-99999px';eBody.appendChild(newdiv);newdiv.innerHTML = copytext;selection.selectAllChildren(newdiv);window.setTimeout( function() { eBody.removeChild(newdiv);}, 0);}document.oncopy = addLink;//]]></script>Сохраняем. В строчке var info = "Источник: <a href='"+document.location.href+"'>"+document.location.href+"</a>";можете написать любой свой текст. document.location.hrefзаменится на страницу, с которой текст был скопирован.
  5. Ciko опублікував тема в 3.3.x
    Глобальные --> globalTemplate Находим: <body id='ipboard_body'>Ниже вставляем: <script type="text/javascript">theTime = new Date();theHour = theTime.getHours();theMinute = theTime.getMinutes();if(theHour>=9&&theHour<=17){document.body.style.cssText = "background: #59b0ee url('__ipb-board.com/public/style_images/ваш_стиль/_backgrounds/bg1.jpg') top center repeat-x";}else if(theHour>6&&theHour<9){document.body.style.cssText = "background: #26abf6 url('__ipb-board.com/public/style_images/ваш_стиль/_backgrounds/bg2.jpg') top center repeat-x";}else if(theHour>17&&theHour<21){document.body.style.cssText = "background: #26abf6 url('__ipb-board.com/public/style_images/ваш_стиль/_backgrounds/bg3.jpg') top center repeat-x";}else{document.body.style.cssText = "background: #155e87 url('__ipb-board.com/public/style_images/ваш_стиль/_backgrounds/bg4.jpg') top center repeat-x";}</script>если ваше время: - больше или равно 9 и меньше или равно 17 - устанавливается bg1.jpg из папки _backgrounds - больше 6 и меньше 9 - устанавливается bg2.jpg из папки _backgrounds - больше 17 и меньше 21 - устанавливается bg3.jpg из папки _backgrounds - в остальное время - устанавливается bg4.jpg из папки _backgrounds Не забудьте загрузить сами фоновые изображения в папку _backgrounds вашего стиля! А так же не забудьте поменять в коде http://ipb-board.com/на адрес Вашего сайта /ваш_стиль/
  6. Описание: По стандарту, смайлики в статусах пользователей на главной странице запрещены. То есть, они вообще никак не обрабатываются. Чтобы задействовать их, необходимо открыть файл ./admin/sources/classes/member/status.php Найти: $statuses[ $row['status_id'] ] = $row;Добавить выше: $row['status_content'] = IPSText::getTextClass( 'bbcode' )->preDisplayParse( IPSText::getTextClass( 'bbcode' )->preDbParse( $row['status_content'] ) );
  7. Данная модификация позволит отображать ID (номер) пользователя в информации его профиля. Заходим в: Админцентр > Внешний вид > Ваш стиль > userInfoPane Находим: <li class='post_count desc lighter'> {parse expression="$this->registry->getClass('class_localization')->formatNumber( intval( $author['posts'] ) )"} {$this->lang->words['m_posts']} </li> </if> </ul>Вставляем перед </ul>: <span class="post_count desc lighter">Пользователь №{$author['member_id']}</span>
  8. Заходим в: Админцентр > Внешний вид ˃ Ваш шаблон ˃ Темы ˃ post Находим: <li class='report'> <a href="{$this->settings['base_url']}app=core&module=reports&section=reports&do=show_report&rid={$this->memberData['_cache']['report_temp']['post_marker']['post'][$post['post']['pid']]['info']['id']}" id='post-report-{$post['post']['pid']}' class='ipbmenu'> <span id="rstat-{$this->memberData['_cache']['report_temp']['post_marker']['post'][ $post['post']['pid'] ]['info']['id']}"><img src="{$this->settings['img_url']}/reports/post_alert_{$this->memberData['_cache']['report_temp']['post_marker']['post'][$post['post']['pid']]['gfx']}.png" alt="" /></span> </a> </li> </if> </if>Ниже добавляем: <if test="replyButton:|:$post['post']['_canReply']"> <li style='position:absolute;'><a class='ipsButton_secondary' onmouseover="copyQ('{$post['author']['members_display_name']}', '{$post['post']['pid']}');" href="javascript:ins('{$post['author']['members_display_name']}')">Вставить ник или выделенный текст</a></li> </if>Заходим в: Админцентр > Внешний вид ˃ Ваш шаблон ˃ Темы ˃ topicViewTemplate Находим: <script type='text/javascript'> ipb.topic.fastReplyId = '{$this->settings['_lastEditorId']}';Ниже добавляем: function copyQ( qinf, pid ) { txt=''; if (window.getSelection) { txt=window.getSelection(); } else if (document.selection) { txt=document.selection.createRange().text; } if (txt != "") { txt='[quote name="'+qinf+'" post="'+pid+'"]'+txt+'; } } function ins( name ) { editor = ipb.textEditor.getEditor( ipb.topic.fastReplyId ) if (txt!= "") { editor.insert( txt, true ); } else { editor.insert( "[member="+name+"],", true ); } }
  9. В боковой панеле форума IP.Board отображается дополнительный блок под названием Последние темы. Заголовки последних тем отображаются полность, если у темы длинный заголовок, строка перенесётся на следующую.. Если сократить количество отображаемых символов в заголовках тем в блоке Последние темы, вид блока будет выглядеть намного приятнее.. Для этого необходимо открыть шаблон hookRecentTopics в Список форумов. Находим строку: {$r['topic_title']}Заменяем на: {parse expression="IPSText::truncate( $r['topic_title'], XX)"}Где XX - количество знаков. В примере на скриншоте XX равно 35.
  10. Ciko опублікував тема в 3.3.x
    Заходим в: Админцентр > Внешний вид > Управление стилями и шаблонами > Управление шаблонами > Управление шаблонами и CSS > Темы > post Находим: <li class='report'><a href='{parse url="app=core&module=reports&rcom=post&tid={$this->request['t']}&pid={$post['post']['pid']}&st={$this->request['st']}" base="public"}'>{$this->lang->words['report']}</a></li>Заменяем на: <if test="noselfreport:|:$post['author']['member_id'] != $this->memberData['member_id']"><li class='report'><a href='{parse url="app=core&module=reports&rcom=post&tid={$this->request['t']}&pid={$post['post']['pid']}&st={$this->request['st']}" base="public"}'>{$this->lang->words['report']}</a></li></if>
  11. По-умолчанию в IP.Board 3.2.x на главной странице отображается только пять последних изменений статусов пользователей, благодаря этой статье, вы научитесь изменять их кол-во. Заходим в корневую директорию форума (ФТП): Открываем файл conf_global.php Находим: $INFO['status_sidebar_show_x'] = '5';Значение '5' изменяем на свое.
  12. При обновлении форума до версии 3.3.x, у многих в навигации стало по две вкладки Форумы и Пользователи. Для исправления этого нам потребуется изменить шаблона globalTemplate, находим: {parse variable="forumActive" default="" oncondition="IPS_APP_COMPONENT == 'forums'" value="active"}{parse variable="membersActive" default="" oncondition="IPS_APP_COMPONENT == 'members'" value="active"}{parse variable="helpActive" default="" oncondition="IPS_APP_COMPONENT == 'core' AND $this->request['module'] == 'help'" value="active"}<if test="!ipsRegistry::$applications['forums']['app_hide_tab'] && !count(ipsRegistry::$applications['forums']['app_tab_groups']) && !IPSMember::isInGroup( $this->memberData, ipsRegistry::$applications['forums']['app_tab_groups'] )"><li id='nav_discussion' class='left {parse variable="forumActive"}'><a href='{parse url="act=idx" seotitle="false" base="public"}' title='{$this->lang->words['go_to_discussion']}'>{IPSLib::getAppTitle( 'forums' )}</a></li></if><if test="!ipsRegistry::$applications['members']['app_hide_tab'] && !count(ipsRegistry::$applications['members']['app_tab_groups']) && !IPSMember::isInGroup( $this->memberData, ipsRegistry::$applications['members']['app_tab_groups'] )"><li id='nav_members' class='left {parse variable="membersActive"}'><a href='{parse url="app=members&module=list" base="public" template="members_list" seotitle="false"}' title='{$this->lang->words['go_to_memberlist']}'>{IPSLib::getAppTitle( 'members' )}</a></li></if><if test="applicationsloop:|:is_array($header_items['applications']) AND count($header_items['applications'])"> <foreach loop="applications:$header_items['applications'] as $data"> <if test="showingapp:|:$data['app_show']"> {parse variable="appActive" default="" oncondition="$data['app_active']" value="active"} <li id='nav_app_{$data['app_dir']}' class="left {parse variable="appActive"}"><a href='{parse url="{$data['app_link']}" seotitle="false" base="public"}' title='{parse expression="sprintf( $this->lang->words['go_to_prefix'], IPSLib::getAppTitle($data['app_dir']) )"}'>{IPSLib::getAppTitle($data['app_dir'])}</a></li> </if> </foreach></if>Заменить на: <if test="hasCustomPrimaryNavigation:|:!empty($header_items['primary_navigation_menu'])"> {$header_items['primary_navigation_menu']}<else /> <if test="applicationsloop:|:is_array($header_items['applications']) AND count($header_items['applications'])"> <foreach loop="applications:$header_items['applications'] as $data"> <if test="showingapp:|:$data['app_show']"> {parse variable="appActive" default="" oncondition="$data['app_active']" value="active"} <li id='nav_app_{$data['app_dir']}' class="left {parse variable="appActive"}"><a href='{parse url="{$data['app_link']}" seotitle="{$data['app_seotitle']}" template="{$data['app_template']}" base="{$data['app_base']}"}' title='{parse expression="sprintf( $this->lang->words['go_to_prefix'], IPSLib::getAppTitle($data['app_dir']) )"}'>{IPSLib::getAppTitle($data['app_dir'])}</a></li> </if> </foreach> </if></if>
  13. Этот баг разработчики исправили в новой версии IP.Downloads, которая пока ещё не вышла.. Для исправления этого бага нужно отредактировать файлик category.php, который находится по пути: admin/applications_addon/ips/downloads/modules_public/displНайти Найти код: $this->DB->execute(); while( $row = $this->DB->fetch() )И заменить его на: $res = $this->DB->execute(); while( $row = $this->DB->fetch( $res ) )
  14. При просмотре определенного форума, если нажать на "Загрузить следующие темы", то зачастую следующие темы будут дублироваться с той страницы, на которой вы находитесь. Данная статья поможет вам исправить это. Заходим в: Админцентр > Внешний вид > Ваш стиль > Список тем форума > forumIndexTemplate Находим: <script type='text/javascript'>ipb.forums.fetchMore = {'f': parseInt("{$this->request['showforum']}") ,'st': parseInt("{$this->request['st']}"),'sort_by': "{$this->request['sort_by']}",'sort_key': "{$this->request['sort_key']}",'topicfilter': "{$this->request['topicfilter']}",'prune_day': "{$this->request['prune_day']}"};</script>Заменяем на: <script type='text/javascript'>ipb.forums.fetchMore = {'f': parseInt("{$this->request['showforum']}") ,'st': parseInt("{$this->request['st']}"),'sort_by': "{$this->request['sort_by']}",'sort_key': "{$this->request['sort_key']}",'topicfilter': "{$this->request['topicfilter']}",'prune_day': "{$this->request['prune_day']}",'max_topics': "{$this->settings['display_max_topics']}"};</script>
  15. На многих стилях бывает случается так, что вид у быстрого просмотра сообщений, корявый. Сейчас мы это исправим. Заходим в: Админцентр > Внешний вид > Управление стилями и шаблонами > Управление шаблонами > Прочие > inboxList Найти: <ul class="ipsList_withminiphoto">Добавить перед: <br />
  16. У многих после перехода на версию 3.2.3 и при обновлении шаблонов форума, возникает проблема с регистрационной формой. В этой статье мы исправим это. Заходим в: Админцентр > Внешний вид > Управление стилями и шаблонами > Управление шаблонами > Управление шаблонами и CSS > Регистрация > registerForm Заменяем весь код на этот: {parse js_module="register"}<script type='text/javascript'>//<![CDATA[ipb.register.inSection = "mainform";ipb.register.nameMaxLength = "{$this->settings['max_user_name_length']}";ipb.register.allowedChars = "{$this->settings['username_characters']}";ipb.templates['accept'] = " <span id='[id]_msg' class='reg_msg reg_accept' style='display: none'><img src='{$this->settings['img_url']}/accept.png' alt='' /> [msg]</span>";ipb.templates['error'] = " <span id='[id]_msg' class='reg_msg reg_error' style='display: none'><img src='{$this->settings['img_url']}/exclamation.png' alt='' /> [msg]</span>";//]]></script><div id='register_form'><!--<h1 class='ipsType_pagetitle'>{$this->lang->words['ready_register']}</h1>-->{parse template="registerStepBar" group="register" params="array('register_form' => 'ipsSteps_active', 'confirmation' => '')"}<if test="registerHasErrors:|:is_array( $general_errors ) && count( $general_errors )"><div class='message error'> {$this->lang->words['following_errors']} <ul> <foreach loop="general_errors:$general_errors as $r"> <li>{$r}</li> </foreach> </ul></div><br /></if><form action="{parse url="app=core&module=global&section=register" base="public"}" method="post" name="REG" id='register'> <input type="hidden" name="termsread" value="1" /> <input type="hidden" name="agree_to_terms" value="1" /> <input type="hidden" name="do" value="process_form" /> <input type="hidden" name="coppa_user" value="{$data['coppa_user']}" /> <input type='hidden' name='nexus_pass' value='1' /> <input type='hidden' name='time_offset' id='auto_time_offset' value='0' /> <input type='hidden' name='dst' id='auto_dst' value='0' /> <h1 class='maintitle'> {$this->lang->words['ready_register']} </h1> <div class='ipsBox'> <div class='ipsBox_container ipsPad'> <if test="registerServices:|:IPSLib::fbc_enabled() || IPSLib::twitter_enabled() === true"> <div class='ipsBox_container ipsBox_notice ipsForm ipsForm_horizontal' id='external_services'> <strong class='ipsField_title' id='save_time'>{$this->lang->words['want_to_save_time']}</strong> <div class='ipsField_content'> <ul class='ipsList_inline'> <if test="registerUsingFb:|:IPSLib::fbc_enabled()"> <li><a href="{$this->settings['_original_base_url']}/interface/facebook/index.php?_reg=1"><img src="{$this->settings['img_url']}/facebook_login.png" alt="" /></a></li> </if> <if test="twitterBox:|:IPSLib::twitter_enabled() === true"> <li><a href="{$this->settings['_original_base_url']}/interface/twitter/index.php?_reg=1"><img src="{$this->settings['img_url']}/twitter_login.png" alt="" /></a></li> </if> </ul> </div> </div> </if> <if test="registerHasInlineErrors:|:is_array( $inline_errors ) && ( $inline_errors['username'] || $inline_errors['dname'] || $inline_errors['email'] || $inline_errors['password'] )"> <p class='message error'>{$this->lang->words['reg_errors_found']}</p> <br /> </if> <fieldset> <ul class='ipsForm ipsForm_horizontal'> <li class='ipsField'> <p class='ipsField_content'> <span class='ipsForm_required ipsType_smaller'>* {$this->lang->words['required_field']}</span> </p> </li> <li class='ipsField clear <if test="ieDnameClass:|:$inline_errors['dname']">error</if>'> <label for='display_name' class='ipsField_title'>{$this->lang->words['reg_choose_dname']} <span class='ipsForm_required'>*</span></label> <p class='ipsField_content'> <input type='text' class='input_text' id='display_name' size='45' maxlength='{$this->settings['max_user_name_length']}' value='{$this->request['members_display_name']}' name='members_display_name' /><br /> <span class='desc primary lighter'> <if test="ieDname:|:$inline_errors['dname']"><span class='error'>{$inline_errors['dname']}<br /></span></if> {parse expression="sprintf( $this->lang->words['dname_desc'], $this->settings['max_user_name_length'])"} </span> </p> </li> <li class='ipsField clear <if test="ieEmailClass:|:$inline_errors['email']">error</if>'> <label for='email_1' class='ipsField_title'>{$this->lang->words['reg_enter_email']} <span class='ipsForm_required'>*</span></label> <p class='ipsField_content'> <input type='text' id='email_1' class='input_text email' size='45' maxlength='150' name='EmailAddress' value='{$this->request['EmailAddress']}' /><br /> <if test="ieEmail:|:$inline_errors['email']"><span class='desc'><span class='error'>{$inline_errors['email']}</span></span></if> </p> </li> <li class='ipsField clear <if test="iePasswordClass:|:$inline_errors['password']">error</if>'> <label for='password_1' class='ipsField_title'>{$this->lang->words['reg_choose_password']} <span class='ipsForm_required'>*</span></label> <p class='ipsField_content'> <input type='password' id='password_1' class='input_text password' size='45' maxlength='32' value='{$this->request['PassWord']}' name='PassWord' /><br /> <span class='desc lighter'><if test="iePassword:|:$inline_errors['password']"><span class='error'>{$inline_errors['password']}<br /></span></if>{$this->lang->words['reg_choose_password_desc']}</span> </p> </li> <li class='ipsField clear'> <label for='password_2' class='ipsField_title'>{$this->lang->words['reg_reenter_password']} <span class='ipsForm_required'>*</span></label> <p class='ipsField_content'> <input type='password' id='password_2' class='input_text password' size='45' maxlength='32' value='{$this->request['PassWord_Check']}' name='PassWord_Check' /><br /> </p> </li> </ul> </fieldset> <if test="hasNexusFields:|:!empty( $nexusFields )"> <script type='text/javascript'> var _countriesWithStates = []; <foreach loop="statesJs:$nexusStates as $k => $v"> _countriesWithStates["{$k}"] = 1; </foreach> </script> <hr /> <fieldset> <ul class='ipsForm ipsForm_horizontal'> <foreach loop="fields:$nexusFields as $f"> <if test="isAddressOrPhone:|:in_array( $f['f_column'], array( 'cm_address_1', 'cm_phone' ) )"> <br /> </if> <if test="isText:|:$f['f_type'] == 'text'"> <li class='ipsField clear'> <label for='{$f['f_column']}' class='ipsField_title'><if test="isAddress1:|:$f['f_column'] == 'cm_address_1'">{$this->lang->words['cm_address']}<else /><if test="isAddress2:|:$f['f_column'] == 'cm_address_2'"> <else />{$f['f_name']}</if></if> <if test="textRequired:|:$f['f_reg_require']"><span class='ipsForm_required'>*</span></if></label> <p class='ipsField_content'> <input type='text' class='input_text' id='{$f['f_column']}' size='25' maxlength='255' value='{$this->request[ $f['f_column'] ]}' name='{$f['f_column']}' /> </p> <if test="textErrorMessage:|:$f['f_reg_require'] and $this->request['do'] == 'process_form' and !$this->request[ $f['f_column'] ]"> <span class='error'>{$this->lang->words['err_complete_form']}</span> </if> </li> </if> <if test="isDropdown:|:$f['f_type'] == 'dropdown'"> <li class='ipsField clear'> <label for='{$f['f_column']}' class='ipsField_title'>{$f['f_name']} <if test="dropdownRequired:|:$f['f_reg_require']"><span class='ipsForm_required'>*</span></if></label> <div class='ipsField_content'> <select name='{$f['f_column']}' id='{$f['f_column']}' <if test="isCountry:|:$f['f_column'] == 'cm_country'">onchange='states()'</if>> <foreach loop="options:explode( "n", $f['f_extra'] ) as $k => $v"> {parse variable="selected" default="" oncondition="$k == $this->request[ $f['f_column'] ] or $v == $this->request[ $f['f_column'] ]" value=" selected='selected'"} <option value='<if test="isCountrySelect:|:$f['f_column'] == 'cm_country'">{$v}<else />{$k}</if>'{parse variable="selected"}><if test="isCountryWords:|:$f['f_column'] == 'cm_country'">{$this->lang->words['nc_'.$v]}<else />{$v}</if></option> </foreach> </select> </div> <if test="dropdownErrorMessage:|:$f['f_reg_require'] and $this->request['do'] == 'process_form' and !$this->request[ $f['f_column'] ]"> <span class='error'>{$this->lang->words['err_complete_form']}</span> </if> </li> </if> <if test="isSpecial:|:$f['f_type'] == 'special'"> <li class='ipsField clear'> <label for='cm_state' class='ipsField_title'>{$this->lang->words['cm_state']} <if test="specialRequired:|:$f['f_reg_require']"><span class='ipsForm_required'>*</span></if></label> <div class='ipsField_content'> <input type='text' class='input_text' id='text-states' size='25' name='cm_state' value='{$this->request['cm_state']}' /> <foreach loop="statesCountries:$nexusStates as $country => $_states"> <select name='_cm_state' id='{$country}-states' class='input_select' style='display:none'> <foreach loop="states:$_states as $s"> {parse variable="selected" default="" oncondition="$s[0] == $this->request['cm_state']" value=" selected='selected'"} <option value='{$s[0]}'{parse variable="selected"}>{$s[1]}</option> </foreach> </select> </foreach> </div> <if test="specialErrorMessage:|:$f['f_reg_require'] and $this->request['do'] == 'process_form' and !$this->request[ $f['f_column'] ]"> <span class='error'>{$this->lang->words['err_complete_form']}</span> </if> </li> </if> </foreach> </ul> </fieldset> <script type='text/javascript'> function states() { var c = $('cm_country').value; if ( c in _countriesWithStates ) { $( _display ).style.display = 'none'; $( _display ).name = '_cm_state'; $( c + '-states' ).style.display = ''; $( c + '-states' ).name = 'cm_state'; _display = c + '-states'; } else { $( _display ).style.display = 'none'; $( _display ).name = '_cm_state'; $( 'text-states' ).style.display = ''; $( 'text-states' ).name = 'cm_state'; _display = 'text-states'; } } var _display = 'text-states'; states(); </script> </if> <if test="hasCfields:|<img src='__ipbmafia.ru/public/style_emoticons/<#EMO_DIR#>/7.gif' class='bbc_emoticon' alt=':)' /> is_array( $custom_fields['required'] ) && count( $custom_fields['required'] ) ) || ( is_array( $custom_fields['optional'] ) && count( $custom_fields['optional'] ) )"> <hr /> <fieldset> <ul class='ipsForm ipsForm_horizontal'> <if test="reqCfields:|:is_array( $custom_fields['required'] ) && count( $custom_fields['required'] )"> <foreach loop="custom_required:$custom_fields['required'] as $_field"> <li class='ipsField clear ipsField_{$_field['type']}'> <label for='cprofile_{$_field['id']}' class='ipsField_title'>{$_field['name']} <span class='ipsForm_required'>*</span></label> <div class='ipsField_content'> {$_field['field']} <if test="reqCfieldDescSpan:|:$_field['desc'] != ''"><br /><span class='desc'>{$_field['desc']}</span></if> </div> </li> </foreach> </if> <if test="optCfields:|:is_array( $custom_fields['optional'] ) && count( $custom_fields['optional'] )"> <foreach loop="custom_optional:$custom_fields['optional'] as $_field"> <li class='ipsField clear ipsField_{$_field['type']}'> <label for='cprofile_{$_field['id']}' class='ipsField_title'>{$_field['name']}</label> <div class='ipsField_content'> {$_field['field']} <if test="optCfieldDescSpan:|:$_field['desc'] != ''"><br /><span class='desc'>{$_field['desc']}</span></if> </div> </li> </foreach> </if> </fieldset> </if> <hr /> {$data['qandaHTML']} {$data['captchaHTML']} <hr /> <fieldset> <ul class='ipsForm ipsForm_horizontal'> <li class='ipsField clear ipsField_checkbox'> <input type="checkbox" name="allow_admin_mail" id="allow_admin_mail" value="1" class="input_check" <if test="defaultAAE:|:$this->request['allow_admin_mail'] || !isset( $this->request['allow_admin_mail'] )">checked='checked'</if> /> <p class='ipsField_content'> <label for='allow_admin_mail'>{$this->lang->words['receive_admin_emails']}</label> </p> </li> <li class='ipsField clear ipsField_checkbox'> <input type='checkbox' name='agree_tos' id='agree_tos' value='1' class='input_check' <if test="checkedTOS:|:$this->request['agree_tos']">checked="checked"</if> /> <p class='ipsField_content'> <label for='agree_tos' <if test="ieDnameClass:|:$inline_errors['dname']">error</if>> <strong>{$this->lang->words['agree_to_tos']} <a href='#' id='tou_link'>{$this->lang->words['terms_of_use']}</a></strong> <if test="ieTOS:|:$inline_errors['tos']"><br /><span class='error'>{$inline_errors['tos']}</span></if> </label> <textarea id='tou' class='input_text' style='width: 350px; height: 100px; display: block;'> {$this->settings['_termsAndConditions']} </textarea> </p> </li> </ul> <script type='text/javascript'> $('tou').hide(); </script> </fieldset> <br /> <fieldset> <input type='submit' class='ipsButton' id='register_submit' value='{$this->lang->words['register']}' /> </fieldset> </div> </div></form><script type='text/javascript'> ipb.templates['registration_terms'] = new Template("<h3>{$this->lang->words['reg_terms_popup_title']}</h3><div class='ipsPad' id='tou_popup'>#{content}</div>");</script>{parse template="registerCoppaStart" group="register" params=""}</div>
  17. Переходим в админцентр форума --> Внешний Вид --> Управление стилями --> Ваш стиль --> Список форумов --> boardIndexTemplate Найти: <div id='board_statistics' class='statistics clearfix'>Заменить на: <if test="$this->memberData['member_id']"><div id='board_statistics' class='statistics general_box clearfix'Далее в самом низу шаблона найдите последний закрывающийся оператор </if>, и добавьте рядом с ним такой же оператор..
  18. Ciko опублікував тема в 3.3.x
    Доброго времени суток. Бывает случается так, что вся информация на каком-нибудь стиле смещена влево, в этой статье мы исправим этот небольшой "косяк" для ipb 3.2.x Заходим в: Админцентр > Внешний вид > Управление стилями и шаблонами > Ваш шаблон > CSS > ipb_common.css Находим следующий кусок кода: span.bbc_center, div.bbc_center { text-align: center; display: block; }span.bbc_left, div.bbc_left { text-align: left; display: block; }span.bbc_right , div.bbc_right { text-align: right; display: block; }Заменяем его на: span.bbc_center, div.bbc_center, p.bbc_center {text-align: center; display: block; }span.bbc_left, div.bbc_left, p.bbc_left {text-align: left; display: block; }span.bbc_right, div.bbc_right, p.bbc_right {text-align: right; display: block; }
  19. Открытая форма входа на главной странице форума Данная инструкция поможет вам вывести форму входа на главую страницу форума, как на рисунке. Для этого необходимо внести изменения в globalTemplate, а иенно вынести в него форму входа из showLogInForm. Находим в globalTemplate следующий код: <a href="{parse url="app=core&module=global&section=login" base="public"}" title="{$this->lang->words[" sign_in']}'="" id="sign_in">Заменяем на: <input id="ips_username" type="text" class="input_text" name="ips_username" size="10"" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'':this.value;" value="Username"><input id="ips_password" type="password" class="input_text" name="ips_password" size="10" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'':this.value;" value="Password"><input type="submit" class="input_submit" value="{$this->lang->words['sign_in']}"><fieldset><input type="hidden" name="auth_key" value="{$this->member->form_hash}"><input type="checkbox" id="remember" checked="checked" name="rememberMe" value="1" class="input_check"></fieldset>
  20. Некоторые обновив версию форума сталкиваются с этим Исправляем вот так! АЦ - Внешний вид - Ваш стиль - globalTemplate Увидеть {parse variable="forumActive" default="" oncondition="IPS_APP_COMPONENT == 'forums'" value="active"}{parse variable="membersActive" default="" oncondition="IPS_APP_COMPONENT == 'members'" value="active"}{parse variable="helpActive" default="" oncondition="IPS_APP_COMPONENT == 'core' AND $this->request['module'] == 'help'" value="active"}<if test="!ipsRegistry::$applications['forums']['app_hide_tab'] && !count(ipsRegistry::$applications['forums']['app_tab_groups']) && !IPSMember::isInGroup( $this->memberData, ipsRegistry::$applications['forums']['app_tab_groups'] )"><li id='nav_discussion' class='left {parse variable="forumActive"}'><a href='{parse url="act=idx" seotitle="false" base="public"}' title='{$this->lang->words['go_to_discussion']}'>{IPSLib::getAppTitle( 'forums' )}</a></li></if><if test="!ipsRegistry::$applications['members']['app_hide_tab'] && !count(ipsRegistry::$applications['members']['app_tab_groups']) && !IPSMember::isInGroup( $this->memberData, ipsRegistry::$applications['members']['app_tab_groups'] )"><li id='nav_members' class='left {parse variable="membersActive"}'><a href='{parse url="app=members&module=list" base="public" template="members_list" seotitle="false"}' title='{$this->lang->words['go_to_memberlist']}'>{IPSLib::getAppTitle( 'members' )}</a></li></if><if test="applicationsloop:|:is_array($header_items['applications']) AND count($header_items['applications'])"> <foreach loop="applications:$header_items['applications'] as $data"> <if test="showingapp:|:$data['app_show']"> {parse variable="appActive" default="" oncondition="$data['app_active']" value="active"} <li id='nav_app_{$data['app_dir']}' class="left {parse variable="appActive"}"><a href='{parse url="{$data['app_link']}" seotitle="false" base="public"}' title='{parse expression="sprintf( $this->lang->words['go_to_prefix'], IPSLib::getAppTitle($data['app_dir']) )"}'>{IPSLib::getAppTitle($data['app_dir'])}</a></li> </if> </foreach></if>Заменить : <if test="hasCustomPrimaryNavigation:|:!empty($header_items['primary_navigation_menu'])"> {$header_items['primary_navigation_menu']}<else /> <if test="applicationsloop:|:is_array($header_items['applications']) AND count($header_items['applications'])"> <foreach loop="applications:$header_items['applications'] as $data"> <if test="showingapp:|:$data['app_show']"> {parse variable="appActive" default="" oncondition="$data['app_active']" value="active"} <li id='nav_app_{$data['app_dir']}' class="left {parse variable="appActive"}"><a href='{parse url="{$data['app_link']}" seotitle="{$data['app_seotitle']}" template="{$data['app_template']}" base="{$data['app_base']}"}' title='{parse expression="sprintf( $this->lang->words['go_to_prefix'], IPSLib::getAppTitle($data['app_dir']) )"}'>{IPSLib::getAppTitle($data['app_dir'])}</a></li> </if> </foreach> </if></if>
  21. При включенной функции слияния сообщений, можно разделить два сообщения картинкой или текстом. Делаем это так. Открыть: /admin/applications/forums/sources/classes/post/classPost.php Найти: $new_post = $last_post['post'].'<br /><br />'.$post['post'];Заменить на: $new_post = $last_post['post'].'<br /><br /><img src="http://ссылка на кртинку" /><br />'.$post['post'];
  22. При нажатии на кнопку Администрация на форуме ipb Может произойти такая ошибка Catchable fatal error: Object of class ipsRegistry could not be converted to string in /home/***/public_html/cache/skin_cache/cacheid_12/skin_stats.php on line 92 Или ошибка сервера 500 Для того чтобы исправить переходим в ACP - Внешний вид - Ваш стиль - Статистика - group_strip Найти: <li><a href="{parse url="showforum={$id}" base="public" template="showforum" seotitle="$this->registry->class_forums->forum_by_id[ $id ]['name_seo']"}">{$name}</a></li>Заменить на: <php>$seoName = $this->registry->class_forums->forum_by_id[$id]['name_seo'];</php>
  23. В данной статье, вы узнаете как сделать подсветку пользователей в чате Shoutbox. Переходим в Ваш шаблон > skin_shoutbox > shout_row и заменяем это: <a href="#" class="at_member" data-store="{$d['members_display_name']}" title="{$this->lang->words['insert_name']}">@</a>на это: <a href="#" class="at_member" data-store="[member={$d['members_display_name']}]" title="{$this->lang->words['insert_name']}">@</a>ББ-коды должны быть включены.
  24. Ciko опублікував тема в 3.3.x
    У многих, возникает проблема с хостинг компаниями, которые в свою очередь уведомляют пользователей о том, что с вашего сайта идет большой поток спама Email писем. Данная проблема уже известна разработчикам. Виной всему вот этот паразит из Сервисы публикации ссылок Что мы делаем? Проходим в ACP - Система - Сервисы публикации ссылок и нажимаем на карандашик И выключаем Потом пишем письмо хостинг провайдеру о решенной проблеме )
  25. После обновления бывает ситуация, не меняется стиль, исправляем следующим образом. Пройти в ACP - Внешний вид - Ваш стиль - globalTemplate Найти: <if test="skinchanger:|:count($footer_items['skin_chooser']) > 1"> <if test="uagentlocked:|:$this->memberData['userAgentLocked'] AND ! $this->memberData['userAgentBypass']"> <li id='useragent_msg'> {$this->lang->words['skin_browser_set']} <a href='{parse url="{$this->settings['query_string_formatted']}&unlockUserAgent=1" base="public"}'>{$this->lang->words['override_browser_theme']}</a> </li> <else /> <if test="isTouchDevice:|:$this->registry->output->isTouchDevice()"> <li> <a href='{parse url="{$this->settings['query_string_formatted']}&setAsMobile=1" base="public"}'>{$this->lang->words['set_mobile_theme']}</a> </li> </if> <li> <a rel="nofollow" id='new_skin' href='#'>{$this->lang->words['change_theme']}</a> <ul id='new_skin_menucontent' class='ipbmenu_content with_checks' style='display: none'> <foreach loop="$footer_items['skin_chooser'] as $skin"> <li <if test="$skin['selected']">class='selected'</if>> <a href='{parse url="{$this->settings['query_string_formatted']}&k={$this->member->form_hash}&settingNewSkin={$skin['id']}" base="public"}'>{$skin['title']}</a> </li> </foreach> </ul> </li> </if></if>Заменить на: <if test="skinchanger:|: ! $this->member->is_not_human && count($footer_items['skin_chooser']) > 1"> <if test="uagentlocked:|:$this->memberData['userAgentLocked'] AND ! $this->memberData['userAgentBypass']"> <li id='useragent_msg'> {$this->lang->words['skin_browser_set']} <a href='#' data-clicklaunch='changeSkin' data-skinid='unlockUserAgent'>{$this->lang->words['override_browser_theme']}</a> </li> <else /> <if test="isTouchDevice:|:$this->registry->output->isTouchDevice()"> <li> <a href='#' data-clicklaunch='changeSkin' data-skinid='setAsMobile'>{$this->lang->words['set_mobile_theme']}</a> </li> </if> <li> <a rel="nofollow" id='new_skin' href='#'>{$this->lang->words['change_theme']}</a> <ul id='new_skin_menucontent' class='ipbmenu_content with_checks' style='display: none'> <foreach loop="$footer_items['skin_chooser'] as $skin"> <li <if test="$skin['selected']">class='selected'</if>> <a href='#' data-clicklaunch='changeSkin' data-skinid='{$skin['id']}'>{$skin['title']}</a> </li> </foreach> </ul> </li> </if></if>

Акаунт

Навігація

Пошук

Пошук

Налаштування push-сповіщень браузера

Chrome (Android)
  1. Натисніть значок замка поруч з адресним рядком.
  2. Натисніть Дозволи → Сповіщення.
  3. Налаштуйте свої налаштування.
Chrome (Комп'ютер)
  1. Натисніть значок замка в адресному рядку.
  2. Виберіть Налаштування сайту.
  3. Знайдіть Сповіщення та налаштуйте потрібні параметри.