diff --git a/e107_admin/users.php b/e107_admin/users.php index d145c9689..a2dae602f 100644 --- a/e107_admin/users.php +++ b/e107_admin/users.php @@ -9,9 +9,9 @@ * Administration Area - Users * * $Source: /cvs_backup/e107_0.8/e107_admin/users.php,v $ -* $Revision: 1.27 $ -* $Date: 2009-01-11 22:11:19 $ -* $Author: e107steved $ +* $Revision: 1.28 $ +* $Date: 2009-01-17 03:27:16 $ +* $Author: mcfly_e107 $ * */ require_once('../class2.php'); @@ -1445,35 +1445,96 @@ function users_adminmenu() function updateRanks() { + global $pref; + $e107 = e107::getInstance(); $config = array(); - $config['calc'] = ''; + $ranks_calc = ''; + $ranks_flist = ''; foreach($_POST['op'] as $f => $o) { - $config['config'][$f]['op'] = $o; - $config['config'][$f]['val'] = varset($_POST['val'][$f], ''); + $config[$f]['op'] = $o; + $config[$f]['val'] = varset($_POST['val'][$f], ''); if($_POST['val'][$f]) { - $config['fields'][] = $f; - $config['calc'] .= ($config['calc'] ? ' + ' : ''); - $config['calc'] .= '({'.$f.'} '." $o {$_POST['val'][$f]}".' )'; + $ranks_calc .= ($ranks_calc ? ' + ' : '').'({'.$f.'} '." $o {$_POST['val'][$f]}".' )'; + $ranks_flist .= ($ranks_flist ? ',' : '').$f; } } - var_dump($config); + + $e107->sql->db_Delete('generic', "gen_type = 'user_rank_config'"); + $tmp = array(); + $tmp['data']['gen_type'] = 'user_rank_config'; + $tmp['data']['gen_chardata'] = serialize($config); + $tmp['_FIELD_TYPES']['gen_type'] = 'string'; + $tmp['_FIELD_TYPES']['gen_chardata'] = 'escape'; + $e107->sql->db_Insert('generic', $tmp); + + $pref['ranks_cals'] = $ranks_calc; + $pref['ranks_flist'] = $ranks_flist; + save_prefs(); + + //Delete existing rank data + $e107->sql->db_Delete('generic', "gen_type = 'user_rank_data'"); + + //Add main site admin info + $tmp = array(); + $tmp['_FIELD_TYPES']['gen_datestamp'] = 'int'; + $tmp['_FIELD_TYPES']['gen_ip'] = 'todb'; + $tmp['_FIELD_TYPES']['gen_user_id'] = 'int'; + $tmp['_FIELD_TYPES']['gen_chardata'] = 'todb'; + $tmp['_FIELD_TYPES']['gen_intdata'] = 'int'; + + $tmp['data']['gen_datestamp'] = 1; + $tmp['data']['gen_type'] = 'user_rank_data'; + $tmp['data']['gen_ip'] = $_POST['calc_name']['main_admin']; + $tmp['data']['gen_user_id'] = varset($_POST['calc_pfx']['main_admin'], 0); + $tmp['data']['gen_chardata'] = $_POST['calc_img']['main_admin']; + $e107->sql->db_Insert('generic', $tmp); + + //Add site admin info + unset($tmp['data']); + $tmp['data']['gen_type'] = 'user_rank_data'; + $tmp['data']['gen_datestamp'] = 2; + $tmp['data']['gen_ip'] = $_POST['calc_name']['admin']; + $tmp['data']['gen_user_id'] = varset($_POST['calc_pfx']['admin'], 0); + $tmp['data']['gen_chardata'] = $_POST['calc_img']['admin']; + $e107->sql->db_Insert('generic', $tmp); + + if(varset($_POST['new_calc_lower'])) + { + unset($tmp['data']); + $tmp['data']['gen_type'] = 'user_rank_data'; + $tmp['data']['gen_datestamp'] = 0; + $tmp['data']['gen_ip'] = varset($_POST['new_calc_name']); + $tmp['data']['gen_user_id'] = varset($_POST['new_calc_pfx'], 0); + $tmp['data']['gen_chardata'] = varset($_POST['new_calc_img']); + $tmp['data']['gen_intdata'] = varset($_POST['new_calc_lower']); + $e107->sql->db_Insert('generic', $tmp); + } + } function show_ranks() { + global $pref; $e107 = e107::getInstance(); include_once(e_HANDLER.'file_class.php'); - $f = new e_file; - $imageList = $f->get_files(e_IMAGE.'ranks', '.*?\.(png|gif|jpg)'); include_once(e_HANDLER.'level_handler.php'); - $ranks = new e017UserRank; + $f = new e_file; + $ranks = new e107UserRank; + + $imageList = $f->get_files(e_IMAGE.'ranks', '.*?\.(png|gif|jpg)'); + $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' => 'Number of comments', 'visits' => 'Number of site visits', @@ -1487,6 +1548,8 @@ function show_ranks() $fieldList['extended'][] = substr($field['Field'], 5); } } + + $opArray = array('*', '+', '-'); $text .= "