Skip to content
Browse files

create

  • Loading branch information...
0 parents commit 67e18867945edd22bf7179f9ac0bc1d8b6fbd52e Admin committed
0 .hgignore
No changes.
17 .htaccess
@@ -0,0 +1,17 @@
+RewriteEngine on
+
+
+RewriteRule ^quote/([0-9]+)/?$ index.php?postid=$1 [L]
+RewriteRule ^users/([0-9]+)/?$ index.php?do=users&id=$1 [L]
+RewriteRule ^best$ index.php/?act=best [L]
+RewriteRule ^bestusers$ index.php/?act=bestusers [L]
+RewriteRule ^rand$ index.php/?act=rand [L]
+RewriteRule ^abyss$ index.php/?act=abyss [L]
+RewriteRule ^users$ index.php/?do=users [L]
+RewriteRule ^addpost$ index.php/?do=addpost [L]
+
+
+
+RewriteCond %{HTTP_REFERER} (weight) [NC,OR]
+RewriteCond %{HTTP_REFERER} (drugs) [NC]
+RewriteRule .* - [F]
248 bash------.sql
@@ -0,0 +1,248 @@
+CREATE TABLE IF NOT EXISTS `config` (
+ `ckey` varchar(20) NOT NULL,
+ `value` varchar(150) NOT NULL,
+ KEY `varkeys` (`ckey`)
+) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
+
+INSERT INTO `config` (`ckey`, `value`) VALUES
+('site_name', 'УкрБаш - український цитатник!'),
+('site_lang', 'ua'),
+('page_posts_num', '10'),
+('page_posts_get_num', '15'),
+('page_user_list', '20');
+
+CREATE TABLE IF NOT EXISTS `lang` (
+ `langkey` varchar(50) NOT NULL,
+ `langname` varchar(4) NOT NULL DEFAULT 'ua',
+ `langvalue` varchar(255) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
+
+INSERT INTO `lang` (`langkey`, `langname`, `langvalue`) VALUES
+('fio', 'ua', ' ФІО'),
+('username', 'ua', 'Нік'),
+('count-posts', 'ua', ' Кількість цитат'),
+('anonim', 'ua', 'aнонім'),
+('users', 'ua', 'Користувачів'),
+('deleted', 'ua', 'Видалено'),
+('enabled', 'ua', 'На сайті'),
+('all-posts', 'ua', 'Всього цитат'),
+('author', 'ua', 'Автор'),
+('post-date', 'ua', 'Опубліковано'),
+('low-up', 'ua', 'Смішно!'),
+('low-down', 'ua', 'Не смішно!'),
+('comments', 'ua', ' Коментарів'),
+('posts', 'ua', 'Цитат'),
+('detali', 'ua', 'Детальніше'),
+('detal', 'ua', '>>>'),
+('info-show-user', 'ua', 'Детальніше про користувача'),
+('count-comments', 'ua', 'Кількість коментарів'),
+('submit', 'ua', 'Відправити'),
+('login-form', 'ua', 'Сторінка авторизації'),
+('login-error-login-pass', 'ua', 'Помилка!'),
+('login', 'ua', 'Логін'),
+('passwd', 'ua', 'Пароль'),
+('user-panel', 'ua', ' Сторінка користувача'),
+('write-user', 'ua', 'Відправити повідомлення'),
+('pages', 'ua', 'Сторінки'),
+('post-num', 'ua', 'Цитата №'),
+('best', 'ua', 'Найкращі'),
+('rand', 'ua', 'Випадкові'),
+('new', 'ua', 'Нові'),
+('abyss', 'ua', 'Найгірші'),
+('user', 'ua', 'Користувачі'),
+('bestuser', 'ua', 'Найкращі користувачів'),
+('addpost', 'ua', 'Додати'),
+('add-post-non-auth', 'ua', '<b>Увага!</b> Ви не <a href="./?do=login">авторизовані</a> на сайті тому цитата буде додана <b>анонімно</b>.'),
+('add-post-ok', 'ua', 'Цитата успішно додана.'),
+('add-post-error', 'ua', 'Помилка! Попробуйте пізніше.'),
+('log-in', 'ua', 'Ввійти'),
+('log-reg', 'ua', 'Реєстрація'),
+('adminka', 'ua', 'Адмінка'),
+('hello', 'ua', ' Привіт!'),
+('log-out', 'ua', 'Вийти'),
+('log-panel', 'ua', 'Панель користувача'),
+('re-passwd', 'ua', 'Підтвердіть пароль'),
+('email', 'ua', 'E-mail'),
+('form-register', 'ua', 'Реєстрація на сайті'),
+('register-error-username', 'ua', 'Логін обов''язковий!'),
+('register-error-pass', 'ua', 'Пароль обов''язковий!'),
+('register-error-pass2', 'ua', 'Підтвердження обов''язкове!'),
+('register-error-email', 'ua', 'Електронна пошта обов''язкова!'),
+('register-error-user-is', 'ua', 'Користувач з таким логіном уже зареєстрований!'),
+('register-error-email-check', 'ua', 'Помилка в ''E-mail'''),
+('register-error-pass-check', 'ua', 'Паролі не однакові!'),
+('register-error-email-use', 'ua', 'Користувач з данним мейлом уже зареєстрований!'),
+('register-ok', 'ua', 'Ви успішно зареєстровані.'),
+('count-rating', 'ua', 'Рейтинг'),
+('edit-profil', 'ua', 'Редагувати профіль'),
+('new-passwd', 'ua', 'Новий пароль'),
+('new-re-passwd', 'ua', 'Повторіть'),
+('passwd-this', 'ua', 'Введіть теперішній пароль'),
+('admin-users', 'ua', 'Користувачі'),
+('admin-posts', 'ua', 'Цитати'),
+('admin-news', 'ua', 'Новини'),
+('admin-comments', 'ua', 'Коментарі'),
+('admin-username', 'ua', 'Нік'),
+('admin-fio', 'ua', 'ФІО'),
+('admin-email', 'ua', 'E-mail'),
+('admin-rating', 'ua', 'Рейтинг'),
+('admin-prem', 'ua', 'Привілегії'),
+('admin-admin', 'ua', '<b>Адмін</b>'),
+('admin-user', 'ua', 'Користувач'),
+('admin-unblocketd', 'ua', 'Активний'),
+('admin-blocketd', 'ua', 'Блокований'),
+('admin-unblock', 'ua', 'Розблокувати!'),
+('admin-getuser', 'ua', 'Зробити користувачем!'),
+('admin-getadmin', 'ua', 'Зробити адміном!'),
+('admin-block', 'ua', 'Блокувати!'),
+('add-post-rules', 'ua', 'Цитата повинна бути:<br>-україномовною<br>-коротка<br>-унікальна<br>-смішна(ну хоч трошки).<br><br>Набравши -10, цитата видаляється.'),
+('admin-postdate', 'ua', 'Дата публікації'),
+('admin-delete', 'ua', 'Видалити'),
+('admin-site-name', 'ua', 'Назва сайту'),
+('admin-user-list', 'ua', 'Кількість користувачів на сторінку'),
+('admin-page-posts-num', 'ua', 'Кількість цитат на сторінку'),
+('admin-page-get-num', 'ua', 'Кількість цитат на сторінку при фільтрі'),
+('admin-general', 'ua', 'Основні настройки');
+
+
+CREATE TABLE IF NOT EXISTS `posts` (
+ `id` int(10) NOT NULL AUTO_INCREMENT,
+ `postdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `text` text NOT NULL,
+ `rating` int(10) NOT NULL DEFAULT '0',
+ `status` enum('enabled','deleted') NOT NULL DEFAULT 'enabled',
+ `author` int(20) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`,`rating`)
+) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=83 ;
+
+INSERT INTO `posts` (`id`, `postdate`, `text`, `rating`, `status`, `author`) VALUES
+(1, '2010-11-10 03:13:02', 'Яке залізне терпіння потрібно мати, щоб висидіти спокійно на парі, нічого не роблячи...', 0, 'deleted', 1),
+(2, '2010-11-10 03:13:15', 'Читаю на Вікіпедії статтю &quot;Хронологія історії України&quot;.<br />\r\nОстанній запис: &quot;2010, Президентом стає В. Янукович&quot;.<br />\r\nСимволічно..', 0, 'enabled', 1),
+(3, '2010-11-10 03:13:28', 'Сьогодні на практиці з вишки викладач(в) викликає дівчину-блондинку(б) до дошки:<br />\r\n(в) тааак, до дошки дуже хоче в нас іти..Яншина!<br />\r\n(б) вибачте, будь ласка,..але я не розумію цю тему..<br />\r\n(в) ви думаєте її тут хоч хтось розуміє?..<br />\r\n<br />\r\nреалістично викладач на речі дивиться:)', 0, 'enabled', 1),
+(4, '2010-11-10 03:13:45', '3 пара. 70 відсотків студентів відсутня. Заходить викладач і викликає до себе присутніх старост. Далі діалог<br />\r\n<br />\r\nВ: А чому це вас так мало сьогодні?<br />\r\nС: Так хворіють всі.<br />\r\nВ: А ви напевно не хворієте бо &quot;Амізон&quot; приймаєте?<br />\r\nС: Роблять здивований вигляд<br />\r\nВ: Чого так дивитесь на мене?? Кажу по буквам. А-м-і-з-о-н. Ви що рекламу не дивитесь чи що?....', 0, 'enabled', 1),
+(5, '2010-11-10 03:14:13', 'Якось, ми з друзями поїхали в Одесу на коньячний завод, подивитися як виготовляють коньяк. Нам проводять екскурсію, я дивлюся що всі пляжки наповнюються з одної лінії(бочки), а вкінці лінії стоять жіночки і кляють наклейки, хто із трьогма зірками, хто із п ятьма,я доних кажу : -Навіщо ви дурете покупців, а одна зних:<br />\r\n-Які наклейки маємо такі і клеємо.<br />\r\nА,ми думаємо чому ми так живемо!!!!', 0, 'enabled', 1),
+(6, '2010-11-10 03:14:23', 'Якщо в Україні справді введуть обов''язкову реєстрацію ліцензійних телефонів, то перший відключений телефон буде у Януковича.', 0, 'deleted', 0),
+(7, '2010-11-10 03:14:32', 'Стрічка новин:<br />\r\nЧорний список IMEI крадених телефонів заблокували.<br />\r\nУ Адміністрації Президента проблеми із звязком.', -7, 'enabled', 1),
+(8, '2010-11-10 03:14:51', 'Оголошення:<br />\r\nЗдам ДВОМ ОХАЙНИМ ДІВЧАТАМ (студенткам 1-5 курсу) другий поверх (дві великі кімнати) в особняку. 400 грн. на місяць з особи.<br />\r\n<br />\r\nНижче ручкою дописано:<br />\r\nА хто хоче безплатно - додаткові умови обговоримо під час зустрічі:)))', 100, 'enabled', 1),
+(9, '2010-11-10 03:15:01', 'не думайте, що львів''яни живуть в маршрутках,ось вам випадок з львівського трамваю:<br />\r\nсидимо ми з другом на кріслах біла нас стоять якісь дівчата(неформалки),<br />\r\nа попереду якісь три гопа та шей крім того накурені в топку))<br />\r\nну от розмова дівчат і хлопців х д<br />\r\nх:о а ви почому виступаєте,напевно по хеві металу<br />\r\nд:ми по брутал дез<br />\r\nх:та то те саме,воно однакове,а от ти(каже до дівчини)знаєш де я вчусь?<br />\r\nд:вона звісно що ні<br />\r\nх:а я(і такий наголос)в політехнічному університеті<br />\r\nі пів трамваю вмерло після фрази одної бабки<br />\r\n&quot;і як таке бидло може там вчитись&quot;<br />\r\nми ржали довго(а ті двоє будуть знати як то путати хеві з брутал дезом))', 0, 'enabled', 1),
+(10, '2010-11-10 03:15:14', 'Щойно сідаю у 31 маршрутку їду з гулянь до домів. Водій довго і нудно стоїть на кінцевій і набирає людей. Всі сидячі місця вже зайняті і кілька людей стоїть.Тут до нього дзвонять, скоріш за все інший водій. Далі його точні слова:<br />\r\nТа да... Та вже їду!.. Та вже навіть стоячьок є!...<br />\r\nПів маршрутки злягло.)...', 0, 'enabled', 0),
+(11, '2010-11-10 03:15:23', 'Після програного Карпатами матчу Севільї (0:4) головний тренер Карпат почав післяматчеву прес-конференцію з фрази:<br />\r\n- Судячи по результату гри, ми її програли.<br />\r\nКапітан очевидність розуміється на футболі:))', 0, 'enabled', 1),
+(12, '2010-11-10 03:16:41', 'Прибігаю після пар додому голодна і кидаюся на печенько: наминаю, наминаю, наминаю...<br />\r\nмама:йди мий руки і їж борщ.<br />\r\nя:мам, які руки? я звечора нічого толкового в роті не тримала.<br />\r\nО_о', 0, 'enabled', 1),
+(13, '2010-11-10 03:17:02', 'Народна мудрість:<br />\r\nЯкщо голоби літають низько над головою - до прання!', 0, 'enabled', 1),
+(14, '2010-11-10 03:17:13', 'Червоненко смалить:<br />\r\nШахмати - небезпечний спорт. Можна заснути, впасти і розбити голову...', 0, 'enabled', 1),
+(15, '2010-11-10 03:17:25', 'Стоїть знайомий в аптеці. Перед ним дівчина замовляє Фастум-гель. Аптекарша питає:<br />\r\n- Вам який, великий чи маленький?<br />\r\nДівчина каже шо не знає і показує руками:<br />\r\n- десь такий...<br />\r\nДруг:<br />\r\n- Нормальний!)', 0, 'enabled', 1),
+(16, '2010-11-10 03:17:35', 'Лекція з фізики. Викладач розповідає про інфразвук та вібрацію. На одному зі студентів демонструє дію віброелектромасажеру. Відправляє студента на місце і, хитро посміхаючись, говорить:<br />\r\n- Але є ще один прилад, заснований на корисній дії вібрації... Особливо широкою популярністю він користується в жінок...<br />\r\nАудиторія лежить зі сміху. Викладач вдоволено спостерігає за реакцією потоку і додає:<br />\r\n- А що? Цей прилад аж ніяк не шкідливий, навіть навпаки...', 0, 'deleted', 1),
+(17, '2010-11-10 03:17:50', 'вирішила я подарувати хлопцю своєму на день ангела труси, прийшла в магазин, але розміру конкретно не знаю, кажу до продавця:<br />\r\n- Мені потрібні чоловічі труси<br />\r\n- Якого розміру?<br />\r\n- Ем... Ну я так точно не знаю...<br />\r\n- Руками покажіть<br />\r\nя трохи здивована таким підходом, але показую<br />\r\nвона підібрала, я собі вже з них вибрала<br />\r\nі що ви думаєте? підійшли!!! ))<br />\r\nвчіться, як треба розміри розпізнавати', 0, 'enabled', 1),
+(18, '2010-11-10 03:18:00', '*для довідки: одним із компонентів допоміжного апарату ока є повіки та вії*<br />\r\nОтже, мій 9-ий клас, контрольна на уроці біології. Всі пишуть, а наша вчителька сидить і перевіряє аналогічні потуги паралельного класу. Раптом зосереджену роботу класу перериває раптовий нестримний напад сміху у вчительки. Зі сльозами на очах вона цитує нам наступну фразу:<br />\r\n&quot;До складу допоміжного апарату ока входять брови, сльозовий апарат і ПОВІЇ&quot;.<br />\r\nось так хтось вирішив об''єднати 2 слова в одне)))', 0, 'enabled', 1),
+(19, '2010-11-10 03:18:11', 'Коли старший брат нарешті проводить сестрі інтернет і сподівається отримати довгоочікуваний спокій,вона замість того щоб тепер стукати в двері і набридати тупими запитаннями,пише в скайпі &quot;зараз зайду&quot;...', 0, 'enabled', 1),
+(20, '2010-11-10 03:18:20', 'В сусідньому селі вже третій раз обрали того самого голову. Питаю в знайомого звідти чим той голова здобув популярність. Ну друг розказує - там дорогу поладив, поставив вітальний стенд при в''їзді, браму на стадіон зробив. Проїжджаючи повз те село, вирішив глянути на браму стадіону. Так, дійсно, хороша висока брама, великий замок і колодка на ній. А навколо стадіону ... навіть стовпців нема, не те що огорожі.<br />\r\nНафіга та брама? epic fail', 0, 'enabled', 1),
+(21, '2010-11-10 03:18:31', 'Іде по вулиці студент.<br />\r\nЩось пахне свіже та гаряче,<br />\r\nА голод, злісний перманент,<br />\r\nУсе сильніш у шлунку плаче.<br />\r\n<br />\r\nЗітхнув лиш жалібно студент<br />\r\nІ проковтнув солодку слину.<br />\r\nСпустив стипендію ущент –<br />\r\nЗамість харчів гризе латину…', 0, 'enabled', 1),
+(22, '2010-11-10 03:18:49', 'Сиджу якось у двоюрідної сестри, щось там на ноуті клацаю ...<br />\r\nУ сестри двоє дітей, але далі розмова буде про старшу (їй 5 рочків)<br />\r\nсидимо щось говоримо собі (Я,Сестра і її чоловік) мала грається поряд<br />\r\nі тут сестра каже<br />\r\n- наша Таня вже букву &quot;Р&quot; гарно вимовляє<br />\r\nя питаю - Таня а як маму звати? (ІРа)<br />\r\n- Мама!<br />\r\n- А тата? (СеРгій)<br />\r\n- Тато!<br />\r\nі тут мама до малої показуючи на Рот каже &quot;Тянюшка що це таке?&quot;<br />\r\nмала - зуби, губи, весь набір, але не те, що треба (второпала, але хитрюща робить все навпаки)<br />\r\nну сестра вже аж змучилась питати ....<br />\r\nі каже - А чим ти їж?<br />\r\nмала не заставила довго чекати відповіді<br />\r\n- Виделкою!!!<br />\r\nзасранка так і не сказала РОТОМ =)', 0, 'enabled', 1),
+(23, '2010-11-10 03:19:01', 'дилема навчання: софтверна компанія<br />\r\nххх: порекомендуй хорошу книжку по С#<br />\r\nууу: хороші програмісти по С# книжок непишуть ...', 0, 'enabled', 1),
+(24, '2010-11-10 03:19:13', 'Нє ну це звичайно прикольно слухати як Шиба (мер Луцька) говорить,не вимоляючи букви р,однак фраза &quot;Наше місто все гавнішає і гавнішає...&quot; заставила трохи задуматись...', 0, 'deleted', 1),
+(25, '2010-11-10 03:19:26', 'Племінник(4 роки) видає постійні перли.<br />\r\nРозглядаємо з ним книжку з поїздами.<br />\r\nП. О, дивись гавон (Він часто міняє місцями склади в словах)<br />\r\nЯ. Не гавон, а вагон. Скажи - вагон.<br />\r\nП. Та ні, я помилився, то локомотив.', 0, 'enabled', 1),
+(26, '2010-11-10 03:19:38', 'Новий ггенпрокурор назвав себе членом команди по виконанню рішень президента.<br />\r\nНу майже не спалився =)', 0, 'enabled', 1),
+(27, '2010-11-10 03:19:48', 'Отаннім часом помітив що баптисти стали приносити більше буклетиків, ніж мені приходить спаму на мейл, був би я богом, дав би за таке бан по ІР...', 0, 'enabled', 1),
+(28, '2010-11-10 03:20:02', 'На сайті з рефератами щоб написати комент треба замість коду з малюнка написати другий місяць року... Тут я зрозумів, що пам''ять теж треба качати:)', 0, 'enabled', 1),
+(30, '2010-11-10 03:20:50', 'на днях в херсоні був ювілей чергової совкової революції,походу 95 років.Відповідно десь бродили бабульки,був тіпа якийсь парад.І тут стоїть бабця із великою скринькою-копілкою повністю набитою грошима.На скриньці надпис&quot;пожертва погибшим комсомольцам&quot;.Коли хтось таки додумався що померлим гроші не сильно треба,бабулька вже кудись сквозанула)', 0, 'enabled', 1),
+(31, '2010-11-10 03:21:00', 'Бажаєш гострих відчуттів? Вдягнися рєпєром і піди на рок-концерт)', 300, 'enabled', 1),
+(32, '2010-11-10 03:21:14', 'Особливістю бусиків (так ми називаємо рейсові мікроавтобуси які відправляються з славнозвісного базару) Хмельниччини є те, що водії садять людей враховуючи дальність їхнього проїзду. Тобто, спочатку сідають ті що їдуть далі (відповідно вони і платять більше), а далі, якщо є вільні місця, сідають пасажири які їдуть ближче.<br />\r\n<br />\r\nТак ось, п’ятниця, як завжди купа студентів і виїхати практично нереально, я підходжу до автобуса біля якого стоїть водій і доволі таки симпатична дівчина. Відбувається наступний діалог:<br />\r\nЯ: - Доброго дня! У Вас вільні місця є?<br />\r\nВодій: - Ще одне є. А куди ви їдете?<br />\r\nЯ: - Віньківці (це кінцевий пункт його призначення)<br />\r\nВодій: - Так, проходьте сідайте<br />\r\n<br />\r\nЯ заходжу в автобус і чую за спиною репліку дівчини:<br />\r\n- Блін! Із-за цих придурків з Віньковець, я сьогодні тут залишусь ночувати!!!<br />\r\n<br />\r\nА з вигляду така симпатична...', 0, 'enabled', 0),
+(33, '2010-11-10 03:21:31', 'Їздили з класом колись до Львова, а в екскурсоводи нам попалась бабушка-русофілка типова (мабуть, спеціально для туристів з Росії). Були в Парку Шевченка (чи гаю, не пам*ятаю). Стався з нею такий діалог:<br />\r\n- Гуцулы, как вам известно, жили высоко в горах вдали от благ цивилизации. Как вы думаете, где они брали масло (олію)?<br />\r\n- Душили з москалів :))))))<br />\r\n<br />\r\nКлас ледь гланди від реготу не виплюнув, а тьотя на мене потім дивилася скоса :)))))', 0, 'enabled', 1),
+(34, '2010-11-10 03:21:44', 'знайома найшла свій лист до св.Миколайка)<br />\r\nі писала вона Миколайку років 10 тому:хочу светрик,на вихід..:D<br />\r\nі нові колготки)<br />\r\nот так то :D', 0, 'enabled', 1),
+(35, '2010-11-10 03:22:03', 'мала (2,5 роки) дуже любить, коли зауважують, як вона гарно одягнута. приходить якось сусідка і, не чекаючи, поки мала почне хвалитися, каже:<br />\r\n- Ой Ксюша, які в тебе гарні капці! А яка сукенка чудова! Ой, а хто то тобі таку класну зачіску зробив?<br />\r\nмала не думаючи підходить до сусідки, обнімає і видає:<br />\r\n- тьотя Леся, яка ти мудра!!!', 0, 'enabled', 1),
+(36, '2010-11-10 03:22:45', 'Ми з братом націоналісти .. Одного разу брат приходить зі школи і каже :<br />\r\n- Я сьогодні з російської мови отримав 12 балів .<br />\r\nІ я ні хвильки не вагаючись кажу :<br />\r\n- На... з хати !!!', 0, 'enabled', 1),
+(37, '2010-11-10 03:23:08', 'Новий погляд на історію))<br />\r\n<br />\r\n&quot;...особливу увагу потрібно звернути на героя античного періоду - Янукла. Янукл - син бога котрий народився в древньогрецькому місті Єнакієни.<br />\r\nУчні повинні знати і поважати 12 подвигів якукла!<br />\r\n<br />\r\n– Придушення Майданського лева;<br />\r\n– Вбивство Косатой Гідри;<br />\r\n– Винищення Межигірських птахів;<br />\r\n– Спіймання Юліанськой лані;<br />\r\n– Укрощение Черновецького вепра и братання с його кентаврами;<br />\r\n– Очистка Бюджетних конюшень;<br />\r\n– Укрощение Донецького быка;<br />\r\n– Перемога над царем Ющером (він кидав іноземців на поїдання своїм бджолам);<br />\r\n– Крадіжка трусів Руслани, цариці амазонок;<br />\r\n– Крадіжка газа у двуголового велетня Медвепута;<br />\r\n– Крадіжка золотих яблук із саду Кучмид;<br />\r\n– Укрощение стража Фракції – Эльбруса....&quot;', 0, 'enabled', 1),
+(38, '2010-11-10 03:23:26', 'Я настільки суровий,що після того,як купив монітор,і знайомі мене запитали,яке в нього розширення екрану,я не подивився в інструкцію на технічні характеристики,а сів,і порахував пікселі вручну.', 0, 'enabled', 1),
+(39, '2010-11-10 03:25:07', 'Зайшов до друга на підстанцію швидкої допомоги зняти ЕКГ для медогляду.<br />\r\nЛягаю на кушетку... Поки фельдшер розгортає кардіограф, я краем ока помічаю знайомий прилад та зацікавлено питаю: &quot;Даруйте, лікар, я так розумію, що це мені сьогодні не знадобиться?&quot; - тичу пальцем на розогрнутий портатвний дефібрилято.<br />\r\nТой не довго думаючи с особливим цинізмом відповів: &quot;Нуууу.... Тут все як вийде, але якщо будеш смикатися....&quot; - і починає чипляти електроди.<br />\r\nОСЬ ВОНО! Відчизняна медицина веллична та нещадна!))))', 0, 'enabled', 1),
+(40, '2010-11-10 03:25:24', 'У Харкові комп''ютера &quot;згоріли&quot; з результатами голосування.', 0, 'enabled', 0),
+(41, '2010-11-10 03:25:45', 'Прийшов чоловік з роботи, і я кажу: Моє золотко прийшло з роботи)))<br />\r\nВін: Не золото, а платина!<br />\r\nЯ: Нафта ти моя))))<br />\r\n<br />\r\nВін валявся ще довго))', 0, 'enabled', 1),
+(42, '2010-11-10 03:27:21', 'Піннокіо не любив брехати сидячи біля каміну;)', 0, 'enabled', 1),
+(43, '2010-11-10 03:27:59', 'після хорошого застілля,на 2 день в супермаркеті напис на порошку &quot;+ 100 гр безплатно&quot; здається не зовсім адекватним..))', 0, 'enabled', 1),
+(44, '2010-11-10 03:28:29', 'Стою в черзі на виборчій дільниці, і біля мене зустрічаються двоє чоловіків і починають розмову. З цієї розмови стає зрозуміло, що вони обидва кандидати у &quot;якусь там&quot; раду, і агітаційні плакати одного кандидата заклеїли плакатами іншого.<br />\r\nФрагмент діалогу:<br />\r\n-Здоров конкурент!:)<br />\r\n-Здоров, ти чого мене усюди позаклеював?<br />\r\n-Радій що живим залишився!:)', 0, 'enabled', 1),
+(45, '2010-11-10 03:28:47', 'задав я в пошуку української Вікіпедії запит &quot; що таке cat 5e&quot;, ну,звичайно видало результати. Цікавим було друге посилання:<br />\r\n&quot;Кіт свійський (розділ Основні речовини, що містяться в їжі)&quot;.<br />\r\nНазиваться попробуй!!!', 0, 'enabled', 1),
+(46, '2010-11-10 03:29:09', 'Мені звісно сподобались приколи з передбаченнями на чеках в &quot;Сільпо&quot; але те що я недавно прочитав більш схоже на діагноз - шизофренія:<br />\r\nЗірки на небі розмовляють з вами? ТАК?', 0, 'enabled', 1),
+(47, '2010-11-10 03:29:27', 'Чому інтернет найбільше глючить з 20 до 21 год? Таке враження що всі в неті &quot;надобраніч, діти&quot; дивляться...', 0, 'enabled', 1),
+(48, '2010-11-10 03:29:57', 'сиджу за компом, граю якусь жорстоку гру, тут прибігає плимінник (5 років), десь 2 хвилини дивиться шо я роблю і кричить: відрубай йому голову!<br />\r\nя йому: це ж людина, нащо людей вбивати?<br />\r\nвін: а ти потім йому голову приклей, і він знов буде жити.<br />\r\nя: ну якшо відрізати людині голову, то вона помирає, і навіть якщо її приклеїти, то не поможе.<br />\r\nтоді він видає: навіть якщо скотчем? :)))', 0, 'enabled', 1),
+(49, '2010-11-10 03:30:27', 'ти не програміст якщо не можеш порахувати до шістнадцяти на пальцях однієї руки', 0, 'enabled', 1),
+(50, '2010-11-10 03:30:50', 'От скажіть, що краще? Їхати в загальному вагоні 2,5 години, коли через півгодини у вагон забігає провідниця і кричить-&quot;Люди добрі!Взуйтеся,бо нема чим дихати!&quot;!!! чи у купейному 6 годин, але поруч молода сімя з 6-тимісячною дитиною???????', 0, 'enabled', 1),
+(51, '2010-11-10 03:31:11', 'новий фестивальний вид спорту - стрибати з пластиковою скланкою пива так, щоб жодної краплини не пролилося!', 0, 'enabled', 0),
+(52, '2010-11-10 03:31:34', 'Перли українського перекладу:<br />\r\n<br />\r\n&quot;По машинам!&quot;<br />\r\nпереклад в субтитрах &quot;Помахай нам!&quot;', 0, 'enabled', 1),
+(53, '2010-11-10 03:31:52', 'Гугл знає як скачати безкоштовно все, крім як скачати безкоштовно газ у Росії... А шкода...', 0, 'enabled', 1),
+(54, '2010-11-10 03:32:05', '— Привіт, ти куди?<br />\r\n— На мітинг.<br />\r\n— Який мітинг?! В тебе пляшка горілки з пакета виглядає!<br />\r\n— Мітинг проти здорового способу життя!', 0, 'enabled', 1),
+(55, '2010-11-10 03:32:28', 'блондинки дивують уже не по дням,а по годинам..<br />\r\nпишу їй в асю:<br />\r\n-привіт..<br />\r\nпауза 15хв..<br />\r\nвона виходить з асі.<br />\r\nще через 5хв бачу повідомлення на стіні вконтакті:<br />\r\n-ПРИВІТ!', 0, 'enabled', 1),
+(56, '2010-11-10 03:32:42', 'Новини:<br />\r\nДо Хеловіну в Америці найпопулярнішим є костюм ЛедіГаги..<br />\r\n<br />\r\nЯ завжди знав, що вона зомбі )))', 0, 'enabled', 1),
+(57, '2010-11-10 03:33:00', 'Зранку на комп ставлю програмку GOM Player, вона попросила оновлення , ну і я звичайно обновив....... після чого видає вікно помилки:&quot;Повідомлення про помилку: Немає помилки&quot;......О_о<br />\r\nP.S. програмка так і не працює(((', 0, 'enabled', 1),
+(58, '2010-11-10 03:33:19', 'Граємо з (д)ругом на парі гру &quot;Асоціації&quot;. Сенс гри: по черзі називати слова, так щоб кожне наступне асоціювалося з попереднім.<br />\r\nне памятаю спочатку, але ось самий цікавий момент)))<br />\r\n...<br />\r\nд: - перший клас.<br />\r\nя: - під*рас!!! (ну типу репер 1 клас, шо гонить на всіх, плюс рима вийшла=) ).<br />\r\nд: - перша любов!!!<br />\r\nоце випалив!!!', 0, 'enabled', 1),
+(59, '2010-11-10 03:33:52', 'Адміни рулять!!! Сьогодні зранку в мене відмовися вмикатись офісний компютер... Телефоную адміну, кажу: все пісюк здох і не оживає!<br />\r\nАдмін вбив мене своєю порадою: а ви вилку кабеля живлення з розетки витягніть і назад вставте... Мене порвало :), а найсмішніше, що так зробив і тепер комп знов працює!!!', 0, 'enabled', 1),
+(60, '2010-11-10 03:34:06', 'Колєсніков врізався в стовп. За словами Колєснікова, порушив правила саме стовп, пробуючи обігнати його справа.', 0, 'enabled', 1),
+(61, '2010-11-10 03:34:32', 'xxx:знаєш, жінкам з критичними днями краще ніж нам. в них через цей природній процес виводиться &quot;погана&quot; кров. тому вони і живуть довше.<br />\r\nyyy:за те ми через їхні критичні дні живемо менше)', 0, 'enabled', 1),
+(62, '2010-11-10 03:35:07', 'Сайт &quot;Українська правда&quot;.<br />\r\nСтаття про те, як віце-прем''єр Борис Колесніков придбав для Львівського ДАІ новий автомобіль &quot;Volkswagen Passat&quot;, в якості компенсації за пошкоджений раніше.<br />\r\nКоментар за авторства Tsiundr порвав на дрібні шматки.<br />\r\nЦитую:<br />\r\n&quot;Уважаемый господин Колесников, не могли бы вы случайно въехать автобусом в мой старый запорожец с подобными последствиями для меня, что и для львовского ГАИ. Заранее благодарен. Ваш стопудовый неизбиратель.&quot;', 0, 'enabled', 0),
+(63, '2010-11-10 03:35:23', 'Фестиваль Шешори-2006<br />\r\nЙде берегом річки молодий хлопака і говорить по мобілці. Спекотно. Проходячи повз, чуємо його розморений голос : &quot;Говори повільніше - то халява&quot;', 0, 'enabled', 1),
+(64, '2010-11-10 03:35:35', 'Знайомий розповів досить цікаву життєву історію:<br />\r\nМолодята мали обвінчатися в одній із сільсих церкв... Так скласлося, що на шлюб вони запізнинилися десь на дві години, плюс до цього всього свящиник який мав давати шлюб мав і ще одний шлюб у сусідній парафії через годину після вінчання цієї пари...<br />\r\n...У кінцевому результаті (С)вященник не міг стримати свого обурення з приводу такого запізнення:<br />\r\nС - Та як так можна???!!! Скільки я маю чекати??? За це я вам дам шлюб завтра!!!<br />\r\n...Серед юрби ошелешених гостей, з самого заду, пробився пяний батько нареченої з такими словами: &quot;Пане отче, не будьте ху** дайте дітям шлюб!!!&quot; :)<br />\r\n<br />\r\n... Шлюб дали =))', 0, 'enabled', 0),
+(65, '2010-11-10 03:36:01', 'Почув сьогодні на воєнкоматі:<br />\r\nЛікар - Є якісь скарги на здоровя?<br />\r\nХлопець - Та є, тут трохи болить, а тут іноді сильно коле.<br />\r\nЛікар - Сюди сам дійшов?<br />\r\nХлопець - Так, сам дійшов.<br />\r\nЛікар - Тоді придатний. Наступний...', 0, 'enabled', 1),
+(66, '2010-11-10 03:36:14', 'Шукали з жінкою два дні підряд на базарі хрін. Нема й нема.<br />\r\nЗнаючи, що кум їде в село, жінка пита:<br />\r\n- Спитай у кума в нього хрін росте?<br />\r\nЯ гигикав :) спитаю у кума:))<br />\r\nНаступного дня розровідаю співробітниці про цю історію.<br />\r\nВона від слова хрін моршиться й пита:<br />\r\n- Ти коли небудь тер хрін?<br />\r\nЯ: - Останній раз в дитинстві!<br />\r\nЗ мене гигикали :( Питать не буду:((', 0, 'enabled', 0),
+(67, '2010-11-10 03:36:52', 'Наркотик студента мусить мати матрац і одіяло,по іншому не канає.', 0, 'enabled', 1),
+(68, '2010-11-10 03:37:12', '— ви сестри?<br />\r\n— ні. з чого ти це взяв?<br />\r\n— подібні одна на одну.<br />\r\n— і чим саме?<br />\r\n— однаково некрасиві.', 0, 'enabled', 1),
+(69, '2010-11-10 03:37:27', 'Янукович присвоїв Ляшко почесне звання &quot;Заслужений працівник сфери послуг України»', 0, 'enabled', 1),
+(70, '2010-11-10 03:37:43', 'Моя мама(м) працює в продуктовому магазині.От сидить одного разу вона з напарницею (н),людей нема.<br />\r\n(м): шось таке хочеться...чи то мужика,чи то сємічок...<br />\r\nНапарниця з тріумфальним видом дістає з-пад прилавка &quot;сємічкі&quot; марки &quot;Дід Лузай&quot;.<br />\r\n(н): &quot;Дід Лузай&quot;-ось тобі і мужик,і сємічкі!!!', 0, 'enabled', 1),
+(71, '2010-11-10 03:38:04', 'Контрольна з історії, 11 клас. Питання: Що таке Бізонія?( Це так називалась частина Німеччини,яка після Другої світової війни була окупована військами США і Великобританії.)<br />\r\nВідповідь: Це винищення бізонів внаслідок їхнього самопоїдання.', 0, 'enabled', 1),
+(72, '2010-11-10 03:38:14', 'Футбольний ясновидець восьминіг Пауль, що напророкував поразку Німеччині в півфіналі помер. В Німеччині.<br />\r\n<br />\r\nфутбольний світ в шоці...<br />\r\nа німці злорадно хіхікають)', 0, 'enabled', 0),
+(73, '2010-11-10 03:38:22', 'Перша найдревніша професія - проститутка<br />\r\nДруга - крадій<br />\r\nТретя - політик. Результат синтезу першої та другої)))', 0, 'enabled', 1),
+(74, '2010-11-10 03:38:35', 'Якщо тобі сниться що тобі після всесвітнього суду показують твої гріхи в режимі мікроблогу, і ти плюсуєш ті з якимим згоден і мінусуєш з якими не згоден, та щей читаєш коментарі до них....тоді щось вже не те....', 67, 'enabled', 1),
+(75, '2010-11-10 03:38:54', 'На Житомирщині група студентів, перебуваючи в стані алкогольного сп''яніння(в результаті успішної здачі сесії ), згасила &quot;вічний вогонь&quot;.<br />\r\n<br />\r\nЯким чином ?', 1, 'enabled', 1),
+(76, '2010-11-10 03:39:05', 'Діалог &quot;старшого(свідка)&quot; з подругою.<br />\r\nС - почуваю себе тюленихою, яка щойно народила 15 тюлениняток.<br />\r\nП - 0_о???<br />\r\nС - виснажений, але щасливий!', 0, 'enabled', 1),
+(77, '2010-11-10 03:39:33', 'Два чуваки та набухались шо неможуть ходити,випали по серед дороги,лежать,і один каже таким бухим мало зрозумілим голосом;<br />\r\n-Вася непереживай,Зохан нас врятує!!!', 79, 'enabled', 1),
+(78, '2010-11-10 03:39:51', 'Шкода, що не можна скинути сюди фотку. Вчора на базарі клацнула: на дверях крамнички з технічними дрібничками напис: БАТАРЕЙКИ ДЛЯ КИТАЙЦІВ. Питання: а куди їх встромляють?', 0, 'enabled', 1),
+(79, '2010-11-10 03:40:07', 'На шоу &quot;Танцюють всі&quot; ведучий розповідає про одного хореографа з-закордону: ось уже три роки, відколи триває наше шоу, він ставить постановки нашим танцюристам, перебуває з нами,і не через те, що загубив у готелі свій паспорт...', 0, 'enabled', 1),
+(80, '2010-11-10 03:40:17', 'Інтернет прийшов у провінцію! Результат: у одної нашої знайомої на городі повна розруха, курей цього року не заводили, клітки для кролів порожні стоять... Їй ніколи там поратися, бо вона цілий день у &quot;Щасливу ферму&quot; грає.', 0, 'enabled', 1),
+(81, '2010-11-10 03:40:30', 'Дивлюсь Формулу 1. Там іде дощ і піднято жовтий прапор (аварійний) і уже 10 кіл під цим прапором їздять, ніяк не розпочнуть гонку. Тут виходить один із організаторів на вулицю, простягує руку і &quot;оціню&quot; рівень дощу))) Нє, ну наіфга їм тоді всі ті прилади за мільйони доларів?', 0, 'enabled', 0),
+(82, '2010-11-10 03:40:40', 'Вкотре переконуюсь, що москалі не те що української, навіть російської мови вивчити не можуть.<br />\r\nЧитаю на підписі до фото в знайомствах, цитую: &quot;Познакомлюсь с красивой и умной девушкой, можно дурнушкой, но красивой&quot;<br />\r\nСказати йому, що дурнушка - це некрасива дівчина?', 39, 'enabled', 1);
+
+CREATE TABLE IF NOT EXISTS `quotes` (
+ `id` int(10) NOT NULL AUTO_INCREMENT,
+ `postdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `text` varchar(30) NOT NULL DEFAULT '',
+ `status` enum('enabled','disabled') CHARACTER SET utf8 NOT NULL DEFAULT 'enabled',
+ `count` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=21 ;
+
+
+INSERT INTO `quotes` (`id`, `postdate`, `text`, `status`, `count`) VALUES
+(1, '2010-10-31 21:25:11', 'sudo killall -9 icq', 'enabled', 327),
+(2, '2010-10-31 21:28:52', 'Ага, ось ці хлопці', 'enabled', 328),
+(3, '2010-10-31 21:28:24', 'Вітаємо на борту!', 'enabled', 327),
+(4, '2010-10-31 21:27:45', 'Перевірено людьми!', 'enabled', 327),
+(5, '2010-10-31 21:25:26', 'Ку-ку! :)', 'enabled', 327),
+(6, '2010-10-31 21:27:26', 'Будь українцем!', 'enabled', 327),
+(7, '2010-10-31 21:30:02', 'sudo rm -rf /boyany/*', 'enabled', 327),
+(8, '2010-10-31 21:29:46', 'Я вас знаю: 1, 2, 3…', 'enabled', 328),
+(9, '2010-10-31 21:28:45', 'Почни тут свій день', 'enabled', 328),
+(10, '2010-10-31 21:26:57', 'Ноги мені до рота', 'enabled', 327),
+(11, '2010-10-31 21:28:00', 'Забий на роботу', 'enabled', 328),
+(12, '2010-10-31 21:26:27', 'Think different?', 'enabled', 328),
+(13, '2010-10-31 21:28:30', 'Будьте людьми', 'enabled', 327),
+(14, '2010-10-31 21:29:16', 'Очманіти можна', 'enabled', 327),
+(15, '2010-10-31 21:28:15', 'Enlarge your… karma!', 'enabled', 327),
+(16, '2010-10-31 21:27:28', 'Я це люблю', 'enabled', 328),
+(17, '2010-10-31 21:29:01', 'Бийте бояністів', 'enabled', 327),
+(18, '2010-10-31 21:29:31', 'Не довіряй голубам', 'enabled', 327),
+(19, '2010-10-31 21:27:27', 'Ми спостерігаємо ;)', 'enabled', 328),
+(20, '2010-10-31 22:27:32', 'Остерігайтеся підробок!!!', 'enabled', 327);
+
+
+CREATE TABLE IF NOT EXISTS `users` (
+ `id` int(5) NOT NULL AUTO_INCREMENT,
+ `username` varchar(30) NOT NULL,
+ `password` varchar(60) CHARACTER SET cp1251 COLLATE cp1251_bin NOT NULL DEFAULT '',
+ `fio` varchar(150) DEFAULT NULL,
+ `email` varchar(255) NOT NULL DEFAULT '',
+ `prem` enum('user','admin') CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
+ `state` enum('enabled','disabled') NOT NULL DEFAULT 'enabled',
+ PRIMARY KEY (`id`,`username`)
+) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;
+
+
+INSERT INTO `users` (`id`, `username`, `password`, `fio`, `email`, `prem`, `state`) VALUES
+(1, 'VitalVas', '7b2e9f54cdff413fcde01f330af6896c3cd7e6cd', 'Vitaliy Vasilenko', 'webmaster@sunweb.com.ua', 'admin', 'enabled'),
+(2, 'armin', 'aff8234a9514c85ccd821b66eea486eb88e8ab24', '', 'hostmaster@sunweb.com.ua', 'user', 'enabled');
11 config.php
@@ -0,0 +1,11 @@
+<?php
+if (!defined('PROTECT')) { header('Location: ./'); exit(); };
+
+$db_host = 'localhost';
+$db_user = 'vitalvasw_bash';
+$db_pass = '4rzZea62_';
+$db_name = 'vitalvasw_bash';
+
+$debug = false;
+
+?>
160 dumps/21.01.2011.sql
160 additions, 0 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
0 favicon.ico
No changes.
178 index.php
@@ -0,0 +1,178 @@
+<?php
+define('PROTECT', true);
+if (file_exists('config.php')) {
+ require_once('config.php');
+} else {
+ if (file_exists('install.php'))
+ header('Location: ./install.php');
+ else {
+ echo 'Error load "config.php"';
+ exit();
+ }
+};
+if ($debug) error_reporting(E_ALL);
+$dbh = mysql_connect($db_host,$db_user,$db_pass) or die('No connected : '.mysql_error());
+mysql_select_db($db_name,$dbh) or die("Can't select db : ".mysql_error());
+mysql_query("SET NAMES cp1251");
+function load_tpl($name) {
+ if (file_exists("tpl/$name.tpl"))
+ return file_get_contents("tpl/$name.tpl");
+ else {
+ echo "Error load $name.tpl";
+ exit();
+ }
+}
+function sql_array($name) {
+ $query = mysql_query($name);
+ if (!$query)
+ return false;
+ else {
+ $row = mysql_fetch_array($query);
+ if (!$row)
+ return false;
+ else
+ return $row;
+ }
+}
+$tpl_main = load_tpl('main');
+$tpl_content = load_tpl('content');
+//-------SHAPKA---------------------------
+$row = sql_array("SELECT COUNT(id) AS num FROM quotes");
+$quote_count = $row['num'];
+if ($quote_count > '0') {
+ $row = sql_array("SELECT text,id FROM quotes WHERE status = 'enabled' AND count <= (SELECT MIN(count) FROM quotes) ORDER BY RAND() LIMIT 1");
+ $quote = $row['text'];
+ $quote_id = $row['id'];
+ $rowq = mysql_query("UPDATE quotes SET count=count+1 WHERE id='$quote_id'");
+};
+$row = sql_array("SELECT COUNT(id) AS num FROM users");
+$users_count = $row['num'];
+$row = sql_array("SELECT COUNT(id) AS num FROM posts");
+$posts_count = $row['num'];
+//----------LOAD--CONFIG-----------------
+$row = sql_array("SELECT value AS name FROM config WHERE ckey='site_name'");
+$site_name = $row['name'];
+$row = sql_array("SELECT value AS name FROM config WHERE ckey='site_lang'");
+$site_lang = $row['name'];
+//-------------------COUNT--POSTS--------------------
+if ($posts_count > '0') {
+ $row = sql_array("SELECT COUNT(id) AS num FROM posts WHERE status='enabled'");
+ $posts_enabled = $row['num'];
+ $row = sql_array("SELECT COUNT(id) AS num FROM posts WHERE status='deleted'");
+ $posts_deleted = $row['num'];
+} else {
+ $posts_enabled = '0';
+ $posts_deleted = '0';
+};
+//---------------CHECK--USER--------------------
+if (isset($_COOKIE['user_login']) && isset($_COOKIE['user_passw'])) {
+ $user_login = $_COOKIE['user_login'];
+ $user_passw = $_COOKIE['user_passw'];
+ $row = sql_array("SELECT COUNT(id) AS name FROM users WHERE sha1(username)='$user_login'");
+ $check = $row['name'];
+ if ($check == '1') {
+ $row = sql_array("SELECT password FROM users WHERE sha1(username)='$user_login'");
+ $check_pass = $row['password'];
+ if ($check_pass == $user_passw) {
+ $row = sql_array("SELECT id,username,prem FROM users WHERE sha1(username)='$user_login'");
+ $pub_user_name = $row['username'];
+ $pub_user_id = $row['id'];
+ $pub_user_prem = $row['prem'];
+ $none_auth = 'none';
+ } else {
+ $none_auth = 'go';
+ $pub_user_prem = 'user';
+ }
+ } else {
+ $none_auth = 'go';
+ $pub_user_prem = 'user';
+ }
+} else {
+ $none_auth = 'go';
+ $pub_user_prem = 'user';
+}
+//-----------------------------------------------
+if (isset($_GET['do'])) $do = $_GET['do']; else $do = 'NULL';
+if (!isset($content)) $content = '';
+$site_title = $site_name;
+switch ($do) {
+ case 'rating':
+ if (file_exists('mod/rating.php'))
+ require_once('mod/rating.php');
+ else
+ $content = '<br><b>Error load module rating.php in directory "mod"</b>';
+ break;
+ case 'users':
+ if (file_exists('mod/users.php'))
+ require_once('mod/users.php');
+ else
+ $content = '<br><b>Error load module users.php in directory "mod"</b>';
+ break;
+ case 'login':
+ if (file_exists('mod/login.php'))
+ require_once('mod/login.php');
+ else
+ $content = '<br><b>Error load module login.php in directory "mod"</b>';
+ break;
+ case 'addpost':
+ if (file_exists('mod/addpost.php'))
+ require_once('mod/addpost.php');
+ else
+ $content = '<br><b>Error load module addpost.php in directory "mod"</b>';
+ break;
+ case 'logout':
+ if (file_exists('mod/logout.php'))
+ require_once('mod/logout.php');
+ else
+ $content = '<br><b>Error load module logout.php in directory "mod"</b>';
+ break;
+ case 'register':
+ if (file_exists('mod/register.php'))
+ require_once('mod/register.php');
+ else
+ $content = '<br><b>Error load module register.php in directory "mod"</b>';
+ break;
+ case 'admin':
+ if (file_exists('mod/admin.php'))
+ require_once('mod/admin.php');
+ else
+ $content = '<br><b>Error load module admin.php in directory "mod"</b>';
+ break;
+ default:
+ if (file_exists('mod/posts.php'))
+ require_once('mod/posts.php');
+ else
+ $content = '<br><b>Error load module posts.php in directory "mod"</b>';
+ break;
+};
+if ($none_auth == 'go') {
+ $userpanel = load_tpl('userpanel_in');
+} elseif ($none_auth == 'none') {
+ $userpanel = load_tpl('userpanel_auth');
+ if ($pub_user_prem == 'admin') {
+ $userpanel .= "&nbsp;[<a href='/?do=admin'>{lang-adminka}</a>]";
+ }
+}
+if (!isset($posts_count)) $posts_count = '0';
+if (!isset($users_count)) $users_count = '0';
+if (!isset($quote)) $quote = '&nbsp;';
+if (!isset($content)) $content = '';
+if (!isset($pub_user_name)) $pub_user_name = '';
+$out = str_replace("{title}", $site_title, $tpl_main);
+$out = str_replace("{title-site}", $site_name, $out);
+$out = str_replace("{content}", $content, $out);
+$out = str_replace("{userpanel}", $userpanel, $out);
+$out = str_replace("{username}", $pub_user_name, $out);
+$out = str_replace("{posts-count}", $posts_count, $out);
+$out = str_replace("{posts-enabled}", $posts_enabled, $out);
+$out = str_replace("{posts-deleted}", $posts_deleted, $out);
+$out = str_replace("{users-count}", $users_count, $out);
+$out = str_replace("{random-quotes}", $quote, $out);
+$out = str_replace("\n", '', $out);
+$query = mysql_query("SELECT langkey,langvalue FROM lang WHERE langname='$site_lang' ORDER BY langkey");
+while ($row = mysql_fetch_array($query)){
+ $langkey = $row['langkey'];
+ $out = str_replace("{lang-$langkey}", $row['langvalue'], $out);
+}
+echo $out;
+?>
86 mod/addpost.php
@@ -0,0 +1,86 @@
+<?php
+if (!defined('PROTECT')) { header('Location: ../'); exit(); };
+$tpl_content = load_tpl('content');
+if (!isset($_POST['text'])) {
+ if ($none_auth == 'go') {
+ $tpl_addpost = load_tpl('addpost1');
+ } else {
+ $tpl_addpost = load_tpl('addpost');
+ }
+ if ($none_auth == 'none') {
+ $guest_mess = '';
+ $guest_check_img = '';
+ } elseif ($none_auth == 'go') {
+ $guest_mess = '{lang-add-post-non-auth}';
+ $rand = rand(1, 10);
+ $rand2 = rand(1, 10);
+ $randa = array('+','-','*');
+ $randk = rand(0, 2);
+ $randl = $randa["$randk"];
+ $sum = "$rand $randl $rand2";
+ if ($randk == '0') { $hash = $rand+$rand2; } elseif ($randk == '1') { $hash = $rand-$rand2; } elseif ($randk == '2') { $hash = $rand*$rand2; }
+ $hash = md5($hash);
+ $guest_check_img = "$sum = <input type='text' name='img'><input type='hidden' name='hash' value='$hash'>";
+ }
+ $out = str_replace("{add-post-guest-message}", $guest_mess, $tpl_addpost);
+ $out = str_replace("{guest-check-image}", $guest_check_img, $out);
+ $out = str_replace("{textarea-text}", '', $out);
+} elseif (isset($_POST['text']) && isset($_POST['hash']) && $none_auth == 'go') {
+ $add_text = $_POST['text'];
+ $hash = $_POST['hash'];
+ $user_hash = $_POST['img'];
+ if (md5($user_hash) != $hash) {
+ $tpl_addpost = load_tpl('addpost');
+ if ($none_auth == 'none') {
+ $guest_mess = '';
+ $guest_check_img = '';
+ } elseif ($none_auth == 'go') {
+ $guest_mess = '{lang-add-post-non-auth}';
+ $rand = rand(1, 10);
+ $rand2 = rand(1, 10);
+ $randa = array('+','-','*');
+ $randk = rand(0, 2);
+ $randl = $randa["$randk"];
+ $sum = "$rand $randl $rand2";
+ if ($randk == '0') { $hash = $rand+$rand2; } elseif ($randk == '1') { $hash = $rand-$rand2; } elseif ($randk == '2') { $hash = $rand*$rand2; }
+ $hash = md5($hash);
+ $guest_check_img = "$sum = <input type='text' name='img'>&nbsp;<b><font color='red'>!</font></b><input type='hidden' name='hash' value='$hash'>";
+ }
+ $out = str_replace("{add-post-guest-message}", $guest_mess, $tpl_addpost);
+ $out = str_replace("{guest-check-image}", $guest_check_img, $out);
+ $out = str_replace("{textarea-text}", $add_text, $out);
+ } else {
+ if ($add_text != '') {
+ $add_text = trim($add_text);
+ $add_text = addslashes(htmlspecialchars($add_text));
+ $add_text = nl2br($add_text);
+ $query = mysql_query("INSERT INTO posts (text,author) VALUES ('$add_text','0')");
+ if ($query) {
+ $out = "{lang-add-post-ok}";
+ } else {
+ $out = "{lang-add-post-error}";
+ }
+ } else {
+ $out = "{lang-add-post-error}";
+ }
+ }
+} elseif (isset($_POST['text']) && $none_auth == 'none') {
+ $add_text = $_POST['text'];
+ if ($add_text != '') {
+ $add_text = trim($add_text);
+ $add_text = addslashes(htmlspecialchars($add_text));
+ $add_text = nl2br($add_text);
+ $query = mysql_query("INSERT INTO posts (text,author) VALUES ('$add_text','$pub_user_id')");
+ if ($query) {
+ $out = "{lang-add-post-ok}";
+ } else {
+ $out = "{lang-add-post-error}";
+ }
+ } else {
+ $out = "{lang-add-post-error}";
+ }
+} else {
+ header('Location: ./');
+}
+$content = str_replace("{content-tpl}", $out, $tpl_content);
+?>
248 mod/admin.php
@@ -0,0 +1,248 @@
+<?php
+if (!defined('PROTECT')) { header('Location: ../'); exit(); };
+if ($pub_user_prem == 'admin') {
+ $tpl = load_tpl('content');
+
+ $up = "<div align='center'>"
+ ."[<a href='./?do=admin&act=users'>{lang-admin-users}</a>]&nbsp;"
+ ."[<a href='./?do=admin&act=posts'>{lang-admin-posts}</a>]&nbsp;"
+ ."[<a href='./?do=admin&act=general'>{lang-admin-general}</a>]&nbsp;"
+ ."</div>";
+ $content = str_replace("{content-tpl}", $up, $tpl);
+ if (isset($_GET['act'])) $act = $_GET['act']; else $act = '';
+ if (isset($_GET['id'])) $goid = $_GET['id']; else $goid = '';
+ if (isset($_GET['a'])) $as = $_GET['a']; else $as = '';
+ if ($act == 'users' && !$goid) {
+ $content .= $tpl;
+ $out = "<table width=100% class='user_list'><tr align='center'>"
+ ."<td class='user_list'>ID</td><td class='user_list'>{lang-admin-username}</td>"
+ ."<td class='user_list'>{lang-admin-fio}</td><td class='user_list'>{lang-admin-email}</td>"
+ ."<td class='user_list'>{lang-admin-posts}</td>"
+ ."<td class='user_list'>{lang-admin-rating}</td><td class='user_list'>{lang-admin-prem}</td></tr>";
+ $nums = '50';
+ if ($nums < $users_count) {
+ if (isset($_GET['page'])) $page = intval($_GET['page']); else $page = '1';
+ $pages = ceil($users_count/$nums);
+ if ($page < '1') $page = '1'; elseif ($page > $pages) $page = $pages;
+ $start = ($page-1)*$nums;
+ if ($start < '0') $start = '0';
+ $sql = mysql_query("SELECT id,username,fio,email,prem,state FROM users ORDER BY id LIMIT {$start}, {$nums}");
+ $pages_open = 'yes';
+ } else {
+ $sql = mysql_query("SELECT id,username,fio,email,prem,state FROM users ORDER BY id");
+ $pages_open = 'no';
+ $page_list = '';
+ }
+ while ($row = mysql_fetch_array($sql)) {
+ $id = $row['id'];
+ $username = $row['username'];
+ $fio = $row['fio'];
+ $email = $row['email'];
+ $state = $row['state'];
+ if ($state == 'disabled') {
+ $color = "bgcolor='#FFF99'";
+ } else {
+ $color = '';
+ }
+ if ($row['prem'] == 'admin') $prem = "{lang-admin-admin}"; else $prem = "{lang-admin-user}";
+ $row1 = sql_array("SELECT COUNT(id) AS name FROM posts WHERE author='$id' AND status='enabled'");
+ $posts = $row1['name'];
+ $row2 = sql_array("SELECT SUM(rating) AS sum FROM posts WHERE author='$id' AND status='enabled' LIMIT 1");
+ $sum = $row2['sum'];
+ if ($posts == '0') {
+ $rating = '0';
+ } else {
+ $rating = $sum/$posts;
+ $rating = sprintf("%.1f",$rating);
+ }
+ $out .= "<tr $color><td class='user_list' align='center'><a href='./?do=admin&act=users&id=$id'>$id</a></td>"
+ ."<td class='user_list'>$username</td><td class='user_list'>$fio</td><td class='user_list'>$email</td>"
+ ."<td class='user_list' align='center'>$posts</td>"
+ ."<td class='user_list' align='center'>$rating</td><td class='user_list' align='center'>$prem</td></tr>";
+ }
+ $out .= "<table>";
+ if ($pages_open == 'yes') {
+ $neigtbours = '5';
+ if (!isset($page_list)) $page_list = '';
+ $left_pagelist = $page - $neigtbours;
+ if ($left_pagelist < '1') $left_pagelist = '1';
+ $right_pagelist = $page + $neigtbours;
+ if ($right_pagelist > $pages) $right_pagelist = $pages;
+ if ($pages > '1') $page_list .= '[';
+ if ($page > '1') {
+ $page_1 = $page - '1';
+ if ($page_1 == '1') $page_list .= "&nbsp;<a href='./?do=admin&act=users'><<</a>";
+ else $page_list .= "&nbsp;<a href='./?do=admin&act=users&page=$page_1'><<</a>";
+ }
+ $page_2 = $page - $neigtbours;
+ if ($page_2 > '1') $page_list .= "&nbsp;<a href='./?do=admin&act=users'>1</a>&nbsp;...";
+ for ($i=$left_pagelist; $i<=$right_pagelist; $i++) {
+ if ($i != $page) $page_list .= '&nbsp;<a href=./?do=admin&act=users&page='.$i.'>'.$i.'</a>';
+ else $page_list .= "&nbsp;<b>$i</b>";
+ }
+ $page_2 = $page + $neigtbours;
+ if ($pages > $page_2) $page_list .= "&nbsp;...&nbsp;<a href='./?do=admin&act=users&page=$pages'>$pages</a>";
+ if ($page < $pages) {
+ $page_1 = $page + '1';
+ $page_list .= "&nbsp;<a href='./?do=admin&act=users&page=$page_1'>>></a>";
+ }
+ if ($pages > '1') $page_list .= '&nbsp;]';
+ }
+ $out .= "<div align='center'>$page_list</div>";
+ $content = str_replace("{content-tpl}", $out, $content);
+ } elseif ($act == 'users' && $goid) {
+ if ($as == 'block') {
+ $sql = mysql_query("UPDATE users SET state='disabled' WHERE id='$goid'");
+ header('Location: ./?do=admin&act=users');
+ } elseif ($as == 'unblock') {
+ $sql = mysql_query("UPDATE users SET state='enabled' WHERE id='$goid'");
+ header('Location: ./?do=admin&act=users');
+ } elseif ($as == 'getuser') {
+ $sql = mysql_query("UPDATE users SET prem='user' WHERE id='$goid'");
+ header('Location: ./?do=admin&act=users');
+ } elseif ($as == 'getadmin') {
+ $sql = mysql_query("UPDATE users SET prem='admin' WHERE id='$goid'");
+ header('Location: ./?do=admin&act=users');
+ }
+ $row = sql_array("SELECT id,username,fio,email,prem,state FROM users WHERE id='$goid'");
+ $username = $row['username'];
+ $fio = $row['fio'];
+ $email = $row['email'];
+ $prem = $row['prem'];
+ $state = $row['state'];
+ if ($state == 'disabled') {
+ $sstate = "{lang-admin-blocketd}";
+ $link = "<a href='./?do=admin&act=users&id=$goid&a=unblock'>{lang-admin-unblock}</a>";
+ } elseif ($state == 'enabled') {
+ $sstate = "{lang-admin-unblocketd}";
+ $link = "<a href='./?do=admin&act=users&id=$goid&a=block'>{lang-admin-block}</a>";
+ }
+ if ($prem == 'admin') {
+ $sprem = "{lang-admin-admin}";
+ $slink = "<a href='./?do=admin&act=users&id=$goid&a=getuser'>{lang-admin-getuser}</a>";
+ } elseif ($prem == 'user') {
+ $sprem = "{lang-admin-user}";
+ $slink = "<a href='./?do=admin&act=users&id=$goid&a=getadmin'>{lang-admin-getadmin}</a>";
+ }
+ $content .= $tpl;
+ $out = "<br><table align='center' class='user_list' width='40%'>"
+ ."<tr><td class='user_list'>ID</td><td class='user_list'>$goid</td></tr>"
+ ."<tr><td class='user_list'>{lang-admin-username}</td><td class='user_list'>$username</td></tr>"
+ ."<tr><td class='user_list'>{lang-admin-fio}</td><td class='user_list'>$fio</td></tr>"
+ ."<tr><td class='user_list'>{lang-admin-email}</td><td class='user_list'>$email</td></tr>"
+ ."<tr><td></td><td></td></tr>"
+ ."<tr><td class='user_list'>$sstate</td><td class='user_list'>$link</td></tr>"
+ ."<tr><td class='user_list'>$sprem</td><td class='user_list'>$slink</td></tr>"
+ ."</table><br>";
+ $content = str_replace("{content-tpl}", $out, $content);
+ } elseif ($act == 'posts') {
+ if ($as == 'deletepost') {
+ $sql = mysql_query("UPDATE posts SET status='deleted' WHERE id='$goid'");
+ header('Location: ./?do=admin&act=posts');
+ }
+ $out = "<table align='center' width='60%' class='user_list'><tr align='center'><td class='user_list'>ID</td>"
+ ."<td class='user_list'>{lang-admin-postdate}</td><td class='user_list'>{lang-admin-rating}</td>"
+ ."<td class='user_list'>{lang-admin-username}</td><td class='user_list'>{lang-admin-delete}</td></tr>";
+ $rw = sql_array("SELECT COUNT(id) AS name FROM posts WHERE status='enabled'");
+ $posts_count = $rw['name'];
+ $nums = '50';
+ if ($nums < $posts_count) {
+ if (isset($_GET['page'])) $page = intval($_GET['page']); else $page = '1';
+ $pages = ceil($posts_count/$nums);
+ if ($page < '1') $page = '1'; elseif ($page > $pages) $page = $pages;
+ $start = ($page-1)*$nums;
+ if ($start < '0') $start = '0';
+ $sql = mysql_query("SELECT id,postdate,rating,author FROM posts WHERE status='enabled' ORDER BY id DESC LIMIT {$start}, {$nums}");
+ $pages_open = 'yes';
+ } else {
+ $sql = mysql_query("SELECT id,postdate,rating,author FROM posts WHERE status='enabled' ORDER BY id DESC");
+ $pages_open = 'no';
+ $page_list = '';
+ }
+ while ($row = mysql_fetch_array($sql)) {
+ $id = $row['id'];
+ $postdate = $row['postdate'];
+ $rating = $row['rating'];
+ $author = $row['author'];
+ if ($author != '0') {
+ $row1 = sql_array("SELECT username FROM users WHERE id='$author'");
+ $username = $row1['username'];
+ $username = "<a href='./?do=admin&act=users&id=$author'>$username<a>";
+ } else {
+ $username = "{lang-anonim}";
+ }
+ $out .= "<tr align='center' class='user_list'><td class='user_list'>$id</td><td class='user_list'>$postdate</td>"
+ ."<td class='user_list'>$rating</td><td class='user_list'>$username</td>"
+ ."<td class='user_list'><a href='./?do=admin&act=posts&id=$id&a=deletepost'>>>|<<</a></td></tr>";
+ }
+ $out .= "</table>";
+ if ($pages_open == 'yes') {
+ $neigtbours = '5';
+ if (!isset($page_list)) $page_list = '';
+ $left_pagelist = $page - $neigtbours;
+ if ($left_pagelist < '1') $left_pagelist = '1';
+ $right_pagelist = $page + $neigtbours;
+ if ($right_pagelist > $pages) $right_pagelist = $pages;
+ if ($pages > '1') $page_list .= '[';
+ if ($page > '1') {
+ $page_1 = $page - '1';
+ if ($page_1 == '1') $page_list .= "&nbsp;<a href='./?do=admin&act=posts'><<</a>";
+ else $page_list .= "&nbsp;<a href='./?do=admin&act=posts&page=$page_1'><<</a>";
+ }
+ $page_2 = $page - $neigtbours;
+ if ($page_2 > '1') $page_list .= "&nbsp;<a href='./?do=admin&act=posts'>1</a>&nbsp;...";
+ for ($i=$left_pagelist; $i<=$right_pagelist; $i++) {
+ if ($i != $page) $page_list .= '&nbsp;<a href=./?do=admin&act=posts&page='.$i.'>'.$i.'</a>';
+ else $page_list .= "&nbsp;<b>$i</b>";
+ }
+ $page_2 = $page + $neigtbours;
+ if ($pages > $page_2) $page_list .= "&nbsp;...&nbsp;<a href='./?do=admin&act=posts&page=$pages'>$pages</a>";
+ if ($page < $pages) {
+ $page_1 = $page + '1';
+ $page_list .= "&nbsp;<a href='./?do=admin&act=posts&page=$page_1'>>></a>";
+ }
+ if ($pages > '1') $page_list .= '&nbsp;]';
+ }
+ $out .= "<div align='center'>$page_list</div>";
+ $content .= $tpl;
+ $content = str_replace("{content-tpl}", $out, $content);
+ } elseif ($act == 'general') {
+ if (!isset($_POST['site_name']) && !isset($_POST['page_posts_num']) && !isset($_POST['page_posts_get_num']) && !isset($_POST['page_user_list'])) {
+ $row = sql_array("SELECT value FROM config WHERE ckey='site_name'");
+ $site_names = $row['value'];
+ $row = sql_array("SELECT value FROM config WHERE ckey='page_posts_num'");
+ $page_posts_num = $row['value'];
+ $row = sql_array("SELECT value FROM config WHERE ckey='page_posts_get_num'");
+ $page_posts_get_num = $row['value'];
+ $row = sql_array("SELECT value FROM config WHERE ckey='page_user_list'");
+ $page_user_list = $row['value'];
+ $out = "<br><form action='./?do=admin&act=general' method='POST'>"
+ ."<table width='64%' class='user_list' align='center'>"
+ ."<tr><td class='user_list'>{lang-admin-site-name}:</td><td class='user_list'><input type='text' name='site_names' value='$site_names' size='41'></td></tr>"
+ ."<tr><td class='user_list'>{lang-admin-page-posts-num}:</td><td class='user_list'><input type='text' name='page_posts_num' value='$page_posts_num' size='41'></td></tr>"
+ ."<tr><td class='user_list'>{lang-admin-page-get-num}:</td><td class='user_list'><input type='text' name='page_posts_get_num' value='$page_posts_get_num' size='41'></td></tr>"
+ ."<tr><td class='user_list'>{lang-admin-user-list}:</td><td class='user_list'><input type='text' name='page_user_list' value='$page_user_list' size='41'></td></tr>"
+ ."<tr><td colspan='2' align='center' class='user_list'><input type='submit' value='{lang-submit}'></td></tr>"
+ ."</table></form><br>";
+ } else {
+ $site_names = $_POST['site_names'];
+ $site_names = addslashes(htmlspecialchars(trim($site_names)));
+ $page_posts_num = $_POST['page_posts_num'];
+ $page_posts_num = (int) ($page_posts_num);
+ $page_posts_get_num = $_POST['page_posts_get_num'];
+ $page_posts_get_num = (int) ($page_posts_get_num);
+ $page_user_list = $_POST['page_user_list'];
+ $page_user_list = (int) ($page_user_list);
+ $sql = mysql_query("UPDATE config SET value='$site_names' WHERE ckey='site_name'");
+ $sql = mysql_query("UPDATE config SET value='$page_posts_num' WHERE ckey='page_posts_num'");
+ $sql = mysql_query("UPDATE config SET value='$page_posts_get_num' WHERE ckey='page_posts_get_num'");
+ $sql = mysql_query("UPDATE config SET value='$page_user_list' WHERE ckey='page_user_list'");
+ header('Location: ./?do=admin&act=general');
+ }
+ $content .= $tpl;
+ $content = str_replace("{content-tpl}", $out, $content);
+ }
+} else {
+ header('Location: ./');
+}
+?>
53 mod/login.php
@@ -0,0 +1,53 @@
+<?php
+if (!defined('PROTECT')) { header('Location: ../'); exit(); };
+$tpl_login = load_tpl('login');
+if(isset($_COOKIE['user_login']) && isset($_COOKIE['user_passw'])) {
+ $user_login = $_COOKIE['user_login'];
+ $user_passw = $_COOKIE['user_passw'];
+ $row = sql_array("SELECT COUNT(id) AS name FROM users WHERE sha1(username)='$user_login'");
+ $check = $row['name'];
+ if ($check == '1') {
+ $row = sql_array("SELECT COUNT(id) AS name FROM users WHERE sha1(password)=sha1('$user_passw')");
+ $check = $row['name'];
+ if ($check == '1') {
+ header('Location: ./?do=users&act=panel');
+ } else {
+ $main_to_login = 'go';
+ }
+ } else {
+ $main_to_login = 'go';
+ }
+} else {
+ $main_to_login = 'go';
+}
+if (isset($_POST['login']) && isset($_POST['pass']) && $main_to_login == 'go') {
+ $user_login = $_POST['login'];
+ $user_pass = $_POST['pass'];
+ $user_login_sha = sha1($user_login);
+ $user_pass_cr = sha1(sha1($user_pass));
+ $row = sql_array("SELECT COUNT(id) AS name FROM users WHERE sha1(username)='$user_login_sha' and state='enabled'");
+ $check = $row['name'];
+ if ($check !='1') {
+ $login_error = '<tr><td class="login_form_errors">{lang-login-error-login-pass}</td></tr>';
+ } else {
+ $row = sql_array("SELECT COUNT(id) AS name FROM users WHERE password='$user_pass_cr' AND sha1(username)='$user_login_sha'");
+ $check = $row['name'];
+ if ($check != '1') {
+ $login_error = '<tr><td class="login_form_errors">{lang-login-error-login-pass}</td></tr>';
+ } else {
+ $row = sql_array("SELECT password FROM users WHERE sha1(username)='$user_login_sha'");
+ $pwd = $row['password'];
+ if ($user_pass_cr == $pwd) {
+ setcookie('user_login', $user_login_sha, time()+86400);
+ setcookie('user_passw', $user_pass_cr, time()+86400);
+ header('Location: ./');
+ } else {
+ $login_error = '<tr><td class="login_form_errors">{lang-login-error-login-pass}</td></tr>';
+ }
+ }
+ }
+}
+if (!isset($login_error)) $login_error = '';
+$content = str_replace("{login-form}", '<div class="inform_user">{lang-login-form}<div>', $tpl_login);
+$content = str_replace("{login-errors}", $login_error, $content);
+?>
25 mod/logout.php
@@ -0,0 +1,25 @@
+<?php
+if (!defined('PROTECT')) { header('Location: ../'); exit(); };
+
+if (isset($_SERVER['HTTP_REFERER'])) $ref = $_SERVER['HTTP_REFERER']; else $ref = './';
+
+if (isset($_COOKIE['user_login']) && isset($_COOKIE['user_passw']) && $none_auth == 'none') {
+
+ setcookie('user_login', '', time()-86400);
+ setcookie('user_passw', '', time()-86400);
+ header('Location: '.$ref);
+
+} else {
+ header('Location: '.$ref);
+}
+
+
+
+
+
+
+
+
+
+
+?>
141 mod/posts.php
@@ -0,0 +1,141 @@
+<?php
+if (!defined('PROTECT')) { header('Location: ../'); exit(); };
+$tpl_postshow = load_tpl('postshow');
+if ($posts_count > '0') {
+ if (isset($_GET['postid'])) {
+ $postid = $_GET['postid'];
+ $postid = (int) $postid;
+ $row = sql_array("SELECT COUNT(id) AS num FROM posts WHERE id='$postid' AND status='enabled'");
+ $check = $row['num'];
+ if ($check == '1') {
+ $row = sql_array("SELECT id,postdate,text,rating,author FROM posts WHERE id='$postid'");
+ $postdate = $row['postdate'];
+ $text = $row['text'];
+ $rating = $row['rating'];
+ $author_id = $row['author'];
+ $row1 = sql_array("SELECT COUNT(id) AS num FROM users WHERE id='$author_id'");
+ $row1_check = $row1['num'];
+ if ($row1_check == '1') {
+ $row1 = sql_array("SELECT username FROM users WHERE id='$author_id'");
+ $author = $row1['username'];
+ $author = "<a href='/users/$author_id'>$author</a>";
+ } else $author = "<a href='/users'>{lang-anonim}</a>";
+ $site_title = "{lang-post-num}$postid | $site_name";
+ $c_tpl = str_replace("{content-post}", $text, $tpl_postshow);
+ $c_tpl = str_replace("{content-post-id}", $postid, $c_tpl);
+ $c_tpl = str_replace("{content-post-rating}", $rating, $c_tpl);
+ $c_tpl = str_replace("{content-post-date}", $postdate, $c_tpl);
+ $c_tpl = str_replace("{content-post-author}", $author, $c_tpl);
+ $content.= $c_tpl;
+ } else header('Location: ./');
+ } elseif (isset($_GET['act'])) {
+ $row = sql_array("SELECT value FROM config WHERE ckey='page_posts_get_num'");
+ $posts_limit = $row['value'];
+ $act = $_GET['act'];
+ if ($act == 'best') {
+ $sql = "rating DESC";
+ } elseif ($act == 'bestusers') {
+ $sql = "rating DESC";
+ $sql1 = "AND author!='0'";
+ } elseif ($act == 'rand') {
+ $sql = "RAND()";
+ } elseif ($act == 'abyss') {
+ $sql = "rating ASC";
+ } else {
+ header('Location: ./');
+ exit();
+ }
+ if (!isset($sql1)) $sql1 = '';
+ $query = mysql_query("SELECT id,postdate,text,rating,author FROM posts WHERE status='enabled' $sql1 ORDER BY $sql LIMIT {$posts_limit}");
+ while ($row = mysql_fetch_array($query)) {
+ $id = $row['id'];
+ $postdate = $row['postdate'];
+ $text = $row['text'];
+ $rating = $row['rating'];
+ $author_id = $row['author'];
+ $row1 = sql_array("SELECT COUNT(id) AS num FROM users WHERE id='$author_id'");
+ $row1_check = $row1['num'];
+ if ($row1_check == '1') {
+ $row1 = sql_array("SELECT username FROM users WHERE id='$author_id'");
+ $author = $row1['username'];
+ $author = "<a href='/users/$author_id'>$author</a>";
+ } else $author = "<a href='/users'>{lang-anonim}</a>";
+ $c_tpl = str_replace("{content-post}", $text, $tpl_postshow);
+ $c_tpl = str_replace("{content-post-id}", $id, $c_tpl);
+ $c_tpl = str_replace("{content-post-rating}", $rating, $c_tpl);
+ $c_tpl = str_replace("{content-post-date}", $postdate, $c_tpl);
+ $c_tpl = str_replace("{content-post-author}", $author, $c_tpl);
+ $content.= $c_tpl;
+ }
+ } else {
+ $row = sql_array("SELECT value FROM config WHERE ckey='page_posts_num'");
+ $page_nums = $row['value'];
+ if (isset($_GET['page'])) $page = intval($_GET['page']); else $page = '1';
+ $pages = ceil($posts_count/$page_nums);
+ if ($pages > '1') {
+ if ($page < '1') { $page = '1'; } elseif ($page > $pages) { $page = $pages; }
+ $page_start = ($page-1)*$page_nums;
+ $neighbours = '5';
+ $left_pagelist = $page - $neighbours;
+ if ($left_pagelist < '1') $left_pagelist = '1';
+ $right_pagelist = $page + $neighbours;
+ if ($right_pagelist > $pages) $right_pagelist = $pages;
+ $page_list = '<br>';
+ if ($pages > '1') $page_list .= '[';
+ if ($page > '1') {
+ $page_1 = $page - '1';
+ if ($page_1 == '1') {
+ $page_list .= "&nbsp;<a href='/'><<</a>";
+ } else {
+ $page_list .= "&nbsp;<a href='/?page=$page_1'><<</a>";
+ }
+ }
+ $page_2 = $page - $neighbours;
+ if ($page_2 > '1') {
+ $page_list .= "&nbsp;<a href='/'>1</a>&nbsp;...";
+ }
+ for ($i=$left_pagelist; $i<=$right_pagelist; $i++) {
+ if ($i != $page) {
+ $page_list .= '&nbsp;<a href=/?page='.$i.'>'.$i.'</a>';
+ } else {
+ $page_list .= "&nbsp;<b>$i</b>";
+ }
+ }
+ $page_2 = $page + $neighbours;
+ if ($pages > $page_2) {
+ $page_list .= "&nbsp;...&nbsp;<a href='/?page=$pages'>$pages</a>";
+ }
+ if ($page < $pages) {
+ $page_1 = $page + '1';
+ $page_list .= "&nbsp;<a href='/?page=$page_1'>>></a>";
+ }
+ if ($pages > '1') $page_list .= '&nbsp;]';
+ $query = mysql_query("SELECT id,postdate,text,rating,author FROM posts WHERE status='enabled' ORDER BY id DESC LIMIT {$page_start}, {$page_nums}");
+ } else {
+ $page_list = '';
+ $query = mysql_query("SELECT id,postdate,text,rating,author FROM posts WHERE status='enabled' ORDER BY id DESC");
+ }
+ while ($row = mysql_fetch_array($query)) {
+ $id = $row['id'];
+ $postdate = $row['postdate'];
+ $text = $row['text'];
+ $rating = $row['rating'];
+ $author_id = $row['author'];
+ $row1 = sql_array("SELECT COUNT(id) AS num FROM users WHERE id='$author_id'");
+ $row1_check = $row1['num'];
+ if ($row1_check == '1') {
+ $row1 = sql_array("SELECT username FROM users WHERE id='$author_id'");
+ $author = $row1['username'];
+ $author = "<a href='/users/$author_id'>$author</a>";
+ } else $author = "<a href='/users'>{lang-anonim}</a>";
+ $c_tpl = str_replace("{content-post}", $text, $tpl_postshow);
+ $c_tpl = str_replace("{content-post-id}", $id, $c_tpl);
+ $c_tpl = str_replace("{content-post-rating}", $rating, $c_tpl);
+ $c_tpl = str_replace("{content-post-date}", $postdate, $c_tpl);
+ $c_tpl = str_replace("{content-post-author}", $author, $c_tpl);
+ $content.= $c_tpl;
+ };
+ $content .= $page_list;
+ };
+};
+?>
53 mod/rating.php
@@ -0,0 +1,53 @@
+<?php
+if (!defined('PROTECT')) { header('Location: ../'); exit(); };
+
+if (isset($_GET['postid'])) {
+ $postid = $_GET['postid'];
+ $postid = (int) ($postid);
+ if (isset($_SERVER['HTTP_REFERER'])) $ref = $_SERVER['HTTP_REFERER']; else $ref = './';
+ if (isset($_COOKIE["vote_post_$postid"]) && $_COOKIE["vote_post_$postid"] == 'lock') {
+ header('Location: '.$ref);
+ exit();
+ };
+ $row = sql_array("SELECT COUNT(id) AS num FROM posts WHERE id='$postid' AND status='enabled'");
+ $check = $row['num'];
+ if ($check == '1') {
+ if (isset($_GET['get'])) {
+ $get = $_GET['get'];
+ if ($get == 'up') {
+ $query = mysql_query("UPDATE posts SET rating=rating+1 WHERE id='$postid'");
+ setcookie("vote_post_$postid","lock",time()+86400);
+ header('Location: '.$ref);
+ exit();
+ } elseif ($get == 'down') {
+ $row = sql_array("SELECT rating FROM posts WHERE id='$postid'");
+ $rating = $row['rating'];
+ if ($rating <= '-9') {
+ $query = mysql_query("UPDATE posts SET status='deleted' WHERE id='$postid'");
+ setcookie("vote_post_$postid","lock",time()+86400);
+ header('Location: '.$ref);
+ exit();
+ } else {
+ $query = mysql_query("UPDATE posts SET rating=rating-1 WHERE id='$postid'");
+ setcookie("vote_post_$postid","lock",time()+86400);
+ header('Location: '.$ref);
+ exit();
+ };
+ } else {
+ header('Location: '.$ref);
+ exit();
+ };
+ } else {
+ header('Location: '.$ref);
+ exit();
+ };
+ } else {
+ header('Location: '.$ref);
+ };
+} else {
+ header('Location: ./');
+};
+
+
+
+?>
63 mod/register.php
@@ -0,0 +1,63 @@
+<?php
+if (!defined('PROTECT')) { header('Location: ../'); exit(); };
+if (!isset($_POST['user']) && !isset($_POST['fio']) && !isset($_POST['pass']) && !isset($_POST['pass2']) && !isset($_POST['email'])) {
+ $tpl_register = load_tpl('register');
+} elseif (empty($_POST['user'])) {
+ $tpl_register = load_tpl('register');
+ $reg_error = "{lang-register-error-username}";
+} elseif (empty($_POST['pass'])) {
+ $tpl_register = load_tpl('register');
+ $reg_error = "{lang-register-error-pass}";
+} elseif (empty($_POST['pass2'])) {
+ $tpl_register = load_tpl('register');
+ $reg_error = "{lang-register-error-pass2}";
+} elseif (empty($_POST['email'])) {
+ $tpl_register = load_tpl('register');
+ $reg_error = "{lang-register-error-email}";
+} elseif (isset($_POST['user']) && isset($_POST['fio']) && isset($_POST['pass']) && isset($_POST['pass2']) && isset($_POST['email'])) {
+ $reg_username = $_POST['user'];
+ $reg_fio = $_POST['fio'];
+ $reg_pass = $_POST['pass'];
+ $reg_pass2 = $_POST['pass2'];
+ $reg_email = $_POST['email'];
+ $reg_pass_sha = sha1(sha1($reg_pass));
+ $row = sql_array("SELECT COUNT(id) AS name FROM users WHERE username='$reg_username'");
+ if ($row['name'] == '1') {
+ $tpl_register = load_tpl('register');
+ $reg_error = "{lang-register-error-user-is}";
+ } else {
+ if (preg_match("/^(?:[a-z0-9]+(?:[-_]?[a-z0-9]+)?@[a-z0-9]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i",trim($reg_email))) {
+ $reg_email = addslashes(htmlspecialchars(trim($reg_email)));
+ $row = sql_array("SELECT COUNT(id) AS name FROM users WHERE email='$reg_email'");
+ $check_mail = $row['name'];
+ if ($check_mail == '1') {
+ $tpl_register = load_tpl('register');
+ $reg_error = "{lang-register-error-email-use}";
+ } else {
+ if ($reg_pass == $reg_pass2) {
+ $tpl_register = load_tpl('content');
+ $reg_username = addslashes(htmlspecialchars(trim($reg_username)));
+ $reg_fio = addslashes(htmlspecialchars(trim($reg_fio)));
+ $reg_email = addslashes(htmlspecialchars(trim($reg_email)));
+ $query = mysql_query("INSERT INTO users (username,password,fio,email) VALUES ('$reg_username','$reg_pass_sha','$reg_fio','$reg_email')");
+ if ($query) {
+ $reg_ok = '{lang-register-ok}';
+ } else {
+ $reg_ok = '{lang-login-error-login-pass}';
+ }
+ $tpl_register = str_replace("{content-tpl}", $reg_ok, $tpl_register);
+ } else {
+ $tpl_register = load_tpl('register');
+ $reg_error = "{lang-register-error-pass-check}";
+ }
+ }
+ } else {
+ $tpl_register = load_tpl('register');
+ $reg_error = "{lang-register-error-email-check}";
+ }
+ }
+}
+if (!isset($reg_error)) $reg_error = ''; else $reg_error = "<tr><td colspan='2' class='register_form_errors'>$reg_error</td></tr>";
+$content = str_replace("{register-errors}", $reg_error, $tpl_register);
+$content = str_replace("{register-form}", "<div class='inform_user'>{lang-form-register}</div>", $content);
+?>
120 mod/users.php
@@ -0,0 +1,120 @@
+<?php
+if (!defined('PROTECT')) { header('Location: ../'); exit(); };
+if (!isset($_GET['id'])) $userid = ''; else { $userid = $_GET['id']; $userid = (int) ($userid); }
+if (isset($_GET['act'])) { $act = $_GET['act']; } else { $act = ''; }
+if ((!$userid && $act && $none_auth == 'none') or ($userid && $act && $none_auth == 'none')) {
+ if ($act == 'panel' && $pub_user_id) {
+ $tpl_user_panel = load_tpl('userpanel');
+ $sql = "SELECT users.id,users.username,users.fio,users.email,COUNT(posts.id) AS cp,SUM(posts.rating) AS sr
+ FROM users
+ LEFT OUTER JOIN posts ON users.id=posts.author
+ WHERE users.id='$pub_user_id' LIMIT 1";
+ $row = sql_array($sql);
+ $count_posts_user= $row['cp'];
+ $sum = $row['sr'];
+ if ($count_posts_user == '0') $rating = '0';
+ else {
+ $rating = $sum/$count_posts_user;
+ $rating = sprintf("%.1f",$rating);
+ }
+ $content = str_replace("{user-panel}", "{lang-user-panel}", $tpl_user_panel);
+ $content = str_replace("{user-show-fio}", $row['fio'], $content);
+ $content = str_replace("{user-show-username}", $row['username'], $content);
+ $content = str_replace("{user-show-email}", $row['email'], $content);
+ $content = str_replace("{user-show-posts}", $row['cp'], $content);
+ $content = str_replace("{user-show-rating}", $rating, $content );
+ } else {
+ header('Location: ./');
+ }
+} elseif (!$userid && !$act) {
+ $tpl_userlist = load_tpl('userlist');
+ $content2 = '';
+ $row1 = sql_array("SELECT value FROM config WHERE ckey='page_user_list'");
+ $nums = $row1['value'];
+ if ($nums < $users_count) {
+ if (isset($_GET['page'])) $page = intval($_GET['page']); else $page = '1';
+ $pages = ceil($users_count/$nums);
+ if ($page < '1') $page = '1'; elseif ($page > $pages) $page = $pages;
+ $start = ($page-1)*$nums;
+ if ($start < '0') $start = '0';
+ $query = mysql_query("SELECT id,username,fio FROM users ORDER BY username LIMIT {$start}, {$nums}");
+ $pages_open = 'yes';
+ } else {
+ $query = mysql_query("SELECT id,username,fio FROM users ORDER BY username");
+ $pages_open = '';
+ }
+ while ($row = mysql_fetch_array($query)) {
+ $id = $row['id'];
+ $fio = $row['fio'];
+ $row1 = sql_array("SELECT COUNT(id) AS num FROM posts WHERE author='$id' AND status='enabled'");
+ $count_posts_user = $row1['num'];
+ $row2 = sql_array("SELECT SUM(rating) AS sum FROM posts WHERE author='$id' AND status='enabled' LIMIT 1");
+ $sum = $row2['sum'];
+ if ($count_posts_user == '0') {
+ $rating = '0';
+ } else {
+ $rating = $sum/$count_posts_user;
+ $rating = sprintf("%.1f",$rating);
+ }
+ $content1 = str_replace("{users-show}", '', $tpl_userlist);
+ $content1 = str_replace("{users-show-id}", $id, $content1);
+ $content1 = str_replace("{users-show-username}", $row['username'], $content1);
+ $content1 = str_replace("{users-show-fio}", $fio, $content1);
+ $content1 = str_replace("{users-show-rating}", $rating, $content1);
+ $content2 .= str_replace("{users-show-posts}", $row1['num'], $content1);
+ }
+ $page_list = '';
+ if ($pages_open == 'yes') {
+ $neigtbours = '5';
+ $left_pagelist = $page - $neigtbours;
+ if ($left_pagelist < '1') $left_pagelist = '1';
+ $right_pagelist = $page + $neigtbours;
+ if ($right_pagelist > $pages) $right_pagelist = $pages;
+ if ($pages > '1') $page_list .= '[';
+ if ($page > '1') {
+ $page_1 = $page - '1';
+ if ($page_1 == '1') $page_list .= "&nbsp;<a href='/users'><<</a>";
+ else $page_list .= "&nbsp;<a href='/?do=users&page=$page_1'><<</a>";
+ }
+ $page_2 = $page - $neigtbours;
+ if ($page_2 > '1') $page_list .= "&nbsp;<a href='/?do=users'>1</a>&nbsp;...";
+ for ($i=$left_pagelist; $i<=$right_pagelist; $i++) {
+ if ($i != $page) $page_list .= '&nbsp;<a href=/?do=users&page='.$i.'>'.$i.'</a>';
+ else $page_list .= "&nbsp;<b>$i</b>";
+ }
+ $page_2 = $page + $neigtbours;
+ if ($pages > $page_2) $page_list .= "&nbsp;...&nbsp;<a href='/?do=users&page=$pages'>$pages</a>";
+ if ($page < $pages) {
+ $page_1 = $page + '1';
+ $page_list .= "&nbsp;<a href='/?do=users&page=$page_1'>>></a>";
+ }
+ if ($pages > '1') $page_list .= '&nbsp;]';
+ }
+ $content .= '<div class="content"><table width=100% class="user_list"><tr align=center><td class="user_list">{lang-username}</td>'
+ .'<td class="user_list">{lang-fio}</td><td class="user_list">{lang-posts}</td><td class="user_list">{lang-count-rating}</td>'
+ .'<td class="user_list">{lang-detali}</td></tr>'.$content2.'</table><div align="center">'.$page_list.'</div></div>';
+} elseif ($userid) {
+ $tpl_usershow = load_tpl('usershow');
+ $sql = "SELECT users.id,users.username,users.fio,COUNT(posts.id) AS cp,SUM(posts.rating) AS sr
+ FROM users
+ LEFT OUTER JOIN posts ON users.id=posts.author
+ WHERE users.id='$userid' LIMIT 1";
+ $row = sql_array($sql);
+ $fio = $row['fio'];
+ $count_posts_user= $row['cp'];
+ $sum = $row['sr'];
+ if ($count_posts_user == '0') $rating = '0';
+ else {
+ $rating = $sum/$count_posts_user;
+ $rating = sprintf("%.1f",$rating);
+ }
+ $content = str_replace("{users-show}", '<div class=inform_user>{lang-info-show-user}</div><br>', $tpl_usershow);
+ $content = str_replace("{users-show-id}", $row['id'],$content);
+ $content = str_replace("{users-show-username}", $row['username'],$content);
+ $content = str_replace("{users-show-fio}", $fio, $content);
+ $content = str_replace("{users-show-posts}", $row['cp'], $content);
+ $content = str_replace("{users-show-rating}", $rating, $content);
+} else {
+ header('Location: ./');
+}
+?>
13 robots.txt
@@ -0,0 +1,13 @@
+User-agent: *
+Disallow: /
+Disallow: /?act=best
+Disallow: /?act=bestusers
+Disallow: /?act=rand
+Disallow: /?act=abyss
+Disallow: /?do=users
+Disallow: /?do=addpost
+Disallow: /?do=login
+Disallow: /?do=register
+Disallow: /?do=rating
+Host: bash.vitalvas.uz.ua
+Sitemap: http://bash.vitalvas.uz.ua/sitemap.xml
50 sitemap.php
@@ -0,0 +1,50 @@
+<?php
+define('PROTECT', true);
+require_once('config.php');
+$dbh = mysql_connect($db_host,$db_user,$db_pass) or die('No connected : '.mysql_error());
+mysql_select_db($db_name,$dbh) or die("Can't select db : ".mysql_error());
+mysql_query("SET NAMES cp1251");
+
+$dom = new DomDocument('1.0', 'UTF-8');
+$dom -> formatOutput = true;
+
+$loc=$dom->createElement('urlset');
+$urlset = $dom->appendChild($loc);
+
+$xmlns = $dom->createAttribute("xmlns");
+$loc->appendChild($xmlns);
+$val = $dom->createTextNode("http://www.sitemaps.org/schemas/sitemap/0.9");
+$xmlns->appendChild($val);
+
+$xmlns = $dom->createAttribute("xmlns:xsi");
+$loc->appendChild($xmlns);
+$val = $dom->createTextNode("http://www.w3.org/2001/XMLSchema-instance");
+$xmlns->appendChild($val);
+
+$xmlns = $dom->createAttribute("xsi:schemaLocation");
+$loc->appendChild($xmlns);
+$val = $dom->createTextNode("http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd");
+$xmlns->appendChild($val);
+
+$result = mysql_query("select id,postdate from posts where status='enabled'");
+while ($res = mysql_fetch_assoc($result)) {
+ $id = $res['id'];
+ $date = explode(' ', $res['postdate']);
+ $date = $date['0'];
+ $url = $urlset -> appendChild($dom->createElement('url'));
+ $loc = $url -> appendChild($dom->createElement('loc'));
+ $text = $loc -> appendChild($dom->createTextNode("http://bash.vitalvas.uz.ua/quote/$id"));
+ $lastmod = $url -> appendChild($dom->createElement('lastmod'));
+ $text = $lastmod -> appendChild($dom->createTextNode("$date"));
+ $changefreq = $url -> appendChild($dom->createElement('changefreq'));
+ $text = $changefreq -> appendChild($dom->createTextNode('daily'));
+ $priority = $url -> appendChild($dom->createElement('priority'));
+ $text = $priority -> appendChild($dom->createTextNode('0.8'));
+}
+
+$dom->formatOutput = true;
+$out = $dom->saveXML();
+$dom->save('sitemap.xml');
+echo $out;
+
+?>
3,753 sitemap.xml
3,753 additions, 0 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
BIN style/info.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN style/logo.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 style/main.js
@@ -0,0 +1,8 @@
+function toggle(name) {
+ el=document.getElementById(name);
+ if(el.style.display == 'block')
+ el.style.display = 'none';
+ else
+ el.style.display = 'block';
+}
+
26 style/style.css
@@ -0,0 +1,26 @@
+body { text-align: center; }
+.title { font-family: 'Georgia', 'Times', 'Times New Roman', serif; font-size: 21pt; height: 40px; text-align: right; }
+.title img { float: left; }
+p { margin: 0.35em 0; }
+a { text-decoration: none; color: #33e; }
+a:hover { text-decoration: underline; color: #33e; }
+a:visited { color: #33e; }
+#page_title { margin: 20px auto; width: 820px; }
+#page { margin: 20px auto; width: 820px; }
+div.no_display { display: none; }
+div.stats { background: #f3f3f3; padding: 5px; border: 1px dotted #999; }
+div.content { background: #f3f3f3; padding: 5px; border: 1px dotted #999; text-align: left; }
+div.cmenu { text-align: left; }
+table.stats { width:100%; margin-left: 2px; margin-top: -2px; padding-}
+div.inform_user { font-size: 15pt; color: #6c6103; text-align: center;}
+table.user_show { border-collapse: collapse; }
+td.user_show { border: 1px dotted #999fff; vertical-align: top;}
+td.login_form { text-align: center; width: 190px; border: 1px dotted #999fff; }
+td.login_form_errors { text-align: center; width: 190px; border: 1px dotted #999fff; color: #ff0000;}
+table.login_form { border-collapse: collapse; }
+table.login_body { width: 100%; text-align: center;}
+td.register_form { width: 150px; border: 1px dotted #999fff;}
+table.register_form { border-collapse: collapse;}
+td.register_form_errors { text-align: center; width: 300px; border: 1px dotted #999fff; color: #ff0000;}
+table.user_list { border-collapse: collapse;}
+td.user_list { border: 1px dotted #999fff;}
11 tpl/addpost.tpl
@@ -0,0 +1,11 @@
+<table width='100%'>
+<tr><td width='610'>
+<p><div align='center'>{add-post-guest-message}</div></p>
+<form action='/?do=addpost' method="POST" name="addpost">
+<p><textarea rows="20" cols="78" id="area" name="text">{textarea-text}</textarea></p>
+<p>{guest-check-image}</p>
+<p><input type='submit' value="{lang-submit}"></p>
+</form>
+</td><td width='210'>
+{lang-add-post-rules}
+</td></tr></table>
5 tpl/addpost1.tpl
@@ -0,0 +1,5 @@
+<table width='100%'>
+<tr><td width='610'>
+<p><div align='center'>{add-post-guest-message}</div></p>
+</td><td width='210'>
+</td></tr></table>
3 tpl/content.tpl
@@ -0,0 +1,3 @@
+<div class="content">
+{content-tpl}
+</div>
32 tpl/login.tpl
@@ -0,0 +1,32 @@
+<div class="content">
+{login-form}
+<table class="login_body">
+ <tr>
+ <td align=center>
+ <br>
+ <br>
+ <table class="login_form">
+ <tr>
+ <td class="login_form">
+ <form action="/?do=login" method="post">
+ {lang-login}: <br><input name="login" type="text">
+ </td>
+ </tr>
+ <tr>
+ <td class="login_form">
+ {lang-passwd}: <br><input name="pass" type="password">
+ </td>
+ </tr>
+ {login-errors}
+ <tr>
+ <td class="login_form">
+ <input type="submit" value="{lang-submit}">
+ </td>
+ </tr>
+ </table>
+ <br>
+ <br>
+ </td>
+ </tr>
+</table>
+</div>
46 tpl/main.tpl
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
+ <title>{title}</title>
+ <link rel="stylesheet" type="text/css" media="screen" href="/style/style.css">
+ <script language='JavaScript' type='text/javascript' src='/style/main.js'></script>
+ <meta name='yandex-verification' content='47f770595b85ed01' />
+ <meta name="google-site-verification" content="rqM_WuziqqUroBQGxf56gDoZj0YSoJP95uPt6vzj9jE" />
+ <meta name="generator" content="VitalVas head, VitalVas hands, Notepad++, shell, phpMyAdmin" />
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-20509635-1']);
+ _gaq.push(['_trackPageview']);
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+</script>
+</head>
+<body>
+<div id="page_title"><div class="title"><a href='/'><img src="/style/logo.gif"></a><p>{title-site}<br />{random-quotes}</p></div></div>
+<br />
+<div id="page">
+<div class="stats">
+<table border=0 class="stats">
+<tr>
+<td width="25%"><b>{lang-all-posts}:</b> {posts-count}</td>
+<td width="25%"><b>{lang-enabled}:</b> {posts-enabled}</td>
+<td width="25%"><b>{lang-deleted}:</b> {posts-deleted}</td>
+<td width="25%"><b>{lang-users}:</b> {users-count}</td>
+</tr>
+</table>
+<hr>
+<div align='left'>
+[<a href='/'>{lang-new}</a>]&nbsp;[<a href='/best'>{lang-best}</a>]&nbsp;[<a href='/bestusers'>{lang-bestuser}</a>]&nbsp;[<a href='/rand'>{lang-rand}</a>]&nbsp;[<a href='/abyss'>{lang-abyss}</a>]&nbsp;[<a href='/users'>{lang-user}</a>]&nbsp;[<a href='/addpost'>{lang-addpost}</a>]
+<br>
+{userpanel}
+</div>
+</div>
+<br>
+{content}
+</div>
+</body>
+</html>
10 tpl/postshow.tpl
@@ -0,0 +1,10 @@
+<br />
+<div class="cmenu">
+&nbsp;<a href='/quote/{content-post-id}'>{content-post-id}</a>&nbsp;&nbsp;
+[&nbsp;<a href='/?do=rating&postid={content-post-id}&get=up'>{lang-low-up}</a>&nbsp;|&nbsp;{content-post-rating}&nbsp;|&nbsp;<a href='/?do=rating&postid={content-post-id}&get=down'>{lang-low-down}</a>&nbsp;]
+&nbsp;{lang-post-date}: {content-post-date}&nbsp;
+&nbsp;{lang-author}: {content-post-author}&nbsp;
+</div>
+<div class="content">
+{content-post}
+</div>
37 tpl/register.tpl
@@ -0,0 +1,37 @@
+<div class="content">
+{register-form}
+<table class="login_body">
+ <tr>
+ <td align=center>
+ <br>
+ <br>
+ <table class="register_form">
+ <tr>
+ <td class="register_form"><form action="/?do=register" method="post">{lang-login}:</td>
+ <td class="register_form"><input name="user" type="text" maxlength="30" size="20"><b><font color=red>!</font></b></td>
+ </tr>
+ <tr>
+ <td class="register_form">{lang-fio}:</td>
+ <td class="register_form"><input name="fio" type="text" maxlength="150" size="21"></td>
+ </tr>
+ <tr>
+ <td class="register_form">{lang-passwd}:</td>
+ <td class="register_form"><input name="pass" type="password" size="20"><b><font color=red>!</font></b></td>
+ </tr>
+ <tr>
+ <td class="register_form">{lang-re-passwd}:</td>
+ <td class="register_form"><input name="pass2" type="password" size="20"><b><font color=red>!</font></b></td>
+ </tr>
+ <tr>
+ <td class="register_form">{lang-email}:</td>
+ <td class="register_form"><input name="email" type="text" maxlength="255" size="20"><b><font color=red>!</font></b></td>
+ </tr>
+ {register-errors}
+ <tr><td class="register_form" colspan=2 align=center><input type="submit" value="{lang-submit}"></td></tr>
+ </table>
+ <br>
+ <br>
+ </td>
+ </tr>
+</table>
+</div>
7 tpl/userlist.tpl
@@ -0,0 +1,7 @@
+<tr>
+ <td class="user_list">{users-show-username}</td>
+ <td class="user_list">{users-show-fio}</td>
+ <td align='center' class="user_list">{users-show-posts}</td>
+ <td align='center' class="user_list">{users-show-rating}</td>
+ <td align='center' class="user_list"><a href='/?do=users&id={users-show-id}'>{lang-detal}</a></td>
+</tr>
28 tpl/userpanel.tpl
@@ -0,0 +1,28 @@
+<div class="content">
+{user-panel}
+<table class="user_list" width="70%">
+ <tr>
+ <td rowspan='7' align='center'><img src="/style/info.jpg" width='180'/></td>
+ </tr>
+ <tr>
+ <td class="user_list">{lang-username}:</td>
+ <td class="user_list">{user-show-username}</td>
+ </tr>
+ <tr>
+ <td class="user_list">{lang-fio}:</td>
+ <td class="user_list">{user-show-fio}</td>
+ </tr>
+ <tr>
+ <td class="user_list">{lang-email}:</td>
+ <td class="user_list">{user-show-email}</td>
+ </tr>
+ <tr>
+ <td class="user_list">{lang-posts}:</td>
+ <td class="user_list">{user-show-posts}</td>
+ </tr>
+ <tr>
+ <td class="user_list">{lang-count-rating}</td>
+ <td class="user_list">{user-show-rating}</td>
+ </tr>
+</table>
+</div>
1 tpl/userpanel_auth.tpl
@@ -0,0 +1 @@
+{lang-hello}&nbsp;<b>{username}</b>&nbsp;[<a href='/?do=logout'>{lang-log-out}</a>]&nbsp;[<a href='/?do=users&act=panel'>{lang-log-panel}</a>]
1 tpl/userpanel_in.tpl
@@ -0,0 +1 @@
+[<a href='/?do=login'>{lang-log-in}</a>]&nbsp;[<a href='/?do=register'>{lang-log-reg}</a>]
14 tpl/usershow.tpl
@@ -0,0 +1,14 @@
+<div class="content">
+{users-show}
+<table width='70%' class='user_show'>
+ <tr>
+ <td rowspan='5' align='center'><img src='/style/info.jpg' width='200' height='200'></td>
+ <td class='user_show'>ID:&nbsp;{users-show-id}</td>
+ </tr>
+ <tr><td class='user_show'>{lang-username}:&nbsp;{users-show-username}</td></tr>
+ <tr><td class='user_show'>{lang-fio}:&nbsp;{users-show-fio}</td></tr>
+ <tr><td class='user_show'>{lang-count-posts}:&nbsp;{users-show-posts}</td></tr>
+ <tr><td class='user_show'>{lang-count-rating}:&nbsp;{users-show-rating}</td></tr>
+</table>
+<br>
+</div>