0) && ($_order > 0) /*&& ($_parent > 0)*/) { $sql->db_Update("user_extended_struct", "user_extended_struct_order=user_extended_struct_order+1 WHERE user_extended_struct_type > 0 AND user_extended_struct_parent = {$_parent} AND user_extended_struct_order ='".($_order-1)."'"); $sql->db_Update("user_extended_struct", "user_extended_struct_order=user_extended_struct_order-1 WHERE user_extended_struct_type > 0 AND user_extended_struct_parent = {$_parent} AND user_extended_struct_id='".$_id."'"); $admin_log->log_event('EUF_01',$_id.', '.$_order.', '.$_parent,E_LOG_INFORMATIVE,''); e107::getCache()->clear_sys('user_extended_struct', true); } } // TODO $_POST['down_x'] check for the evil IE $tmp = isset($_POST['down']) ? $_POST['down'] : false; if ($tmp) { $tmp = array_values($tmp); $qs = explode(".", $tmp[0]); $_id = intval($qs[0]); $_order = intval($qs[1]); $_parent = intval($qs[2]); if (($_id > 0) && ($_order > 0)/* && ($_parent > 0)*/) { $sql->db_Update("user_extended_struct", "user_extended_struct_order=user_extended_struct_order-1 WHERE user_extended_struct_type > 0 AND user_extended_struct_parent = {$_parent} AND user_extended_struct_order='".($_order+1)."'"); $sql->db_Update("user_extended_struct", "user_extended_struct_order=user_extended_struct_order+1 WHERE user_extended_struct_type > 0 AND user_extended_struct_parent = {$_parent} AND user_extended_struct_id='".$_id."'"); $admin_log->log_event('EUF_02',$_id.', '.$_order.', '.$_parent,E_LOG_INFORMATIVE,''); e107::getCache()->clear_sys('user_extended_struct', true); } } if (isset($_POST['catup_x']) || isset($_POST['catup'])) { $qs = explode(".", $_POST['id']); $_id = intval($qs[0]); $_order = intval($qs[1]); if (($_id > 0) && ($_order > 0)) { $sql->db_Update("user_extended_struct", "user_extended_struct_order=user_extended_struct_order+1 WHERE user_extended_struct_type = 0 AND user_extended_struct_order='".($_order-1)."'"); $sql->db_Update("user_extended_struct", "user_extended_struct_order=user_extended_struct_order-1 WHERE user_extended_struct_type = 0 AND user_extended_struct_id='".$_id."'"); $admin_log->log_event('EUF_03',$_id.', '.$_order,E_LOG_INFORMATIVE,''); e107::getCache()->clear_sys('user_extended_struct', true); } } if (isset($_POST['catdown_x']) || isset($_POST['catdown'])) { $qs = explode(".", $_POST['id']); $_id = intval($qs[0]); $_order = intval($qs[1]); if (($_id > 0) && ($_order > 0)) { $sql->db_Update("user_extended_struct", "user_extended_struct_order=user_extended_struct_order-1 WHERE user_extended_struct_type = 0 AND user_extended_struct_order='".($_order+1)."'"); $sql->db_Update("user_extended_struct", "user_extended_struct_order=user_extended_struct_order+1 WHERE user_extended_struct_type = 0 AND user_extended_struct_id='".$_id."'"); $admin_log->log_event('EUF_04',$_id.', '.$_order,E_LOG_INFORMATIVE,''); e107::getCache()->clear_sys('user_extended_struct', true); } } $user = new users_ext; if (isset($_POST['add_field'])) { $ue_field_name = str_replace(' ','_',trim($_POST['user_field'])); // Replace space with underscore - better security if (preg_match('#^\w+$#',$ue_field_name) === 1) // Check for allowed characters, finite field length { if($_POST['user_type']==EUF_DB_FIELD) { $_POST['user_values'] = array($_POST['table_db'],$_POST['field_id'],$_POST['field_value'],$_POST['field_order']); } $new_values = $user->make_delimited($_POST['user_values']); $new_parms = $tp->toDB($_POST['user_include']."^,^".$_POST['user_regex']."^,^".$_POST['user_regexfail']."^,^".$_POST['user_hide']); // Check to see if its a reserved field name before adding to database if ($ue->user_extended_reserved($ue_field_name)) { // Reserved field name $message = "[user_".$tp->toHTML($ue_field_name)."] ".EXTLAN_74; $message_type = E_MESSAGE_ERROR; } else { $result = admin_update($ue->user_extended_add($ue_field_name, $tp->toDB($_POST['user_text']), intval($_POST['user_type']), $new_parms, $new_values, $tp->toDB($_POST['user_default']), intval($_POST['user_required']), intval($_POST['user_read']), intval($_POST['user_write']), intval($_POST['user_applicable']), 0, intval($_POST['user_parent'])), 'insert', EXTLAN_29, false, false); if(!$result) { $message = EXTLAN_75; $message_type = E_MESSAGE_INFO; } else { $admin_log->log_event('EUF_05',$ue_field_name.'[!br!]'.$tp->toDB($_POST['user_text']).'[!br!]'.intval($_POST['user_type']),E_LOG_INFORMATIVE,''); e107::getCache()->clear_sys('user_extended_struct', true); } } } else { $message = EXTLAN_76." : ".$tp->toHTML($ue_field_name); $message_type = E_MESSAGE_ERROR; } } if (isset($_POST['update_field'])) { if($_POST['user_type']==EUF_DB_FIELD) { $_POST['user_values'] = array($_POST['table_db'],$_POST['field_id'],$_POST['field_value'],$_POST['field_order']); } $upd_values = $user->make_delimited($_POST['user_values']); $upd_parms = $tp->toDB($_POST['user_include']."^,^".$_POST['user_regex']."^,^".$_POST['user_regexfail']."^,^".$_POST['user_hide']); $result = admin_update($ue->user_extended_modify($sub_action, $tp->toDB($_POST['user_field']), $tp->toDB($_POST['user_text']), intval($_POST['user_type']), $upd_parms, $upd_values, $tp->toDB($_POST['user_default']), intval($_POST['user_required']), intval($_POST['user_read']), intval($_POST['user_write']), intval($_POST['user_applicable']), intval($_POST['user_parent'])), 'update', EXTLAN_29, false, false); if($result) { $admin_log->log_event('EUF_06',$tp->toDB($_POST['user_field']).'[!br!]'.$tp->toDB($_POST['user_text']).'[!br!]'.intval($_POST['user_type']),E_LOG_INFORMATIVE,''); e107::getCache()->clear_sys('user_extended_struct', true); } } if (isset($_POST['update_category'])) { if (preg_match('#^[\w\s]+$#', $_POST['user_field']) === 1) // Check for allowed characters { $name = trim($tp->toDB($_POST['user_field'])); $result = admin_update( $sql->db_Update( "user_extended_struct", "user_extended_struct_name = '{$name}', user_extended_struct_text='".$tp->toDB($_POST['user_text'])."', user_extended_struct_read = '".intval($_POST['user_read'])."', user_extended_struct_write = '".intval($_POST['user_write'])."', user_extended_struct_applicable = '".intval($_POST['user_applicable'])."' WHERE user_extended_struct_id = '{$sub_action}'"), 'update', EXTLAN_43, false, false ); if($result) { $admin_log->log_event('EUF_09',$name,E_LOG_INFORMATIVE,''); e107::getCache()->clear_sys('user_extended_struct', true); } } else { $message = EXTLAN_80; $message_type = E_MESSAGE_ERROR; } } if (isset($_POST['add_category'])) { if (preg_match('#^[\w\s]+$#', $_POST['user_field']) === 1) // Check for allowed characters { $name = $tp->toDB($_POST['user_field']); $result = admin_update($sql->db_Insert("user_extended_struct","'0', '{$name}', '".$tp->toDB($_POST['user_text'])."', 0, '', '', '', '".intval($_POST['user_read'])."', '".intval($_POST['user_write'])."', '0', '0', '".intval($_POST['user_applicable'])."', '0', '0'"), 'insert', EXTLAN_40, false, false); if($result) { $admin_log->log_event('EUF_08',$name,E_LOG_INFORMATIVE,''); e107::getCache()->clear_sys('user_extended_struct', true); } } else { $message = EXTLAN_80; $message_type = E_MESSAGE_ERROR; } } // Delete category if (varset($_POST['eu_action'],'') == "delcat") { list($_id, $_name) = explode(",",$_POST['key']); if (count($ue->user_extended_get_fields($_id)) > 0) { $message = EXTLAN_77; $message_type = E_MESSAGE_INFO; } elseif($ue->user_extended_remove($_id, $_name)) { $admin_log->log_event('EUF_10',$_id.', '.$_name,E_LOG_INFORMATIVE,''); $message = EXTLAN_41; e107::getCache()->clear_sys('user_extended_struct', true); } } if(isset($_POST['activate'])) { $message .= $user->field_activate(); } if(isset($_POST['deactivate'])) { $message .= $user->field_deactivate(); } /*if($sql->db_Select("user_extended_struct","DISTINCT(user_extended_struct_parent)")) { $plist = $sql->db_getList(); foreach($plist as $_p) { $o = 0; if($sql->db_Select("user_extended_struct", "user_extended_struct_id", "user_extended_struct_parent = {$_p['user_extended_struct_parent']} && user_extended_struct_type != 0 ORDER BY user_extended_struct_order ASC")) { $_list = $sql->db_getList(); foreach($_list as $r) { $sql->db_Update("user_extended_struct", "user_extended_struct_order = '{$o}' WHERE user_extended_struct_id = {$r['user_extended_struct_id']}"); $o++; } } } }*/ if($message) { $emessage = eMessage::getInstance(); $emessage->add($message, $message_type); } if(isset($_POST['table_db']) && !$_POST['add_field'] && !$_POST['update_field']) { $action = "continue"; $current['user_extended_struct_name'] = $_POST['user_field']; $current['user_extended_struct_parms'] = $_POST['user_include']."^,^".$_POST['user_regex']."^,^".$_POST['user_regexfail']."^,^".$_POST['user_hide']; $current['user_extended_struct_text'] = $_POST['user_text']; $current['user_extended_struct_type'] = $_POST['user_type']; $user->show_extended($current); } if ($action == "editext") { if($sql->db_Select('user_extended_struct','*',"user_extended_struct_id = '{$sub_action}'")) { $tmp = $sql->db_Fetch(); $user->show_extended($tmp); } else { $user->show_extended('new'); } } if($action == 'pre') { $user->show_predefined(); } if($action == 'cat') { if(is_numeric($sub_action)) { if($sql->db_Select('user_extended_struct','*',"user_extended_struct_id = '{$sub_action}'")) { $tmp = $sql->db_Fetch(); } } $user->show_categories($tmp); } require_once("footer.php"); class users_ext { protected $catList; protected $catNums; function users_ext() { global $action,$ue; if (varset($_POST['eudel'],'')) { foreach(array_keys($_POST['eudel']) as $name) { $this->delete_extended($name); } } $this->catList = $ue->user_extended_get_categories(); $this->catList[0][0] = array('user_extended_struct_name' => EXTLAN_36); $this->catNums = array_keys($this->catList); if($action == 'cat' && !empty($_POST)) { $this->reorderItems(); } if (!e_QUERY || $action == 'main') { // moved here for better performance if(!empty($_POST)) { $this->reorderItems(); } $this->showExtendedList(); } } function reorderItems() { $sql = e107::getDb(); if($sql->db_Select("user_extended_struct","DISTINCT(user_extended_struct_parent)")) { $plist = $sql->db_getList(); foreach($plist as $_p) { $o = 0; if($sql->db_Select("user_extended_struct", "user_extended_struct_id", "user_extended_struct_parent = {$_p['user_extended_struct_parent']} && user_extended_struct_type != 0 ORDER BY user_extended_struct_order ASC")) { $_list = $sql->db_getList(); foreach($_list as $r) { $sql->db_Update("user_extended_struct", "user_extended_struct_order = '{$o}' WHERE user_extended_struct_id = {$r['user_extended_struct_id']}"); $o++; } } } e107::getCache()->clear_sys('user_extended_struct', true); } } function delete_extended($_name) { global $ue,$admin_log; $emessage = eMessage::getInstance(); if ($ue->user_extended_remove($_name, $_name)) { $admin_log->log_event('EUF_07',$_name, E_LOG_INFORMATIVE,''); $emessage->add(EXTLAN_30." [".$_name."]", E_MESSAGE_SUCCESS); e107::getCache()->clear_sys('user_extended_struct', true); } else { $emessage->add(LAN_ERROR." [".$_name."]", E_MESSAGE_ERROR); } } function showExtendedList() { global $sql, $ns, $ue, $curtype, $tp, $mySQLdefaultdb, $action, $sub_action,$frm; $extendedList = $ue->user_extended_get_fields(); $emessage = e107::getMessage(); $text = $emessage->render(); $mode = 'show'; $text .= "
"; $ns->tablerender(EXTLAN_9, $text); } function show_extended($current = '') // Show existing fields List. { global $sql, $ns, $ue, $curtype, $tp, $mySQLdefaultdb, $action, $sub_action,$frm; if($current == 'new') { $mode = 'new'; $current = array(); $current_include = ''; $current_regex = ''; $current_regexfail = ''; $current_hide = ''; } else { // Editing existing definition $mode = 'edit'; list($current_include, $current_regex, $current_regexfail, $current_hide) = explode("^,^",$current['user_extended_struct_parms']); } $text .= " "; // $text .= ""; $emessage = e107::getMessage(); $ns->tablerender(EXTLAN_9,$emessage->render().$text); } function show_categories($current) { global $sql, $ns, $ue, $frm; $text = "".EXTLAN_1." | ".EXTLAN_79." | ".EXTLAN_5." | ".EXTLAN_6." | ".EXTLAN_7." | ".EXTLAN_8." | ||
---|---|---|---|---|---|---|---|
{$ext['user_extended_struct_name']} | ".deftrue($ext['user_extended_struct_text'], $ext['user_extended_struct_text'])." | ".r_userclass_name($ext['user_extended_struct_applicable'])." | ".r_userclass_name($ext['user_extended_struct_read'])." | ".r_userclass_name($ext['user_extended_struct_write'])." | |||
".EXTLAN_37." |