Доброе времени суток!
Шаблон AdminLTE (front end)
В шаблоне используются
bootstrap 3.0
font-awesome 4.4.0
jQuery-2.1.4.min
iCheck v1.0.1
Шаблон строился на движке 2.1.5
p.s Если что то не так работает пишите исправлю, может что то и забыл. время от времени тут буду выкладывать адаптированные шаблоны для модификаций
Шаблон AdminLTE (front end)
В шаблоне используются
bootstrap 3.0
font-awesome 4.4.0
jQuery-2.1.4.min
iCheck v1.0.1
Шаблон строился на движке 2.1.5
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 = ' '. $lang['SORT_BY'] .': '. $sort_list .' '. $order_list .' ';
// Заменить на
$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 .' '. $order_list .' ';
----------------------------------------------------------
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> ';
}
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> ';
}
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> ' . $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"> </var>
HTML;