} $text .= "</table>\n</div>"; $ftotal = $sql->db_Count('forum_thread', '(*)', 'WHERE `thread_parent` = 0'); $parms = "{$ftotal},{$view},{$from}," . e_SELF . '?[FROM].active.forum.' . $view; $text .= "<div class='nextprev'>" . $tp->parseTemplate("{NEXTPREV={$parms}}") . '</div>'; $ns->tablerender(LAN_7, $text, 'nfp'); /* require_once (e_HANDLER.'np_class.php'); $ftotal = $sql->db_Count('forum_thread', '(*)', 'WHERE 1'); $ix = new nextprev('top.php', $from, $view, $ftotal, '', 'active.forum.'.$view); */ } } if ($action == 'top') { //require_once (e_HANDLER.'level_handler.php'); $rank = e107::getRank(); define('IMAGE_rank_main_admin_image', $pref['rank_main_admin_image'] && file_exists(THEME . "forum/" . $pref['rank_main_admin_image']) ? "<img src='" . THEME_ABS . "forum/" . $pref['rank_main_admin_image'] . "' alt='' />" : "<img src='" . e_PLUGIN_ABS . "forum/images/" . IMODE . "/main_admin.png' alt='' />"); define('IMAGE_rank_admin_image', $pref['rank_admin_image'] && file_exists(THEME . "forum/" . $pref['rank_admin_image']) ? "<img src='" . THEME_ABS . "forum/" . $pref['rank_admin_image'] . "' alt='' />" : "<img src='" . e_PLUGIN_ABS . "forum/images/" . IMODE . "/admin.png' alt='' />"); define('IMAGE_rank_moderator_image', $pref['rank_moderator_image'] && file_exists(THEME . "forum/" . $pref['rank_moderator_image']) ? "<img src='" . THEME_ABS . "forum/" . $pref['rank_moderator_image'] . "' alt='' />" : "<img src='" . e_PLUGIN_ABS . "forum/images/" . IMODE . "/moderator.png' alt='' />"); if ($subaction == 'forum' || $subaction == 'all') { require_once e_PLUGIN . 'forum/forum_class.php'; $forum = new e107forum(); $qry = "\r\n\t\tSELECT ue.*, u.* FROM `#user_extended` AS ue\r\n\t\tLEFT JOIN `#user` AS u ON u.user_id = ue.user_extended_id\r\n\t\tWHERE ue.user_plugin_forum_posts > 0\r\n\t\tORDER BY ue.user_plugin_forum_posts DESC LIMIT {$from}, {$view}\r\n\t\t"; // $top_forum_posters = $sql->db_Select("user", "*", "`user_forums` > 0 ORDER BY user_forums DESC LIMIT ".$from.", ".$view.""); $text = "\r\n\t\t\t<div>\r\n\t\t\t<table style='width:95%' class='table table-striped fborder'>\r\n\t\t\t<tr>\r\n\t\t\t<th style='width:10%; text-align:center' class='forumheader3'> </th>\r\n\t\t\t<th style='width:50%' class='forumheader3'>" . TOP_LAN_1 . "</th>\r\n\t\t\t<th style='width:10%; text-align:center' class='forumheader3'>" . TOP_LAN_2 . "</th>\r\n\t\t\t<th style='width:30%; text-align:center' class='forumheader3'>" . TOP_LAN_6 . "</th>\r\n\t\t\t</tr>\n"; $counter = 1 + $from; $sql2 = e107::getDb('sql2'); if ($sql2->gen($qry)) { while ($row = $sql2->db_Fetch(MYSQL_ASSOC)) { //$ldata = get_level($row['user_id'], $row['user_plugin_forum_posts'], $row['user_comments'], $row['user_chats'], $row['user_visits'], $row['user_join'], $row['user_admin'], $row['user_perms'], $pref); $ldata = $rank->getRanks($row, USER && $forum->isModerator(USERID));
function topPosters() { $pref = e107::pref('core'); $rank = e107::getRank(); $sql = e107::getDb(); $sql2 = e107::getDb('sql2'); $ns = e107::getRender(); $tp = e107::getParser(); define('IMAGE_rank_main_admin_image', $pref['rank_main_admin_image'] && file_exists(THEME . "forum/" . $pref['rank_main_admin_image']) ? "<img src='" . THEME_ABS . "forum/" . $pref['rank_main_admin_image'] . "' alt='' />" : "<img src='" . e_PLUGIN_ABS . "forum/images/" . IMODE . "/main_admin.png' alt='' />"); define('IMAGE_rank_admin_image', $pref['rank_admin_image'] && file_exists(THEME . "forum/" . $pref['rank_admin_image']) ? "<img src='" . THEME_ABS . "forum/" . $pref['rank_admin_image'] . "' alt='' />" : "<img src='" . e_PLUGIN_ABS . "forum/images/" . IMODE . "/admin.png' alt='' />"); define('IMAGE_rank_moderator_image', $pref['rank_moderator_image'] && file_exists(THEME . "forum/" . $pref['rank_moderator_image']) ? "<img src='" . THEME_ABS . "forum/" . $pref['rank_moderator_image'] . "' alt='' />" : "<img src='" . e_PLUGIN_ABS . "forum/images/" . IMODE . "/moderator.png' alt='' />"); if ($this->subaction == 'forum' || $this->subaction == 'all') { require_once e_PLUGIN . 'forum/forum_class.php'; $forum = new e107forum(); $qry = "\n\t\t\tSELECT ue.*, u.* FROM `#user_extended` AS ue\n\t\t\tLEFT JOIN `#user` AS u ON u.user_id = ue.user_extended_id\n\t\t\tWHERE ue.user_plugin_forum_posts > 0\n\t\t\tORDER BY ue.user_plugin_forum_posts DESC LIMIT {$this->from}, {$this->view}\n\t\t\t"; // $top_forum_posters = $sql->db_Select("user", "*", "`user_forums` > 0 ORDER BY user_forums DESC LIMIT ".$from.", ".$view.""); $text = "\n\t\t\t<div>\n\t\t\t<table style='width:95%' class='table table-striped fborder'>\n\t\t\t<tr>\n\t\t\t<th style='width:10%; text-align:center' class='forumheader3'> </th>\n\t\t\t<th style='width:50%' class='forumheader3'>" . TOP_LAN_1 . "</th>\n\t\t\t<th style='width:10%; text-align:center' class='forumheader3'>" . TOP_LAN_2 . "</th>\n\t\t\t<th style='width:30%; text-align:center' class='forumheader3'>" . TOP_LAN_6 . "</th>\n\t\t\t</tr>\n"; $counter = 1 + $this->from; if ($sql2->gen($qry)) { while ($row = $sql2->fetch()) { //$ldata = get_level($row['user_id'], $row['user_plugin_forum_posts'], $row['user_comments'], $row['user_chats'], $row['user_visits'], $row['user_join'], $row['user_admin'], $row['user_perms'], $pref); $ldata = $rank->getRanks($row, USER && $forum->isModerator(USERID)); if (vartrue($ldata['special'])) { $r = $ldata['special']; } else { $r = $ldata['pic'] ? $ldata['pic'] : defset($ldata['name'], $ldata['name']); } if (!$r) { $r = 'n/a'; } $text .= "<tr>\n\t\t\t\t\t<td style='width:10%; text-align:center' class='forumheader3'>{$counter}</td>\n\t\t\t\t\t<td style='width:50%' class='forumheader3'><a href='" . e107::getUrl()->create('user/profile/view', 'id=' . $row['user_id'] . '&name=' . $row['user_name']) . "'>{$row['user_name']}</a></td>\n\t\t\t\t\t<td style='width:10%; text-align:center' class='forumheader3'>{$row['user_plugin_forum_posts']}</td>\n\t\t\t\t\t<td style='width:30%; text-align:center' class='forumheader3'>{$r}</td>\n\t\t\t\t\t</tr>"; $counter++; } } $text .= "</table>\n</div>"; if ($this->subaction == 'forum') { $ftotal = $sql->count('user', '(*)', 'WHERE `user_forums` > 0'); $parms = "{$ftotal},{$this->view},{$this->from}," . e_SELF . '?[FROM].top.forum.' . $this->view; $text .= "<div class='nextprev'>" . $tp->parseTemplate("{NEXTPREV={$parms}}") . '</div>'; } $ns->tablerender(TOP_LAN_0, $text); } }
function sc_level($parm) { if (!$this->postInfo['post_user']) { return ''; } $rankInfo = e107::getRank()->getRanks($this->postInfo['post_user']); // FIXME - level handler!!! if (!$parm) { $parm = 'name'; } switch ($parm) { case 'userid': return $this->sc_memberid(); break; case 'special': if (isset($rankInfo['special'])) { return $rankInfo['special']; } if ($this->forum->isModerator($this->postInfo['post_user'])) { return "<div class='spacer'>" . IMAGE_rank_moderator_image . '</div>'; } return ''; break; default: return varset($rankInfo[$parm], ''); break; } }
function RanksPage() { $frm = e107::getForm(); $e107 = e107::getInstance(); $pref = e107::getPref(); $mes = e107::getMessage(); $ui = $this->getUI(); $tp = e107::getParser(); $ranks = e107::getRank()->getRankData(); $tmp = e107::getFile()->get_files(e_IMAGE . 'ranks', '.*?\\.(png|gif|jpg)'); // $this->addTitle(LAN_USER_RANKS); foreach ($tmp as $k => $v) { $imageList[] = $v['fname']; } unset($tmp); natsort($imageList); $text = $frm->open('core-user-ranks-form'); $fields = array('type' => array('title' => USRLAN_207, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left'), 'rankName' => array('title' => USRLAN_208, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left'), 'lowThresh' => array('title' => USRLAN_209, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left'), 'langPrefix' => array('title' => USRLAN_210, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left'), 'rankImage' => array('title' => USRLAN_210, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left')); $text .= "\r\n\t\t<table class='table adminlist'>" . $frm->colGroup($fields, array_keys($fields)) . $frm->thead($fields, array_keys($fields)); $info = $ranks['special'][1]; $val = $tp->toForm($info['name']); $text .= "\r\n\t\t<tr>\r\n\t\t\t<td>" . LAN_MAINADMIN . "</td>\r\n\t\t\t<td>\r\n\t\t\t\t" . $frm->text('calc_name[main_admin]', $val) . "\r\n\t\t\t</td>\r\n\t\t\t<td>N/A</td>\r\n\t\t\t<td>" . $frm->checkbox('calc_pfx[main_admin]', 1, $info['lan_pfx'] ? true : false) . "</td>\r\n\t\t\t<td>" . $ui->RankImageDropdown($imageList, 'calc_img[main_admin]', $info['image']) . "</td>\r\n\t\t</tr>\r\n\t\t"; $info = $ranks['special'][2]; $val = $tp->toForm($info['name']); $text .= "\r\n\t\t<tr>\r\n\t\t\t<td>" . LAN_ADMIN . "</td>\r\n\t\t\t<td>\r\n\t\t\t\t" . $frm->text('calc_name[admin]', $val) . "\r\n\t\t\t</td>\r\n\t\t\t<td>N/A</td>\r\n\t\t\t<td>" . $frm->checkbox('calc_pfx[admin]', 1, $info['lan_pfx'] ? true : false) . "</td>\r\n\t\t\t<td>" . $ui->RankImageDropdown($imageList, 'calc_img[admin]', $info['image']) . "</td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<td colspan='5'> </td>\r\n\t\t</tr>\r\n\t\t"; foreach ($ranks['data'] as $k => $r) { $pfx_checked = $r['lan_pfx'] ? "checked='checked'" : ''; $text .= "\r\n\t\t\t<tr>\r\n\t\t\t\t<td>" . USRLAN_212 . "</td>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<input type='hidden' name='field_id[{$k}]' value='1' />\r\n\t\t\t\t\t<input class='tbox' type='text' name='calc_name[{$k}]' value='{$r['name']}' />\r\n\t\t\t\t</td>\r\n\t\t\t\t<td>" . $frm->number("calc_lower[{$k}]", $r['thresh']) . "</td>\r\n\t\t\t\t<td>" . $frm->checkbox("calc_pfx[{$k}]", 1, $r['lan_pfx'] ? true : false) . "</td>\r\n\t\t\t\t<td>" . $ui->RankImageDropdown($imageList, "calc_img[{$k}]", $r['image']) . " " . $frm->submit_image("etrigger_delete[{$r['id']}]", LAN_DELETE, 'delete', LAN_CONFIRMDEL . ": [{$r['name']}]?") . "\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t"; } $text .= "\r\n\t\r\n\t\t<tr>\r\n\t\t\t<td colspan='5'> </td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<td>" . USRLAN_214 . "</td>\r\n\t\t\t<td>" . $frm->text('new_calc_name', '') . "</td>\r\n\t\t\t<td>" . $frm->number('new_calc_lower', '') . "</td>\r\n\t\t\t<td>" . $frm->checkbox('new_calc_pfx', 1, false) . "</td>\r\n\t\t\t<td>" . $ui->RankImageDropdown($imageList, 'new_calc_img') . "</td>\r\n\t\t</tr>"; $text .= '</table> <div class="buttons-bar center"> ' . $frm->admin_trigger('update', 'no-value', 'update', LAN_UPDATE) . ' </div> </form>'; return $text; }
function showRanks() { global $pref, $emessage; $frm = e107::getForm(); $ns = e107::getRender(); $e107 = e107::getInstance(); require_once e_HANDLER . 'message_handler.php'; /* $daysregged = max(1, round((time() - $user_join) / 86400))."days"; $level = ceil((($user_forums * 5) + ($user_comments * 5) + ($user_chats * 2) + $user_visits)/4); */ $ranks = e107::getRank()->getRankData(); $tmp = e107::getFile()->get_files(e_IMAGE . 'ranks', '.*?\\.(png|gif|jpg)'); foreach ($tmp as $k => $v) { $imageList[] = $v['fname']; } unset($tmp); natsort($imageList); $text = "\r\n\t<form method='post' action='" . e_SELF . "?" . e_QUERY . "'>\r\n\t"; /* $config = array(); if ($e107->sql->db_Select('generic','gen_chardata', "gen_type='user_rank_config'", 'default')) { $row = $e107->sql->db_Fetch(MYSQL_ASSOC); $config = unserialize($row['gen_chardata']); } $fieldList = array('core' => array(),'extended' => array()); $fieldList['core'] = array('comments' => USRLAN_201,'visits' => USRLAN_202,'daysregged' => USRLAN_203); foreach ($e107->extended_struct as $field) { if (strpos($field['Type'],'int') !== false && $field['Field'] != 'user_extended_id') { $fieldList['extended'][] = substr($field['Field'],5); } } $fields = array( 'source' => array('title' => USRLAN_197, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left'), 'fieldName' => array('title' => USRLAN_198, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left'), 'operation' => array('title' => USRLAN_199, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left'), 'value' => array('title' => USRLAN_200, 'type' => 'int', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left'), ); $opArray = array('*','+','-'); $text .= " <form method='post' action='".e_SELF."?".e_QUERY."'> <fieldset id='core-userranks-list'> <table class='table adminlist'>". $frm->colGroup($fields, array_keys($fields)). $frm->thead($fields, array_keys($fields)); foreach ($fieldList['core'] as $k => $f) { $text .= " <tr> <td class='label'>".USRLAN_204."</td> <td class='label'>{$f}</td> <td> <select name='op[{$k}]' class='tbox'> "; foreach ($opArray as $op) { $sel = (varset($config[$k]['op']) == $op ? "selected='selected'" : ''); $text .= "<option value='{$op}' {$sel}>{$op}</option>"; } $text .= " </select> </td> <td><input type='text' class='tbox' name='val[{$k}]' value='".varset($config[$k]['val'])."' size='3' maxlength='3' /></td> </tr> "; } if (count($fieldList['extended'])) { foreach ($fieldList['extended'] as $f) { $text .= " <tr> <td colspan='4'> </td> </tr> <tr> <td class='label'>".USRLAN_205."</td> <td class='label'>{$f}</td> <td> <select name='op[{$f}]' class='tbox'> "; foreach ($opArray as $op) { $sel = (varset($config[$f]['op']) == $op ? "selected='selected'" : ''); $text .= "<option value='{$op}' {$sel}>{$op}</option>"; } $text .= " </select> </td> <td> <input type='text' class='tbox' name='val[{$f}]' value='".varset($config[$f]['val'])."' size='3' maxlength='3' value='' /> </td> </tr> "; } } if (isset ($pref['ranks_calc'])) { $text .= "<tr> <td class='label' colspan='4'><br />".USRLAN_206.": {$pref['ranks_calc']}</td> </tr> "; } $text .= '</table>'; */ // $e107->ns->tablerender('Rank Calculation fields',$text); $fields = array('type' => array('title' => USRLAN_207, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left'), 'rankName' => array('title' => USRLAN_208, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left'), 'lowThresh' => array('title' => USRLAN_209, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left'), 'langPrefix' => array('title' => USRLAN_210, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left'), 'rankImage' => array('title' => USRLAN_210, 'type' => 'text', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left')); $text .= "\r\n\t<table class='table adminlist'>" . $frm->colGroup($fields, array_keys($fields)) . $frm->thead($fields, array_keys($fields)); $info = $ranks['special'][1]; $val = $e107->tp->toForm($info['name']); $pfx = $info['lan_pfx'] ? "checked='checked'" : ''; $text .= "\r\n\t<tr>\r\n\t\t<td>" . LAN_MAINADMIN . "</td>\r\n\t\t<td>\r\n\t\t\t<input class='tbox' type='text' name='calc_name[main_admin]' value='{$val}' />\r\n\t\t</td>\r\n\t\t<td>N/A</td>\r\n\t\t<td><input type='checkbox' name='calc_pfx[main_admin]' {$pfx} value='1' /></td>\r\n\t\t<td>" . RankImageDropdown($imageList, 'calc_img[main_admin]', $info['image']) . "</td>\r\n\t</tr>\r\n\t"; $info = $ranks['special'][2]; $val = $e107->tp->toForm($info['name']); $pfx = $info['lan_pfx'] ? "checked='checked'" : ''; $text .= "\r\n\t<tr>\r\n\t\t<td>" . LAN_ADMIN . "</td>\r\n\t\t<td>\r\n\t\t\t<input class='tbox' type='text' name='calc_name[admin]' value='{$val}' />\r\n\t\t</td>\r\n\t\t<td>N/A</td>\r\n\t\t<td><input type='checkbox' name='calc_pfx[admin]' {$pfx} value='1' /></td>\r\n\t\t<td>" . RankImageDropdown($imageList, 'calc_img[admin]', $info['image']) . "</td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td colspan='5'> </td>\r\n\t</tr>\r\n\t"; foreach ($ranks['data'] as $k => $r) { $pfx_checked = $r['lan_pfx'] ? "checked='checked'" : ''; $text .= "\r\n\t\t<tr>\r\n\t\t\t<td>" . USRLAN_212 . "</td>\r\n\t\t\t<td>\r\n\t\t\t\t<input type='hidden' name='field_id[{$k}]' value='1' />\r\n\t\t\t\t<input class='tbox' type='text' name='calc_name[{$k}]' value='{$r['name']}' />\r\n\t\t\t</td>\r\n\t\t\t<td><input class='tbox e-spinner' type='text' size='5' name='calc_lower[{$k}]' value='{$r['thresh']}' /></td>\r\n\t\t\t<td><input type='checkbox' name='calc_pfx[{$k}]' value='1' {$pfx_checked} /></td>\r\n\t\t\t<td>" . RankImageDropdown($imageList, "calc_img[{$k}]", $r['image']) . " " . $frm->submit_image("delete_rank[{$r['id']}]", LAN_DELETE, 'delete', LAN_CONFIRMDEL . ": [{$r['name']}]?") . "\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t\t"; } $text .= "\r\n\r\n\t<tr>\r\n\t\t<td colspan='5'> </td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>" . USRLAN_214 . "</td>\r\n\t\t<td><input class='tbox' type='text' name='new_calc_name' value='' /></td>\r\n\t\t<td><input class='tbox e-spinner' type='text' size='5' name='new_calc_lower' value='' /></td>\r\n\t\t<td><input type='checkbox' name='new_calc_pfx' value='1' /></td>\r\n\t\t<td>" . RankImageDropdown($imageList, 'new_calc_img') . "</td>\r\n\t</tr>"; $text .= '</table> <div class="buttons-bar center"> ' . $frm->admin_button('updateRanks', 'no-value', 'submit', USRLAN_215) . ' </div> </form>'; echo $emessage->render() . $text; // $ns->tablerender(LAN_USER_RANKS,$emessage->render().$text); //include (e_ADMIN.'footer.php'); //exit; }
function sc_level($parm) { if (!$this->postInfo['post_user']) { return ''; } $rankInfo = e107::getRank()->getRanks($this->postInfo['post_user']); // FIXME - level handler!!! // print_a($rankInfo); if ($parm == 'badge') { return "<span class='label label-info'>" . $rankInfo['name'] . "</span>"; } if (!$parm) { $parm = 'name'; } switch ($parm) { case 'userid': return $this->sc_memberid(); break; case 'special': if (isset($rankInfo['special'])) { return $rankInfo['special']; } if ($this->forum->isModerator($this->postInfo['post_user'])) { return "<div class='spacer'>" . IMAGE_rank_moderator_image . '</div>'; } return ''; break; case 'glyph': $text = ""; $tp = e107::getParser(); for ($i = 0; $i < $rankInfo['value']; $i++) { $text .= $tp->toGlyph('fa-star'); } return $text; break; default: return varset($rankInfo[$parm], ''); break; } }