Шаблон AdminLTE (front end) 1.1

Шаблон для TorrentPier

  1. Bender
    Совместимость:
    проверялся на совместимость
    Автор:
    Bender
    Общественное достояние:
    нет
    Доброе времени суток!
    Шаблон AdminLTE (front end)

    В шаблоне используются
    bootstrap 3.0
    font-awesome 4.4.0
    jQuery-2.1.4.min
    iCheck v1.0.1
    Шаблон строился на движке 2.1.5


    2016-03-22_173224.png 2016-03-22_173517.png 2016-03-22_173550.png 2016-03-22_173821.png 2016-03-22_173940.png 2016-03-22_174230.png 2016-03-22_174554.png

    p.s Если что то не так работает пишите исправлю, может что то и забыл. время от времени тут буду выкладывать адаптированные шаблоны для модификаций
    Инструкция по установке:
    ----------------------------------------------------------
    functions.php
    ----------------------------------------------------------
    // Найти

    return "\n<select $select_params>\n". $this->options ."</select>\n";

    // Заменить на

    return '<select '. $select_params .' class="form-control">'. $this->options .'</select>';

    // Найти

    $profile = '<span title="'. $title .'" class="'. $style .'">'. $username .'</span>';

    //Заменить на

    $profile = '<span title="'. $title .'" class="'. $style .'" data-toggle="tooltip">'. $username .'</span>';

    // Найти

    return '<a href="magnet:?xt=urn:btih:'. bin2hex($infohash) .'&tr='. urlencode($bb_cfg['bt_announce_url'] . $passkey_url) .'"><img src="'. $images['icon_magnet'] .'" width="12" height="12" border="0" /></a>';

    // Заменить на

    return '<a href="magnet:?xt=urn:btih:'. bin2hex($infohash) .'&tr='. urlencode($bb_cfg['bt_announce_url'] . $passkey_url) .'"><i class="'. $images['icon_magnet'] .'"></i></a>';

    // Найти
    function create_magnet ($infohash, $auth_key, $logged_in)
    {
    global $bb_cfg, $_GET, $userdata, $images;

    $passkey_url = ((!$logged_in || isset($_GET['no_passkey'])) && $bb_cfg['bt_tor_browse_only_reg']) ? '' : "?{$bb_cfg['passkey_key']}=$auth_key";
    return '<a href="magnet:?xt=urn:btih:'. bin2hex($infohash) .'&tr='. urlencode($bb_cfg['bt_announce_url'] . $passkey_url) .'"><img src="'. $images['icon_magnet'] .'" width="12" height="12" border="0" /></a>';
    }

    // Заменить на

    function create_magnet ($infohash, $auth_key, $logged_in)
    {
    global $bb_cfg, $_GET, $userdata, $images;

    $passkey_url = ((!$logged_in || isset($_GET['no_passkey'])) && $bb_cfg['bt_tor_browse_only_reg']) ? '' : "?{$bb_cfg['passkey_key']}=$auth_key";
    return '<a href="magnet:?xt=urn:btih:'. bin2hex($infohash) .'&tr='. urlencode($bb_cfg['bt_announce_url'] . $passkey_url) .'"><i class="'. $images['icon_magnet'] .'"></i></a>';
    }

    // Найти и заменить

    function get_avatar ($user_id, $ext_id, $allow_avatar = true, $size = true, $height = '', $width = '')
    {
    global $bb_cfg;

    if ($size)
    {
    // TODO размеры: s, m, l + кеширование
    }

    $height = ($height != '') ? 'height="'. $height .'"' : '';
    $width = ($width != '') ? 'width="'. $width .'"' : '';

    $user_avatar = '<img src="'. make_url($bb_cfg['avatars']['upload_path'] . $bb_cfg['avatars']['no_avatar']) .'" alt="'. $user_id .'" '. $height .' '. $width .' class="img-circle" />';

    if ($user_id == BOT_UID && $bb_cfg['avatars']['bot_avatar'])
    {
    $user_avatar = '<img src="'. make_url($bb_cfg['avatars']['upload_path'] . $bb_cfg['avatars']['bot_avatar']) .'" alt="'. $user_id .'" '. $height .' '. $width .' class="img-circle" />';
    }
    else if ($allow_avatar && $ext_id)
    {
    if (file_exists(get_avatar_path($user_id, $ext_id)))
    {
    $user_avatar = '<img src="'. make_url(get_avatar_path($user_id, $ext_id)) .'" alt="'. $user_id .'" '. $height .' '. $width .' />';
    }
    }

    return $user_avatar;
    }
    ----------------------------------------------------------
    terms.php
    ----------------------------------------------------------
    // Найти

    'TERMS_HTML' => bbcode2html($bb_cfg['terms']),

    // Добавить
    'PAGE_TITLE' => $lang['TERMS'],

    ----------------------------------------------------------
    group.php
    ----------------------------------------------------------
    // Найти

    $options .= '<li class="pad_2"><a href="'. GROUP_URL . $data['id'] .'" class="med bold">'. $text .'</a></li>';
    $options .= ($data['rg']) ? '<ul><li class="med">'. $lang['RELEASE_GROUP'] .'</li>' : '<ul>';
    $options .= '<li class="seedmed">'. $members .'</li>';
    if (IS_AM)
    {
    $options .= '<li class="leechmed">'. $candidates .'</li>';
    }

    Заменить на

    $options .= '<li><b><a href="'. GROUP_URL . $data['id'] .'">'. $text .'</a></b></li>';
    $options .= ($data['rg']) ? '<ul><li class="text-muted">'. $lang['RELEASE_GROUP'] .'</li>' : '<ul>';
    $options .= '<li class="text-green">'. $members .'</li>';
    if (IS_AM)
    {
    $options .= '<li class="text-red">'. $candidates .'</li>';
    }

    ----------------------------------------------------------
    viewforum.php
    ----------------------------------------------------------
    // Найти
    $sort_list = '<select name="sort">'. get_forum_display_sort_option($sort_value, 'list', 'sort') .'</select>';
    $order_list = '<select name="order">'. get_forum_display_sort_option($order_value, 'list', 'order') .'</select>';
    $s_display_order = '&nbsp;'. $lang['SORT_BY'] .':&nbsp;'. $sort_list .'&nbsp;'. $order_list .'&nbsp;';

    // Заменить на
    $sort_list = '<select name="sort" class="form-control">'. get_forum_display_sort_option($sort_value, 'list', 'sort') .'</select>';
    $order_list = '<select name="order" class="form-control">'. get_forum_display_sort_option($order_value, 'list', 'order') .'</select>';
    $s_display_order = '<label>'. $lang['SORT_BY'] .':</label>'. $sort_list .'&nbsp;'. $order_list .'&nbsp;';

    ----------------------------------------------------------
    config.php
    ----------------------------------------------------------
    $bb_cfg['show_rank_text'] = true;

    ----------------------------------------------------------
    posting.php
    ----------------------------------------------------------

    // Найти

    // Topic type selection
    $topic_type_toggle = '';
    if ( $mode == 'newtopic' || ( $mode == 'editpost' && $post_data['first_post'] ) )
    {
    $template->assign_block_vars('switch_type_toggle', array());

    if( $is_auth['auth_sticky'] )
    {
    $topic_type_toggle .= '<label><input type="radio" name="topictype" value="' . POST_STICKY . '"';
    if ( isset($post_data['topic_type']) && ($post_data['topic_type'] == POST_STICKY || $topic_type == POST_STICKY) )
    {
    $topic_type_toggle .= ' checked="checked"';
    }
    $topic_type_toggle .= ' /> ' . $lang['POST_STICKY'] . '</label>&nbsp;&nbsp;';
    }

    if( $is_auth['auth_announce'] )
    {
    $topic_type_toggle .= '<label><input type="radio" name="topictype" value="' . POST_ANNOUNCE . '"';
    if ( isset($post_data['topic_type']) && ($post_data['topic_type'] == POST_ANNOUNCE || $topic_type == POST_ANNOUNCE) )
    {
    $topic_type_toggle .= ' checked="checked"';
    }
    $topic_type_toggle .= ' /> ' . $lang['POST_ANNOUNCEMENT'] . '</label>&nbsp;&nbsp;';
    }

    if ( $topic_type_toggle != '' )
    {
    $topic_type_toggle = $lang['POST_TOPIC_AS'] . ': <label><input type="radio" name="topictype" value="' . POST_NORMAL .'"' . ( (!isset($post_data['topic_type']) || $post_data['topic_type'] == POST_NORMAL || $topic_type == POST_NORMAL) ? ' checked="checked"' : '' ) . ' /> ' . $lang['POST_NORMAL'] . '</label>&nbsp;&nbsp;' . $topic_type_toggle;
    }
    }

    // Заменить на

    // Topic type selection
    $topic_type_toggle = '';
    if ( $mode == 'newtopic' || ( $mode == 'editpost' && $post_data['first_post'] ) )
    {
    $template->assign_block_vars('switch_type_toggle', array());

    if( $is_auth['auth_sticky'] )
    {
    $topic_type_toggle .= '<div class="radio"><label><input type="radio" name="topictype" value="' . POST_STICKY . '"';
    if ( isset($post_data['topic_type']) && ($post_data['topic_type'] == POST_STICKY || $topic_type == POST_STICKY) )
    {
    $topic_type_toggle .= ' checked="checked"';
    }
    $topic_type_toggle .= ' /> ' . $lang['POST_STICKY'] . '</label></div>';
    }

    if( $is_auth['auth_announce'] )
    {
    $topic_type_toggle .= '<div class="radio"><label><input type="radio" name="topictype" value="' . POST_ANNOUNCE . '"';
    if ( isset($post_data['topic_type']) && ($post_data['topic_type'] == POST_ANNOUNCE || $topic_type == POST_ANNOUNCE) )
    {
    $topic_type_toggle .= ' checked="checked"';
    }
    $topic_type_toggle .= ' /> ' . $lang['POST_ANNOUNCEMENT'] . '</label></div>';
    }

    if ( $topic_type_toggle != '' )
    {
    $topic_type_toggle = $lang['POST_TOPIC_AS'] . ': <div class="radio"><label><input type="radio" name="topictype" value="' . POST_NORMAL .'"' . ( (!isset($post_data['topic_type']) || $post_data['topic_type'] == POST_NORMAL || $topic_type == POST_NORMAL) ? ' checked="checked"' : '' ) . ' /> ' . $lang['POST_NORMAL'] . '</label></div>' . $topic_type_toggle;
    }
    }

    // Найти

    //bt
    $topic_dl_type = (isset($post_info['topic_dl_type'])) ? $post_info['topic_dl_type'] : 0;

    if ($post_info['allow_reg_tracker'] && $post_data['first_post'] && ($topic_dl_type || $is_auth['auth_mod']))
    {
    $sql = "
    SELECT tor.attach_id
    FROM ". BB_POSTS ." p
    LEFT JOIN ". BB_BT_TORRENTS ." tor ON (p.post_id = tor.post_id)
    WHERE p.post_id = $post_id
    ";
    $result = DB()->fetch_row($sql);
    if (!empty($result['attach_id']))
    {
    if (!$topic_type_toggle)
    {
    $topic_type_toggle = $lang['POST_TOPIC_AS'] . ': ';
    }

    $dl_ds = $dl_ch = $dl_hid = '';
    $dl_type_name = 'topic_dl_type';
    $dl_type_val = ($topic_dl_type) ? 1 : 0;

    if (!$post_info['allow_reg_tracker'] && !$is_auth['auth_mod'])
    {
    $dl_ds = ' disabled="disabled" ';
    $dl_hid = '<input type="hidden" name="topic_dl_type" value="'. $dl_type_val .'" />';
    $dl_type_name = '';
    }

    $dl_ch = ($mode == 'editpost' && $post_data['first_post'] && $topic_dl_type) ? ' checked="checked" ' : '';

    $topic_type_toggle .= '<nobr><input type="checkbox" name="'. $dl_type_name .'" id="topic_dl_type_id" '. $dl_ds . $dl_ch .' /><label for="topic_dl_type_id"> '.$lang['POST_DOWNLOAD'].'</label></nobr>';
    $topic_type_toggle .= $dl_hid;
    }
    }
    //bt end

    Заменить

    //bt
    $topic_dl_type = (isset($post_info['topic_dl_type'])) ? $post_info['topic_dl_type'] : 0;

    if ($post_info['allow_reg_tracker'] && $post_data['first_post'] && ($topic_dl_type || $is_auth['auth_mod']))
    {
    $sql = "
    SELECT tor.attach_id
    FROM ". BB_POSTS ." p
    LEFT JOIN ". BB_BT_TORRENTS ." tor ON (p.post_id = tor.post_id)
    WHERE p.post_id = $post_id
    ";
    $result = DB()->fetch_row($sql);
    if (!empty($result['attach_id']))
    {
    if (!$topic_type_toggle)
    {
    $topic_type_toggle = '<label>'. $lang['POST_TOPIC_AS'] . '</label>';
    }

    $dl_ds = $dl_ch = $dl_hid = '';
    $dl_type_name = 'topic_dl_type';
    $dl_type_val = ($topic_dl_type) ? 1 : 0;

    if (!$post_info['allow_reg_tracker'] && !$is_auth['auth_mod'])
    {
    $dl_ds = ' disabled="disabled" ';
    $dl_hid = '<input type="hidden" name="topic_dl_type" value="'. $dl_type_val .'" />';
    $dl_type_name = '';
    }

    $dl_ch = ($mode == 'editpost' && $post_data['first_post'] && $topic_dl_type) ? ' checked="checked" ' : '';

    $topic_type_toggle .= '<div class="checkbox" style="margin-top: -5px;"><label for="topic_dl_type_id"><input type="checkbox" name="'. $dl_type_name .'" id="topic_dl_type_id" '. $dl_ds . $dl_ch .' /> '.$lang['POST_DOWNLOAD'].'</label></div>';
    $topic_type_toggle .= $dl_hid;
    }
    }
    //bt end

    ----------------------------------------------------------
    init_bb.php
    ----------------------------------------------------------

    // Найти

    $dl_link_css = array(
    DL_STATUS_RELEASER => 'genmed',
    DL_STATUS_WILL => 'dlWill',
    DL_STATUS_DOWN => 'leechmed',
    DL_STATUS_COMPLETE => 'seedmed',
    DL_STATUS_CANCEL => 'dlCancel',
    );

    // Заменить на

    $dl_link_css = array(
    DL_STATUS_RELEASER => 'badge bg-black',
    DL_STATUS_WILL => 'badge bg-light-blue',
    DL_STATUS_DOWN => 'badge bg-red',
    DL_STATUS_COMPLETE => 'badge bg-green',
    DL_STATUS_CANCEL => 'badge bg-yellow',
    );

    ----------------------------------------------------------
    user_register.php
    ----------------------------------------------------------
    // Найти

    $html = '<img src="./styles/images/good.gif">';
    switch($mode)
    {
    case 'check_name':
    $username = clean_username($this->request['username']);

    if (empty($username))
    {
    $html = '<img src="./styles/images/bad.gif"> <span class="leechmed bold">'. $lang['CHOOSE_A_NAME'] .'</span>';
    }
    elseif($err = validate_username($username))
    {
    $html = '<img src="./styles/images/bad.gif"> <span class="leechmed bold">'. $err .'</span>';
    }
    break;

    case 'check_email':
    $email = (string) $this->request['email'];

    if (empty($email))
    {
    $html = '<img src="./styles/images/bad.gif"> <span class="leechmed bold">'. $lang['CHOOSE_E_MAIL'] .'</span>';
    }
    elseif($err = validate_email($email))
    {
    $html = '<img src="./styles/images/bad.gif"> <span class="leechmed bold">'. $err .'</span>';
    }
    break;

    case 'check_pass':
    $pass = (string) $this->request['pass'];
    $pass_confirm = (string) $this->request['pass_confirm'];
    if (empty($pass) || empty($pass_confirm))
    {
    $html = '<img src="./styles/images/bad.gif"> <span class="leechmed bold">'. $lang['CHOOSE_PASS'] .'</span>';
    }
    else
    {
    if ($pass != $pass_confirm)
    {
    $html = '<img src="./styles/images/bad.gif"> <span class="leechmed bold">'. $lang['CHOOSE_PASS_ERR'] .'</span>';
    }
    else
    {
    if (mb_strlen($pass, 'UTF-8') > 20)
    {
    $html = '<img src="./styles/images/bad.gif"> <span class="leechmed bold">'. sprintf($lang['CHOOSE_PASS_ERR_MAX'], 20) .'</span>';
    }
    elseif (mb_strlen($pass, 'UTF-8') < 5)
    {
    $html = '<img src="./styles/images/bad.gif"> <span class="leechmed bold">'. sprintf($lang['CHOOSE_PASS_ERR_MIN'], 5) .'</span>';
    }
    else
    {
    $text = (IS_GUEST) ? $lang['CHOOSE_PASS_REG_OK'] : $lang['CHOOSE_PASS_OK'];
    $html = '<img src="./styles/images/good.gif"> <span class="seedmed bold">'. $text .'</span>';
    }
    }
    }
    break;
    }

    // Заменить на

    $html = '<i class="fa fa-fw fa-check text-green"></i>';
    switch($mode)
    {
    case 'check_name':
    $username = clean_username($this->request['username']);

    if (empty($username))
    {
    $html = '<span class="text-red"><i class="fa fa-fw fa-exclamation"></i> '. $lang['CHOOSE_A_NAME'] .'</span>';
    }
    elseif($err = validate_username($username))
    {
    $html = '<span class="text-red"><i class="fa fa-fw fa-exclamation"></i> '. $err .'</span>';
    }
    break;

    case 'check_email':
    $email = (string) $this->request['email'];

    if (empty($email))
    {
    $html = '<span class="text-red"><i class="fa fa-fw fa-exclamation"></i> '. $lang['CHOOSE_E_MAIL'] .'</span>';
    }
    elseif($err = validate_email($email))
    {
    $html = '<span class="text-red"><i class="fa fa-fw fa-exclamation"></i> '. $err .'</span>';
    }
    break;

    case 'check_pass':
    $pass = (string) $this->request['pass'];
    $pass_confirm = (string) $this->request['pass_confirm'];
    if (empty($pass) || empty($pass_confirm))
    {
    $html = '<span class="text-red"><i class="fa fa-fw fa-exclamation"></i> '. $lang['CHOOSE_PASS'] .'</span>';
    }
    else
    {
    if ($pass != $pass_confirm)
    {
    $html = '<span class="text-red"><i class="fa fa-fw fa-exclamation"></i> '. $lang['CHOOSE_PASS_ERR'] .'</span>';
    }
    else
    {
    if (mb_strlen($pass, 'UTF-8') > 20)
    {
    $html = '<span class="text-red"><i class="fa fa-fw fa-exclamation"></i> '. sprintf($lang['CHOOSE_PASS_ERR_MAX'], 20) .'</span>';
    }
    elseif (mb_strlen($pass, 'UTF-8') < 5)
    {
    $html = '<span class="text-red"><i class="fa fa-fw fa-exclamation"></i> '. sprintf($lang['CHOOSE_PASS_ERR_MIN'], 5) .'</span>';
    }
    else
    {
    $text = (IS_GUEST) ? $lang['CHOOSE_PASS_REG_OK'] : $lang['CHOOSE_PASS_OK'];
    $html = '<img src="./styles/images/good.gif"> <span class="seedmed bold">'. $text .'</span>';
    }
    }
    }
    break;
    }

    ----------------------------------------------------------
    bonus.php
    ----------------------------------------------------------

    // Найти

    $class = ($user_points >= $price) ? 'seed' : 'leech';

    // Заменить на

    $class = ($user_points >= $price) ? 'text-gren' : 'text-red';

    ----------------------------------------------------------
    main.php
    ----------------------------------------------------------

    //txtb
    $lang['ICQ_TXTB'] = '[ICQ]';
    $lang['REPLY_WITH_QUOTE_TXTB'] = '[Цитировать]';
    $lang['READ_PROFILE_TXTB'] = '[Профиль]';
    $lang['SEND_EMAIL_TXTB'] = '[E-mail]';
    $lang['VISIT_WEBSITE_TXTB'] = '[www]';
    $lang['EDIT_DELETE_POST_TXTB'] = '[Изменить]';
    $lang['SEARCH_USER_POSTS_TXTB'] = '[Поиск]';
    $lang['VIEW_IP_TXTB'] = '[ip]';
    $lang['DELETE_POST_TXTB'] = '[x]';
    $lang['MODERATE_POST_TXTB'] = '[m]';
    $lang['SEND_PM_TXTB'] = '[ЛС]';

    На

    //txtb
    $lang['ICQ_TXTB'] = 'ICQ';
    $lang['REPLY_WITH_QUOTE_TXTB'] = 'Цитировать';
    $lang['READ_PROFILE_TXTB'] = 'Профиль';
    $lang['SEND_EMAIL_TXTB'] = 'E-mail';
    $lang['VISIT_WEBSITE_TXTB'] = 'www';
    $lang['EDIT_DELETE_POST_TXTB'] = 'Изменить';
    $lang['SEARCH_USER_POSTS_TXTB'] = 'Поиск';
    $lang['VIEW_IP_TXTB'] = 'IP';
    $lang['DELETE_POST_TXTB'] = 'Удалить';
    $lang['MODERATE_POST_TXTB'] = 'Модерировать';
    $lang['SEND_PM_TXTB'] = 'ЛС';

    Найти и заменить
    $lang['VIEWING_USER_PROFILE'] = '<a data-toggle="tooltip" data-original-title="Профиль пользователя %s"><i class="fa fa-fw fa-user"></i></a>';
    $lang['VIEWING_MY_PROFILE'] = '<a href="%s" data-toggle="tooltip" data-original-title="Настройки / Изменить профиль">Мой профиль <i class="fa fa-fw fa-gear"></i></a>';

    ----------------------------------------------------------
    tracker.php
    ----------------------------------------------------------

    // Найти

    $dl_class = isset($tor['dl_status']) ? $dl_link_css[$tor['dl_status']] : 'genmed';

    // Заменить на

    $dl_class = isset($tor['dl_status']) ? $dl_status_css[$tor['dl_status']] : '';

    ----------------------------------------------------------
    viewprofile.php
    ----------------------------------------------------------
    // Найти

    'PAGE_TITLE' => sprintf($lang['VIEWING_USER_PROFILE'], $profiledata['username']),

    // Заменить на

    'PAGE_TITLE' => $profiledata['username'],

    По желанию
    ----------------------------------------------------------
    bbcode.php
    ----------------------------------------------------------
    Найти
    // Image
    $bbcode_tpl['img'] = <<<HTML
    <img class="postImg img-responsive" src="$1">
    HTML;

    $bbcode_tpl['img_aligned'] = <<<HTML
    <var class="postImg img-responsive postImgAligned img-\\1" title="\\2">&#10;</var>
    HTML;
    serega и ivanesko261 нравится это.

Последние обнoвления

  1. Добавил iCheck v1.0.1