Исправил мелкие баги, найденные в ходе проверки!
Спасибо всем за тестирование мода!
Все выше пожелания, исправления были учтены.
Добавлен парсер!
Переписан языковой файл на person.
Ну и тык мелочи!
1-е. Сделать запрос в базу.
2-е. Открыть (library/includes/init_bb.php).Код:CREATE TABLE IF NOT EXISTS `bb_person` ( `pers_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `pers_runame` varchar(150) NOT NULL DEFAULT '', `pers_enname` varchar(150) NOT NULL DEFAULT '', `pers_gender` tinyint(1) NOT NULL DEFAULT '0', `pers_biography` text NOT NULL, `pers_career` varchar(150) NOT NULL DEFAULT '', `pers_foto` varchar(200) NOT NULL DEFAULT '', `pers_birthdate` date NOT NULL DEFAULT '0000-00-00', `pers_birthplace` varchar(255) NOT NULL, `kp_id` mediumint(8) NOT NULL, PRIMARY KEY (`pers_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; INSERT INTO `bb_config` VALUES ('pers_enable', '1'); INSERT INTO `bb_config` VALUES ('pers_repl_text', '<a href="person.php?id={id}">{name}</a>'); INSERT INTO `bb_config` VALUES ('pers_per_page', '40'); INSERT INTO `bb_config` VALUES ('pers_photo_dir', 'data/person'); INSERT INTO `bb_config` VALUES ('pers_idkp_list', '');
Найти:
Ниже вставить:PHP:define('BB_ADS', 'bb_ads');
3-е. Открыть (library\includes\page_header.php).PHP:define('BB_PERSON', 'bb_person');
Найти:
Ниже вставить:PHP:'U_TRACKER' => "tracker.php",
4-е. Вставить код в конец (library\language\[ru, en, uk]\main.php).PHP:'U_PERSON' => "person.php",
5-е. Открыть (styles\templates\default\page_header.tpl).PHP://Person $lang['PERS_PERSONS'] = 'Персоны'; $lang['PERS_RU_NAME'] = 'Имя на Русском'; $lang['PERS_EN_NAME'] = 'Имя на Английском'; $lang['PERS_NAME'] = 'Имя персоны'; $lang['PERS_ID'] = 'ID персоны'; $lang['PERS_BIRTHDATE'] = 'Дата рождения'; $lang['PERS_BIRTHPLACE'] = 'Место рождения'; $lang['PERS_FOTO'] = 'Фотография'; $lang['PERS_CAREER'] = 'Карьера'; $lang['PERS_BIOGRAPHY'] = 'Биография'; $lang['KP_ID'] = 'ID страницы на Кинопоиске'; $lang['KP_STR'] = 'Страница на Кинопоиске'; $lang['PERS_INFO'] = 'Информация о персоне'; $lang['PERS_LIST'] = 'Список персон'; $lang['PERS_EDIT'] = 'Редактирование персоны'; $lang['PERS_LIST_TORR'] = 'Раздачи с персоной'; $lang['PERS_EDIT_TETLE'] = 'Редактирование персоны'; $lang['PERS_NEW_ADD_TETLE'] = 'Добавление персоны'; $lang['NO_PERS_NAME'] = 'Вы должны указать имя персоны.'; $lang['PERS_NO_LIST'] = 'Список пуст'; $lang['PERS_NO'] = 'Такого актера не существует.'; $lang['PERS_ADD'] = 'Персона была успешно добавлена!'; $lang['PERS_EDITED'] = 'Персона была успешно изменена!'; $lang['PERS_DELETED'] = 'Персона была успешно удалена!'; $lang['PERS_U_RETURN'] = 'Перейти к просмотру персоны'; $lang['PERS_CONFIRM_DELETE'] = 'Вы уверены, что хотите удалить эту персону?'; $lang['PERS_NO_BIRTHDAY'] = 'Вы не указали дату рождения!'; $lang['PERS_WORK_IMAGES_FORMAT'] = 'Не верный формат изображения! Доступны только (gif, png, jpg)'; $lang['PERS_NO_TORR_LIST'] = 'Нет раздач с этой персоной.'; $lang['KP_ID_NO_FORMAT'] = 'Вы должны указать только число.'; $lang['PERS_THERE'] = 'Эта персона уже есть!'; $lang['ZODIAC_SIGN'] = array( 'AQUARIUS' => 'Водолей', 'ARIES' => 'Овен', 'CANCER' => 'Рак', 'CAPRICORN' => 'Козерог', 'GEMINI' => 'Близнецы', 'LEO' => 'Лев', 'LIBRA' => 'Весы', 'PISCES' => 'Рыбы', 'SAGITTARIUS' => 'Стрелец', 'SCORPIO' => 'Скорпион', 'TAURUS' => 'Телец', 'VIRGO' => 'Дева', ); //Person Admin $lang['AD_PERS_PANEL'] = 'Управление персонами'; $lang['AD_PERS_PANEL_EXPLAIN'] = 'Здесь вы можете добавлять, редактировать, просматривать и удалять персон. Вы также можете обновить базу.'; $lang['AD_PERS_ADD_NEW'] = 'Добавить персону'; $lang['AD_PERS_SYC'] = 'Обновить посты'; $lang['AD_PERS_ENABLE'] = 'Включить показ персон'; $lang['AD_PERS_ENABLE_EXPLAIN'] = 'Выделять персон в торрен раздачах'; $lang['AD_PERS_PER_PAGE'] = 'Персон на страницу'; $lang['AD_PERS_REPLACE_TEXT'] = 'Как будет выглядеть ссылка в топиках'; $lang['AD_PERS_CONFIG'] = 'Настройки'; $lang['AD_PERS_CONFIG_EXPLAIN'] = 'Эта форма позволит вам изменить настройки мода персоны.'; $lang['AD_PERS_CONFIG_UPDATED'] = 'Настройки персон успешно изменены'; $lang['AD_CLICK_RETURN_PERS_LIST'] = '%sПерейти к списку персон%s'; $lang['AD_CLICK_RETURN_PERS_CONFIG'] = '%sВернуться к настройкам%s'; $lang['AD_PERS_IDKP_LIST'] = 'Список ID персон с КиноПоиска'; $lang['AD_PERS_IDKP_LIST_EXPLAIN'] = 'Каждый <b>ID</b> должен отделятся запятой!'; $lang['AD_PERS_PHOTO_DIR'] = 'Путь к фотографиям'; $lang['AD_PERS_PHOTO_DIR_EXPLAIN'] = 'Куда будут скачиватся фотографии персон (Путь указывать относительно корня сайта).'; //Person Parser Admin $lang['AD_PERS_PARSER'] = 'Парсер'; $lang['AD_PERS_PARSER_RUN'] = 'Запустить парсер'; $lang['AD_PERS_AUTO_PARSER'] = 'Автоматический парсер персон'; $lang['AD_PERS_PARSER_THERE'] = 'Эта персона уже есть! - <b>[NAME:<a target="_parent" href="/person.php?id=%s">%s</a>]</b>'; $lang['AD_PERS_PARSER_NOT_FOUND'] = 'Ничего не найдено! - <b>[ID:%s]</b>'; $lang['AD_PERS_PARSER_ADD_NEWS'] = 'Добавлена новая персона! - (<b><a target="_parent" href="/person.php?id=%s">%s</a></b>)'; $lang['AD_PERS_PARSER_ERROR_NOT_NAME'] = '<b>Персона не добавлена (Имя персоны пусто)! - <i>[ID:%s]</i><b> '; $lang['AD_PERS_PARSER_ERROR'] = '<b>ОШИБКА</b>, неверные настройки парсера!'; $lang['AD_PERS_PARSER_LIST_EMPTY'] = '<b>ОШИБКА</b>, Список ID персон пуст! Укажите в настройках.'; $lang['AD_PERS_PARSER_INVALID_ID'] = 'Персоны с таким ID нет!'; $lang['AD_PERS_PARSER_NOT_ID'] = 'Вы не указали ID персоны!';
Найти:
Ниже вставить:PHP:<a href="{U_TRACKER}"><b>{L_TRACKER}</b></a><span style="color:#CDCDCD;">|</span>
PHP:<a href="{U_PERSON}"><b>{L_PERS_PERSONS}</b></a><span style="color:#CDCDCD;">|</span>
6-е. Вставить код в конец (styles\templates\default\css\main.css).
Код:.listPersons{letter-spacing:-5px;clear:both;display:inline-block;font-family:Tahoma,Geneva,sans-serif;width:100%}.listPersons li{box-shadow:1px 1px 0 rgba(0,0,0,.1) inset,-1px -1px 0 rgba(0,0,0,.1) inset;margin:0 .4% 1%;width:11%;padding:.3%;border-radius:2px;display:inline-block;zoom:1;vertical-align:top;letter-spacing:normal;font-size:80%;color:#666;position:relative}.listPersons li a.thumb{margin:0;background-size:auto 101%;background-position:center;background-repeat:no-repeat;display:block;position:relative;border-radius:2px;overflow:hidden}.listPersons li a.thumb img,.listPersons li span.sthumbs a img{width:100%;height:auto;display:inline-block;zoom:1;border:none}.listPersons li span.base{position:absolute;bottom:0;left:0;width:95%;padding:.3% 2.5%;background:rgba(0,0,0,.75)}.listPersons li span.nameru{font-size:160%;font-weight:700;margin:0;color:#fff;line-height:160%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-family:'Helvetica Neue',Helvetica,Arial;display:block;text-decoration:none}.listPersons li p.nameen{font-size:90%;display:block;margin:0 0 6px;color:#ccc}
7-е. Открыть (ajax.php) и найти:
Ниже вставить:PHP:case 'sitemap'; require(CLASS_DIR .'sitemap.php'); break;
PHP:case 'person'; require_once (CLASS_DIR .'person.class.php'); break; }
Найти:
Ниже вставить:PHP:'post_mod_comment' => array('mod'),
PHP:'person' => array('mod'),
найти:
Ниже вставить:PHP:function sitemap() { require(AJAX_DIR .'sitemap.php'); }
8-е. Открыть (library/includes/functions.php) и в конец добавить:PHP:function person() { require(AJAX_DIR .'mod_person.php'); }
9-е. Открыть (library/includes/bbcode.php) и найти.PHP:function get_zodiac($birthday, $mode = 'full') { global $lang; if (!empty($birthday)) { list($bmonth, $bday) = array_map('intval', explode('-', substr($birthday, 5))); $zodiac_array = array( 'aries' => array(3, 21, 4, 20), 'taurus' => array(4, 21, 5, 20), 'gemini' => array(5, 21, 6, 21), 'cancer' => array(6, 22, 7, 22), 'leo' => array(7, 23, 8, 23), 'virgo' => array(8, 24, 9, 23), 'libra' => array(9, 24, 10, 23), 'scorpio' => array(10, 24, 11, 22), 'sagittarius' => array(11, 23, 12, 21), 'capricorn' => array(12, 22, 1, 20), 'aquarius' => array(1, 21, 2, 20), 'pisces' => array(2, 21, 3, 20), ); foreach ($zodiac_array as $sign => $date) { if (($bmonth == $date[0] && $bday > $date[1]) || ($bmonth == $date[2] && $bday < $date[3])) { $image = BB_ROOT .'styles/images/zodiac/' . $sign . '.gif'; $title = $lang['ZODIAC_SIGN'][(strtoupper($sign))]; switch ($mode){ case 'name': $data = $title; break; case 'images': $data = "<img src='$image' alt='$title' title='$title' style='vertical-align:middle;' />"; break; case 'full': $data = "($title) <img src='$image' alt='$title' title='$title' style='vertical-align:middle;' />";; break; } return $data; } } } }
Ниже вставить:PHP:$message = bbcode2html($postrow['post_text']);
10-е. Открыть (library/includes/functions_post.php) найти:PHP:if($bb_cfg['pers_enable']){ $actrow = DB()->fetch_rowset("SELECT pers_id, pers_runame, pers_enname FROM " . BB_PERSON . ' ORDER BY pers_id ASC'); if ($actrow){ foreach ($actrow as $key => $row) { $runame = explode(',', $row['pers_runame']); $enname = explode(',', $row['pers_enname']); $array_name = array_diff(array_merge($runame, $enname), array('')); foreach ($array_name as $word) { $name[] = $word; $replace[] = str_replace(array('{id}', '{name}'), array($row['pers_id'], $word), $bb_cfg['pers_repl_text']); } } $message = str_replace($name, $replace, $message); } }
Выше вставить:PHP:update_post_html(array( 'post_id' => $post_id, 'post_text' => $post_message, ));
11-е. Скапировать все файлы в кореть сайта и дать права (777) папке {data/person}:PHP:if($bb_cfg['pers_enable']){ $actrow = DB()->fetch_rowset("SELECT pers_id, pers_runame, pers_enname FROM " . BB_PERSON . ' ORDER BY pers_id ASC'); if ($actrow){ foreach ($actrow as $key => $row) { $runame = explode(',', $row['pers_runame']); $enname = explode(',', $row['pers_enname']); $array_name = array_diff(array_merge($runame, $enname), array('')); foreach ($array_name as $word) { $name[] = $word; $replace[] = str_replace(array('{id}', '{name}'), array($row['pers_id'], $word), $bb_cfg['pers_repl_text']); } } $message = str_replace($name, $replace, $message); } }
- Исправлены ранние найденные ошибки.
- Перенесено добавление актеров, редактирование и обновление постов в Админ панель.
- Добавлены настройки мода.
- Обновлен парсер старых постов.
- Переделана функция вывода знака зодиака.
- И еще что то.
1-е. Сделать запрос в базу.
2-е. Заменить код в конец (library\language\[ru, en, uk]\main.php) Этот :Код:INSERT INTO `bb_config` VALUES ('act_enable', '1'); INSERT INTO `bb_config` VALUES ('act_repl_text', '<a href="actors.php?id={id}">{name}</a>'); INSERT INTO `bb_config` VALUES ('act_per_page', '40');
На этотPHP://Actors $lang['ACT_PERSONS'] = 'Актёры'; $lang['ACT_RU_NAME'] = 'Имя на Русском'; $lang['ACT_EN_NAME'] = 'Имя на Английском'; $lang['ACT_BIRTHDATE'] = 'Дата рождения'; $lang['ACT_BIRTHPLACE'] = 'Место рождения'; $lang['ACT_FOTO'] = 'Фотография'; $lang['ACT_CAREER'] = 'Карьера'; $lang['ACT_BIOGRAPHY'] = 'Биография'; $lang['KP_ID'] = 'ID странице на Кинопоиске'; $lang['KP_STR'] = 'Страница на Кинопоиске'; $lang['ACT_INFO'] = 'Информация о актёре'; $lang['ACT_LIST'] = 'Список актеров'; $lang['ACT_EDIT'] = 'Редактирование персоны'; $lang['ACT_LIST_TORR'] = 'Раздачи с актером'; $lang['ACT_EDIT_TETLE'] = 'Редактирование персоны'; $lang['ACT_NEW_ADD_TETLE'] = 'Добавления новай персоны'; $lang['NO_ACT_NAME'] = 'Вы должны указать имя актера.'; $lang['ACT_NO_LIST'] = 'Список пуст'; $lang['ACT_NO'] = 'Такого актера не существует.'; $lang['ACT_ADD'] = 'Актор был успешно добавлен!'; $lang['ACT_EDITED'] = 'Актор был успешно изменен!'; $lang['ACT_DELETED'] = 'Актор был успешно удален!'; $lang['ACT_U_RETURN'] = 'Перейти к просмотру актера'; $lang['ACT_CONFIRM_DELETE'] = 'Вы уверены, что хотите удалить этого актера?'; $lang['ACT_NO_BIRTHDAY'] = 'Вы не указали дату рождения!'; $lang['ACT_WORK_IMAGES_FORMAT'] = 'Не верный формат изображения! Доступны только (gif, png, jpg)'; $lang['ACT_NO_TORR_LIST'] = 'Нет раздач с этим актером.'; $lang['KP_ID_NO_FORMAT'] = 'Вы должны указать только число.'; $lang['ZODIAC_SIGN'] = array( 'start' => array(1=>21, 2=>20, 3=>20, 4=>20, 5=>20, 6=>20, 7=>21, 8=>22, 9=>23, 10=>23, 11=>23, 12=>23), 'zn' => array( 'name' => array('Козерог', 'Водолей', 'Рыбы', 'Овен', 'Телец', 'Близнецы', 'Рак', 'Лев', 'Девы', 'Весы', 'Скорпион', 'Стрелец'), 'img' => array('capricorn.gif','aquarius.gif','pisces.gif','aries.gif','taurus.gif','gemini.gif','cancer.gif','leo.gif','virgo.gif','libra.gif','scorpio.gif','sagittarius.gif'), ) );
3-е. Открыть (library/includes/functions.php) и заменить function zodiac_sign() на:PHP://Actors $lang['ACT_PERSONS'] = 'Актёры'; $lang['ACT_RU_NAME'] = 'Имя на Русском'; $lang['ACT_EN_NAME'] = 'Имя на Английском'; $lang['ACT_NAME'] = 'Имя актера'; $lang['ACT_ID'] = 'ID актера'; $lang['ACT_BIRTHDATE'] = 'Дата рождения'; $lang['ACT_BIRTHPLACE'] = 'Место рождения'; $lang['ACT_FOTO'] = 'Фотография'; $lang['ACT_CAREER'] = 'Карьера'; $lang['ACT_BIOGRAPHY'] = 'Биография'; $lang['KP_ID'] = 'ID странице на Кинопоиске'; $lang['KP_STR'] = 'Страница на Кинопоиске'; $lang['ACT_INFO'] = 'Информация о актёре'; $lang['ACT_LIST'] = 'Список актеров'; $lang['ACT_EDIT'] = 'Редактирование персоны'; $lang['ACT_LIST_TORR'] = 'Раздачи с актером'; $lang['ACT_EDIT_TETLE'] = 'Редактирование персоны'; $lang['ACT_NEW_ADD_TETLE'] = 'Добавление персоны'; $lang['NO_ACT_NAME'] = 'Вы должны указать имя актера.'; $lang['ACT_NO_LIST'] = 'Список пуст'; $lang['ACT_NO'] = 'Такого актера не существует.'; $lang['ACT_ADD'] = 'Актор был успешно добавлен!'; $lang['ACT_EDITED'] = 'Актор был успешно изменен!'; $lang['ACT_DELETED'] = 'Актор был успешно удален!'; $lang['ACT_U_RETURN'] = 'Перейти к просмотру актера'; $lang['ACT_CONFIRM_DELETE'] = 'Вы уверены, что хотите удалить этого актера?'; $lang['ACT_NO_BIRTHDAY'] = 'Вы не указали дату рождения!'; $lang['ACT_WORK_IMAGES_FORMAT'] = 'Не верный формат изображения! Доступны только (gif, png, jpg)'; $lang['ACT_NO_TORR_LIST'] = 'Нет раздач с этим актером.'; $lang['KP_ID_NO_FORMAT'] = 'Вы должны указать только число.'; $lang['ZODIAC_SIGN'] = array( 'AQUARIUS' => 'Водолей', 'ARIES' => 'Овен', 'CANCER' => 'Рак', 'CAPRICORN' => 'Козерог', 'GEMINI' => 'Близнецы', 'LEO' => 'Лев', 'LIBRA' => 'Весы', 'PISCES' => 'Рыбы', 'SAGITTARIUS' => 'Стрелец', 'SCORPIO' => 'Скорпион', 'TAURUS' => 'Телец', 'VIRGO' => 'Дева', ); //Actors Admin $lang['AD_ACT_PANEL'] = 'Управление актерами'; $lang['AD_ACT_PANEL_EXPLAIN'] = 'Здесь вы можете добавлять, редактировать, просматривать и удалять актеров. Вы также можете обновить базу.'; $lang['AD_ACT_ADD_NEW'] = 'Добавить актера'; $lang['AD_ACT_SYC'] = 'Обновить посты'; $lang['AD_ACT_ENABLE'] = 'Включить паказ актеров'; $lang['AD_ACT_ENABLE_EXPLAIN'] = 'Выдилять актеров в торрен раздачах'; $lang['AD_ACT_PER_PAGE'] = 'Актеров на страницу'; $lang['AD_ACT_REPLACE_TEXT'] = 'Как будет выглядеть ссылка в топиках'; $lang['AD_ACT_CONFIG'] = 'Настройки'; $lang['AD_ACT_CONFIG_EXPLAIN'] = 'Эта форма позволит вам изменить настройки мода Актеры.'; $lang['AD_ACT_CONFIG_UPDATED'] = 'Настройки актеров успешно изменены'; $lang['AD_CLICK_RETURN_ACT_LIST'] = '%sПерейти к списку актеров%s'; $lang['AD_CLICK_RETURN_ACT_CONFIG'] = '%sВернуться к настройкам%s';
4-е. Открыть (library/includes/bbcode.php) найти:PHP:function get_zodiac($birthday, $mode = 'full') { global $lang; if (!empty($birthday)) { list($bday, $bmonth) = array_map('intval', explode('-', $birthday)); $zodiac_array = array('aries' => array(3, 20, 4, 20),'taurus' => array(4, 19, 5, 21),'gemini' => array(50, 20, 6, 21),'cancer' => array(6, 20, 7, 23), 'leo' => array(7, 22, 8, 23),'virgo' => array(8, 22, 9, 23), 'libra' => array(9, 22, 10, 23),'scorpio' => array(10, 22, 11, 22),'sagittarius' => array(11, 21, 12, 22),'capricorn' => array(12, 21, 1, 20),'aquarius' => array(1, 19, 2, 19),'pisces' => array(2, 18, 3, 21)); foreach ($zodiac_array as $sign => $date) { if (($bmonth == $date[0] && $bday > $date[1]) || ($bmonth == $date[2] && $bday < $date[3])) { $image = BB_ROOT .'styles/images/zodiac/' . $sign . '.gif'; $title = $lang['ZODIAC_SIGN'][(strtoupper($sign))]; switch ($mode){ case 'name': $data = $title; break; case 'images': $data = "<img src='$image' alt='$title' title='$title' style='vertical-align:middle;' />"; break; case 'full': $data = "($title) <img src='$image' alt='$title' title='$title' style='vertical-align:middle;' />";; break; } return $data; } } } }
Заменить на:PHP:if (!$actors = $datastore->get('actors')) { $datastore->update('actors'); $actors = $datastore->get('actors'); } foreach ($actors as $key => $row) { if (!empty($row['actor_runame']) || !empty($row['actor_enname']) ) { $runame = explode(',', $row['actor_runame']); $enname = explode(',', $row['actor_enname']); foreach (array_merge($runame, $enname) as $word) { $name[] = $word; $replace[] = "<a href=\"actors.php?id={$row['actor_id']}\">$word</a>"; } } } $message = str_replace($name, $replace, $message);
5-е. Открыть (library/includes/functions_post.php) найти:PHP:if($bb_cfg['act_enable']){ $actrow = DB()->fetch_rowset("SELECT actor_id, actor_runame, actor_enname FROM " . BB_ACTORS . ' ORDER BY actor_id ASC'); if ($actrow){ foreach ($actrow as $key => $row) { $runame = explode(',', $row['actor_runame']); $enname = explode(',', $row['actor_enname']); $array_name = array_diff(array_merge($runame, $enname), array('')); foreach ($array_name as $word) { $name[] = $word; $replace[] = str_replace(array('{id}', '{name}'), array($row['actor_id'], $word), $bb_cfg['act_repl_text']); } } $message = str_replace($name, $replace, $message); } }
Выше вставить:PHP:update_post_html(array( 'post_id' => $post_id, 'post_text' => $post_message, ));
Вроде все!PHP:if($bb_cfg['act_enable']){ $actrow = DB()->fetch_rowset("SELECT actor_id, actor_runame, actor_enname FROM " . BB_ACTORS . ' ORDER BY actor_id ASC'); if ($actrow){ foreach ($actrow as $key => $row) { $runame = explode(',', $row['actor_runame']); $enname = explode(',', $row['actor_enname']); $array_name = array_diff(array_merge($runame, $enname), array('')); foreach ($array_name as $word) { $name[] = $word; $replace[] = str_replace(array('{id}', '{name}'), array($row['actor_id'], $word), $bb_cfg['act_repl_text']); } } //$replace = str_pad($replace, 10,htmlspecialchars(" "), STR_PAD_LEFT); $post_message = str_replace($name, $replace, $post_message); } }
Исправлены найденные ошибки.
Добавлен кеш.
Добавлен раздачи актера.
Сайт выдавал ошибку при загрузки файла пришлось загрузить на внешний сервер.1-е. Сделать запрос в базу.
2-е. Открыть (viewtopic.php) и удалить:Код:ALTER TABLE `bb_actors` ADD `actor_birthplace` varchar(255) NOT NULL; ALTER TABLE `bb_actors` ADD `kp_id` varchar(10) NOT NULL; ALTER TABLE `bb_actors` CHANGE `actor_desc` `actor_biography` VARCHAR(10) NOT NULL;
3-е. Заменить код в конец (library\language\[ru, en, uk]\main.php).PHP:$sql = "SELECT actor_id, actor_runame, actor_enname FROM " . BB_ACTORS ; if (!($result = DB()->sql_query($sql))) { bb_die('Could not get actors information'); } while ($row = DB()->sql_fetchrow($result)) { if (!empty($row['actor_runame']) || !empty($row['actor_enname']) ) { $runame = explode(',', $row['actor_runame']); $enname = explode(',', $row['actor_enname']); foreach (array_merge($runame, $enname) as $word) { $name[] = $word; $replace[] = "<a href=\"actors.php?id={$row['actor_id']}\">$word</a>"; } } } $message = str_replace($name, $replace, $message);
Этот:
PHP:$lang['BIRTHDATE'] = 'Дата рождения'; $lang['BIOGRAPHY'] = 'Биография'; $lang['ACT_LIST'] = 'Список актеров'; $lang['ACT_EDIT'] = 'Редактирование персоны'; $lang['ACT_RU_NAME'] = 'Имя на Русском'; $lang['ACT_EN_NAME'] = 'Имя на Английском'; $lang['ACT_FOTO'] = 'Фотография'; $lang['ACT_BIRTHDATE'] = 'Когда родился'; $lang['ACT_DESC'] = 'Описание'; $lang['ACT_CAREER'] = 'Карьера';
На этот:
4-е. Заменить код в конец (styles\templates\default\css\main.css).PHP://Actors $lang['ACT_PERSONS'] = 'Актёры'; $lang['ACT_RU_NAME'] = 'Имя на Русском'; $lang['ACT_EN_NAME'] = 'Имя на Английском'; $lang['ACT_BIRTHDATE'] = 'Дата рождения'; $lang['ACT_BIRTHPLACE'] = 'Место рождения'; $lang['ACT_FOTO'] = 'Фотография'; $lang['ACT_CAREER'] = 'Карьера'; $lang['ACT_BIOGRAPHY'] = 'Биография'; $lang['KP_ID'] = 'ID странице на Кинопоиске'; $lang['KP_STR'] = 'Страница на Кинопоиске'; $lang['ACT_INFO'] = 'Информация о актёре'; $lang['ACT_LIST'] = 'Список актеров'; $lang['ACT_EDIT'] = 'Редактирование персоны'; $lang['ACT_LIST_TORR'] = 'Раздачи с актером'; $lang['ACT_EDIT_TETLE'] = 'Редактирование персоны'; $lang['ACT_NEW_ADD_TETLE'] = 'Добавления новай персоны'; $lang['NO_ACT_NAME'] = 'Вы должны указать имя актера.'; $lang['ACT_NO_LIST'] = 'Список пуст'; $lang['ACT_NO'] = 'Такого актера не существует.'; $lang['ACT_ADD'] = 'Актор был успешно добавлен!'; $lang['ACT_EDITED'] = 'Актор был успешно изменен!'; $lang['ACT_DELETED'] = 'Актор был успешно удален!'; $lang['ACT_U_RETURN'] = 'Перейти к просмотру актера'; $lang['ACT_CONFIRM_DELETE'] = 'Вы уверены, что хотите удалить этого актера?'; $lang['ACT_NO_BIRTHDAY'] = 'Вы не указали дату рождения!'; $lang['ACT_WORK_IMAGES_FORMAT'] = 'Не верный формат изображения! Доступны только (gif, png, jpg)'; $lang['ACT_NO_TORR_LIST'] = 'Нет раздач с этим актером.'; $lang['KP_ID_NO_FORMAT'] = 'Вы должны указать только число.'; $lang['ZODIAC_SIGN'] = array( 'start' => array(1=>21, 2=>20, 3=>20, 4=>20, 5=>20, 6=>20, 7=>21, 8=>22, 9=>23, 10=>23, 11=>23, 12=>23), 'zn' => array( 'name' => array('Козерог', 'Водолей', 'Рыбы', 'Овен', 'Телец', 'Близнецы', 'Рак', 'Лев', 'Девы', 'Весы', 'Скорпион', 'Стрелец'), 'img' => array('capricorn.gif','aquarius.gif','pisces.gif','aries.gif','taurus.gif','gemini.gif','cancer.gif','leo.gif','virgo.gif','libra.gif','scorpio.gif','sagittarius.gif'), ) );
Этот:На этот:Код:.PersBlock .PersMain,.PersBlock img{width:172px;height:264px}.PersBlock .PersMain{background:#f6f6f6;min-height:250px;font-family:Roboto,sans-serif;font-weight:400;border-width:4px;border-style:solid;border-color:#DDD;box-shadow:10px 10px 6px -6px #777;cursor:pointer;float:left;margin:3px;position:relative}.PersBlock a.PersMain{position:relative;overflow:hidden;transition:all .4s;cursor:pointer}.PersBlock a.PersMain,a.PersMain span.PersInfo{display:block;-moz-transition:all .4s;-webkit-transition:all .4s;-o-transition:all .4s}a.PersMain span.PersInfo{background:rgba(0,37,141,.46);width:100%;height:25px;position:absolute;bottom:0;left:0;z-index:9910;transition:all .4s;white-space:pre;text-align:left;color:rgba(221,243,255,.8)}a.PersMain:hover span.PersInfo{bottom:0;height:60px;color:#fff}a.PersMain span.PersInfo h3{width:auto;padding:5px 0 0 6px;letter-spacing:0}a.PersMain span.PersInfo .PersSM{padding-left:6px;font-size:10px}
5-е. Открыть (library/includes/datastore/common.php) и найти:Код:.listPersons{letter-spacing:-5px;clear:both;display:inline-block;font-family:Tahoma,Geneva,sans-serif;width:100%}.listPersons li{box-shadow:1px 1px 0 rgba(0,0,0,.1) inset,-1px -1px 0 rgba(0,0,0,.1) inset;margin:0 .4% 1%;width:11%;padding:.3%;border-radius:2px;display:inline-block;zoom:1;vertical-align:top;letter-spacing:normal;font-size:80%;color:#666;position:relative}.listPersons li a.thumb{margin:0;background-size:auto 101%;background-position:center;background-repeat:no-repeat;display:block;position:relative;border-radius:2px;overflow:hidden}.listPersons li a.thumb img,.listPersons li span.sthumbs a img{width:100%;height:auto;display:inline-block;zoom:1;border:none}.listPersons li span.base{position:absolute;bottom:0;left:0;width:95%;padding:.3% 2.5%;background:rgba(0,0,0,.75)}.listPersons li span.nameru{font-size:160%;font-weight:700;margin:0;color:#fff;line-height:160%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-family:'Helvetica Neue',Helvetica,Arial;display:block;text-decoration:none}.listPersons li p.nameen{font-size:90%;display:block;margin:0 0 6px;color:#ccc}
'attach_extensions' => 'build_attach_extensions.php',
Выше вставить:
'actors' => 'build_actors.php',
6-е. Открыть (ajax.php) и найти:
'manage_group' => array('user'),
Ниже вставить:
'actors' => array('user'),
найти:
Ниже вставить:PHP:function sitemap() { require(AJAX_DIR .'sitemap.php'); }
7-е. Открыть (library/includes/functions.php) и в конец добавить:PHP:function actors() { require(AJAX_DIR .'mod_actors.php'); }
8-е. Открыть (library/includes/bbcode.php) и заменить всю функцию get_parsed_post.PHP:function zodiac_sign($data){ global $lang; $date = explode('-', substr($data, 5)); $month = $date[0]; $day = $date[1]; if($day < $lang['ZODIAC_SIGN']['start'][$month + 1]){ $Zname = $lang['ZODIAC_SIGN']['zn']['name'][$month - 1]; $Zimages = $lang['ZODIAC_SIGN']['zn']['img'][$month - 1]; }else{ $Zname = $lang['ZODIAC_SIGN']['zn']['name'][$month % 12]; $Zimages = $lang['ZODIAC_SIGN']['zn']['img'][$month % 12]; } $data = '<img src="'. BB_ROOT .'styles/images/zodiac/'. $Zimages .'" alt="'. $Zname .'" title="'. $Zname .'" border="0" />'; return $data; }
На это:
11-е. Распаковать архив в корень сайта.PHP:function get_parsed_post ($postrow, $mode = 'full', $return_chars = 600) { global $bb_cfg, $datastore; if ($bb_cfg['use_posts_cache'] && !empty($postrow['post_html'])) { return $postrow['post_html']; } $message = bbcode2html($postrow['post_text']); $ActList = DB()->fetch_rowset("SELECT actor_id, actor_runame, actor_enname FROM " . BB_ACTORS . ' ORDER BY actor_id ASC'); if ($ActList){ foreach ($ActList as $key => $row) { if (!empty($row['actor_runame']) || !empty($row['actor_enname'])) { $runame = explode(',', $row['actor_runame']); $enname = explode(',', $row['actor_enname']); foreach (array_merge($runame, $enname) as $word) { $name[] = $word; $replace[] = "<a href=\"actors.php?id={$row['actor_id']}\">$word</a>"; } } } $message = str_replace($name, $replace, $message); } // Posts cache if ($bb_cfg['use_posts_cache']) { DB()->shutdown['post_html'][] = array( 'post_id' => (int) $postrow['post_id'], 'post_html' => (string) $message, ); } return $message; }
Вот вроди и все!!!
Смотрим, тестим, предлогаем!