Sorry

This feed does not validate.

In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendation.

Source: http://www.apf.zachalo.ru/forum/tools.php?action=rss

  1. <?php
  2. /****************************************************************************
  3. * ExBB v.1.1                                                               *
  4. * Copyright (c) 2002-20?? by Alexander Subhankulov aka Warlock             *
  5. *                                                                         *
  6. * http://www.exbb.net                                             *
  7. * email: admin@exbb.net                                           *
  8. *                                                                         *
  9. ****************************************************************************/
  10. /****************************************************************************
  11. *                                                                         *
  12. *   This program is free software; you can redistribute it and/or modify   *
  13. *   it under the terms of the GNU General Public License as published by   *
  14. *   the Free Software Foundation; either version 2 of the License, or     *
  15. *   (at your option) any later version.                                   *
  16. *                                                                         *
  17. ****************************************************************************/
  18. define('IN_EXBB', TRUE);
  19. include('./include/common.php');
  20.  
  21. $fm->_GetVars();
  22. $fm->_String('action');
  23. $fm->_LoadLang('tools');
  24.  
  25. switch ($fm->input['action']) {
  26. case 'online'   : showOnline();
  27. break;
  28.        case 'rules'   : showHelpRules('Rules');
  29.         break;
  30.        case 'help'   : showHelpRules('Help');
  31.         break;
  32.        case 'smiles'   : showsmiles();
  33.         break;
  34.        case 'mail'   : mailtouser();
  35.         break;
  36.        case 'members'  : memberslist();
  37.         break;
  38.        default: loadModule(); break;
  39. }
  40. include('page_tail.php');
  41.  
  42. function get_smilescat($var) {
  43. global $curcatid;
  44. return ($curcatid == $var['cat']);
  45. }
  46.  
  47. function showOnline() {
  48. global $fm;
  49.  
  50. $onlinedata = $fm->_Read(FM_ONLINE);
  51. $output = '';
  52. foreach ($onlinedata as $id => $online) {
  53. if ($fm->exbb['visiblemode'] === TRUE && !defined('IS_ADMIN') && $online['v'] === TRUE) continue;
  54. if ($online['pf'] !== FALSE && !isset($fm->user['private'][$online['pf']]) && !defined('IS_ADMIN')) $online['in'] = $fm->LANG['BoardMain'];
  55. $actdate = $fm->_DateFormat($online['t'] + $fm->user['timedif']*3600);
  56. $bot = ($online['b'] !== FALSE) ? ' '.$online['b'].' bot ??????' : '';
  57. $online['n'] = ($online['id'] !== 0) ? '<a href="profile.php?action=show&member='.$online['id'].'"  target="_blank" title="'.$fm->LANG['UserProfile'].' '.$online['n'].'">'.$online['n'].'</a>':$online['n'];
  58. $online['ip'] = (defined('IS_ADMIN')) ? sprintf($fm->LANG['ViewIpInfo'],$online['ip']):'';
  59. include('./templates/'.DEF_SKIN.'/showonline_data.tpl');
  60. }
  61.  
  62. $fm->_Title = ' :: '.$fm->LANG['WhoOnline'];
  63. include('./templates/'.DEF_SKIN.'/all_header.tpl');
  64. include('./templates/'.DEF_SKIN.'/logos.tpl');
  65. include('./templates/'.DEF_SKIN.'/showonline.tpl');
  66. include('./templates/'.DEF_SKIN.'/footer.tpl');
  67. }
  68.  
  69. function showHelpRules($mode) {
  70. global $fm;
  71. $fm->_LoadLang('help_rules');
  72.  
  73.        $PageTitle = ($mode === 'Rules') ? $fm->LANG['ForumRules']:$fm->LANG['Help'];
  74. $count = (is_array($fm->LANG[$mode.'TITLE'])) ? count($fm->LANG[$mode.'TITLE']) : 0;
  75.  
  76. if ($count) {
  77. $topics = $content = '';
  78. foreach ($fm->LANG[$mode.'TITLE'] as $id => $topic) {
  79.       $text = $fm->LANG[$mode.'TEXT'][$id];
  80.       $desc = $fm->LANG[$mode.'DESC'][$id];
  81.       $desc = ($desc === '') ? '': '<br> &nbsp; '.$desc;
  82.       include('./templates/'.DEF_SKIN.'/helprules_data.tpl');
  83.       $color = ( !($id % 2) ) ? 'row1' : 'row2';
  84.     }
  85. } else {
  86.     $rules_topics = "<center>??????? ?? ???????????</center>";
  87.     $rules_content = '';
  88. }
  89. $fm->_Title = ' :: '.$PageTitle;
  90. include('./templates/'.DEF_SKIN.'/all_header.tpl');
  91. include('./templates/'.DEF_SKIN.'/logos.tpl');
  92. include('./templates/'.DEF_SKIN.'/helprules.tpl');
  93. include('./templates/'.DEF_SKIN.'/footer.tpl');
  94. }
  95.  
  96. function showsmiles() {
  97. global $fm,$curcatid;
  98.  
  99. $sm_list = $fm->_Read(FM_SMILES);
  100.  
  101. $smoption = '';
  102. if (count($sm_list['cats']) === 0) {
  103. $fm->_Message(' :-)',$fm->LANG['SmilesNoCats']);
  104. }
  105.  
  106. if (($curcatid = $fm->_Intval('cat')) === 0 || !isset($sm_list['cats'][$curcatid])) {
  107. ksort($sm_list['cats'],SORT_NUMERIC);
  108. reset($sm_list['cats']);
  109. $curcatid = key($sm_list['cats']);
  110. }
  111.  
  112. foreach ($sm_list['cats'] as $catid => $catname) {
  113. $selected = ($curcatid === $catid) ? ' selected':'';
  114. $smoption .= '<option value="'.$catid.'"'.$selected.'>'.$catname.'</option>';
  115. }
  116.  
  117. $smiles_list = array_filter($sm_list['smiles'], "get_smilescat");
  118. unset($sm_list);
  119.  
  120. if (count($smiles_list) === 0) {
  121. $fm->_Message(' :-)',$fm->LANG['NoSmilesInCat']);
  122. }
  123.  
  124. $keys = array_keys($smiles_list);
  125. $k = 1;
  126. while (count($keys)<(ceil(count($keys)/3))*3) $keys[] = "emptysmile_".$k++;
  127.  
  128. $get_param = 'tools.php?action=smiles&cat='.$curcatid.'&p={_P_}';
  129. $pages = Print_Paginator(count($keys),$get_param,30,8,$first,TRUE);
  130. $keys = array_slice($keys,$first,30);
  131.  
  132. $i = 0; $datashow = '';
  133. foreach ($keys as $code) {
  134. $smile = "cell".$i;
  135. $$smile = (isset($smiles_list[$code])) ? '<a href="#" onClick="opener.bbcode(0,\''.$code.'\');self.focus();" title="'.$smiles_list[$code]['emt'].'"><img src="./im/emoticons/'.$smiles_list[$code]['img'].'" border="0" alt="'.$smiles_list[$code]['emt'].'" /></a>':'&nbsp;';
  136. $i++;
  137. if ($i === 3){
  138. $i = 0;
  139. include('./templates/'.DEF_SKIN.'/smiles_data.tpl');
  140. }
  141. }
  142.  
  143. $fm->_Title = ' :-)';
  144. include('./templates/'.DEF_SKIN.'/all_header.tpl');
  145. include('./templates/'.DEF_SKIN.'/smiles_show.tpl');
  146. include('./templates/'.DEF_SKIN.'/footer.tpl');
  147. return TRUE;
  148. }
  149.  
  150. function mailtouser() {
  151. global $fm;
  152.  
  153. if ($fm->exbb['emailfunctions'] !== TRUE) {
  154. $fm->_Message($fm->LANG['MainMsg'],$fm->LANG['MailFunctionClosed']);
  155. }
  156.  
  157. if ($fm->user['id'] === 0) {
  158. $fm->_Message($fm->LANG['MainMsg'],$fm->LANG['GuestMail']);
  159. }
  160.  
  161. $users = $fm->_Read(FM_USERS);
  162. if (($user_id = $fm->_Intval('member')) === 0 || !isset($users[$user_id])) {
  163. $fm->_Message($fm->LANG['MainMsg'],$fm->LANG['CorrectPost']);
  164. }
  165. unset($users);
  166.  
  167. $user = $fm->_Getmember($user_id);
  168. if ($fm->_Boolean($fm->input, 'dosend') === TRUE) {
  169. if (!defined('IS_ADMIN')) {
  170. if (isset($_SESSION['lastposttime']) && ($_SESSION['lastposttime'] + $fm->exbb['flood_limit']) > $fm->_Nowtime) {
  171. $fm->_Message($fm->LANG['MainMsg'],sprintf($fm->LANG['FloodLimitNew'],$fm->exbb['flood_limit']));
  172. }
  173. $_SESSION['lastposttime'] = $fm->_Nowtime;
  174. }
  175.  
  176. if ($fm->_String('subject') === '' || $fm->_String('message') === '') {
  177. $fm->_Message($fm->LANG['MailByBoard'],$fm->LANG['NoEmptyFields']);
  178. }
  179.  
  180. $fm->input['subject'] = $fm->bads_filter(substr($fm->input['subject'],0,255));
  181. $fm->input['message'] = $fm->bads_filter($fm->input['message']);
  182.  
  183. $email = sprintf($fm->LANG['EmailByBordText'],
  184. $user['name'],
  185. $fm->user['name'],
  186. $fm->exbb['boardname'],
  187. $fm->exbb['boardurl']).$fm->input['message'];
  188. $fm->_Mail($fm->exbb['boardname'],$fm->user['mail'],$user['mail'],$fm->input['subject'],$email);
  189. $fm->_Message($fm->LANG['MailByBoard'],$fm->LANG['SendMailOk'],'index.php');
  190. } else {
  191. $fm->_Title = ' :: '.$fm->LANG['MailByBoard'];
  192. include('./templates/'.DEF_SKIN.'/all_header.tpl');
  193. include('./templates/'.DEF_SKIN.'/logos.tpl');
  194. include('./templates/'.DEF_SKIN.'/mailform.tpl');
  195. include('./templates/'.DEF_SKIN.'/footer.tpl');
  196. }
  197. }
  198.  
  199. function memberslist() {
  200. global $fm;
  201.  
  202. $sort = $fm->_String('s');
  203. $order = $fm->_String('order', 'ASC');
  204.  
  205. $users = $fm->_Read(FM_USERS);
  206. switch ($sort) {
  207. case 'p': uasort($users, 'sort_by_post');
  208. break;
  209. case 'n': uasort($users, 'sort_by_name');
  210. break;
  211. default : ksort($users,SORT_NUMERIC);
  212. break;
  213. }
  214.  
  215. if ($order == 'DESC') $users = array_reverse($users,TRUE);
  216.  
  217. $ASC_selcted = ($order == 'ASC') ? ' selected="selected"':'';
  218. $DESC_selcted = ($order == 'DESC') ? ' selected="selected"':'';
  219.  
  220. $d_selected = ($sort === 'd') ? ' selected="selected"':'';
  221. $p_selected = ($sort === 'p') ? ' selected="selected"':'';
  222. $n_selected = ($sort === 'n') ? ' selected="selected"':'';
  223.  
  224. $get_param = 'tools.php?action=members&s='.$sort.'&order='.$order.'&p={_P_}';
  225. $per_page = (abs($fm->_Intval('pg', 25) > 100)) ? 100:abs($fm->input['pg']);
  226. $pages = Print_Paginator(count($users),$get_param,$per_page,8,$first,TRUE);
  227.  
  228. $userskeys = array_slice(array_keys($users),$first,$per_page);
  229.  
  230. $members_data = '';
  231. foreach ($userskeys as $key => $user_id) {
  232. $user = $fm->_Getmember($user_id);
  233. switch ($user['status']) {
  234. case 'ad' : $status = $fm->LANG['Admin'];
  235. break;
  236. case 'sm' : $status = $fm->LANG['SuperModer'];
  237. break;
  238. case 'me' : $status = $fm->LANG['User'];
  239. break;
  240. case 'banned' : $status = $fm->LANG['Banned'];
  241. break;
  242. }
  243.                $user['title'] = ($user['title'] != '') ? $user['title']:$status;
  244. $user['joined'] = date("d.m.Y", $user['joined']);
  245. $user['location'] = ($user['location'] != '') ? $user['location']:'&nbsp;';
  246. $user['mail'] = ($user['showemail'] === TRUE) ? '<a href="mailto:'.$user['mail'].'">'.$fm->LANG['Write'].'</a>' : '<a href="tools.php?action=mail&member='.$user_id.'">'.$fm->LANG['Write'].'</a>';
  247.                $user['mail'] = ($fm->exbb['emailfunctions'] !== TRUE || $fm->user['id'] === 0) ? '&nbsp;':$user['mail'];
  248.                $user['www'] = ($user['posts'] > 10 && $user['www'] !== '' && $user['www'] !== 'http://') ? '<a href="'.$user['www'].'" target="_blank">'.$fm->LANG['Looked'].'</a>':'&nbsp;';
  249.                $user['icq'] = ($user['icq'] != '') ? '<a href="http://wwp.icq.com/scripts/search.dll?to='.$user['icq'].'"><img src="http://online.mirabilis.com/scripts/online.dll?icq='.$user['icq'].'&img=5" align=abscenter width=18 height=18 border=0></a>' : '&nbsp;';
  250.                $class = (!($key % 2)) ? 'row1' : 'row4';
  251. include('./templates/'.DEF_SKIN.'/memblist_data.tpl');
  252. unset($user);
  253. }
  254.  
  255.        $fm->_Title = ' :: '.$fm->LANG['Memberlist'];
  256.        include('./templates/'.DEF_SKIN.'/all_header.tpl');
  257.        include('./templates/'.DEF_SKIN.'/logos.tpl');
  258.        include('./templates/'.DEF_SKIN.'/memblist.tpl');
  259.        include('./templates/'.DEF_SKIN.'/footer.tpl');
  260. }
  261.  
  262. function loadModule() {
  263. global $fm;
  264. //$fm->_LoadLang('forums');
  265.  
  266. if ($fm->input['action'] === '') {
  267. $fm->_Message($fm->LANG['MainMsg'],$fm->LANG['CorrectPost']);
  268. }
  269. $modulefile = 'modules/'.$fm->input['action'].'/frontindex.php';
  270.  
  271. if (!file_exists($modulefile) || $fm->exbb[$fm->input['action']] === FALSE){
  272. $fm->_Message($fm->LANG['MainMsg'],$fm->LANG['ModNotInstalled']);
  273. }
  274. include($modulefile);
  275. }
  276. ?>
  277.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda