예제 #1
0
 function uc_select($name, $current_value, $uc_options, $select_options = array(), $opt_options = array())
 {
     if (!empty($select_options['multiple']) && substr($name, -1) != ']') {
         $name .= '[]';
     }
     if (empty($current_value) && !empty($uc_options)) {
         $tmp = explode(",", $uc_options);
         $current_value = e107::getUserClass()->getClassFromKey($tmp[0]);
     }
     if (!empty($current_value) && !is_numeric($current_value)) {
         $current_value = $this->_uc->getID($current_value);
     }
     return $this->select_open($name, $select_options) . "\n" . $this->_uc->vetted_tree($name, array($this, '_uc_select_cb'), $current_value, $uc_options, $opt_options) . "\n" . $this->select_close();
 }
예제 #2
0
 function sc_signup_userclass_subscribe()
 {
     global $pref, $e_userclass, $USERCLASS_SUBSCRIBE_START, $USERCLASS_SUBSCRIBE_END, $signupData;
     $ret = "";
     if ($pref['signup_option_class']) {
         if (!is_object($e_userclass)) {
             require_once e_HANDLER . 'userclass_class.php';
             $e_userclass = new user_class();
         }
         $ucList = $e_userclass->get_editable_classes();
         // List of classes which this user can edit
         $ret = '';
         if (!$ucList) {
             return;
         }
         /*
         		  function show_signup_class($treename, $classnum, $current_value, $nest_level)
         		  {
         			global $USERCLASS_SUBSCRIBE_ROW, $e_userclass, $tp;
         			$tmp = explode(',',$current_value);
         			$search = array('{USERCLASS_ID}', '{USERCLASS_NAME}', '{USERCLASS_DESCRIPTION}', '{USERCLASS_INDENT}', '{USERCLASS_CHECKED}');
         			$replace = array($classnum, $tp->toHTML($e_userclass->uc_get_classname($classnum), FALSE, 'defs'), 
         							$tp->toHTML($e_userclass->uc_get_classdescription($classnum), FALSE, 'defs'), " style='text-indent:".(1.2*$nest_level)."em'",
         							( in_array($classnum, $tmp) ? " checked='checked'" : ''));
         			return str_replace($search, $replace, $USERCLASS_SUBSCRIBE_ROW);
         		  }*/
         $ret = $USERCLASS_SUBSCRIBE_START;
         $ret .= $e_userclass->vetted_tree('class', array($this, 'show_signup_class'), varset($signupData['user_class'], ''), 'editable, no-excludes');
         $ret .= $USERCLASS_SUBSCRIBE_END;
         return $ret;
     }
 }
예제 #3
0
파일: upload.php 프로젝트: gitye/e107
             }
         }
     } elseif (is_readable(e_ADMIN . 'filetypes.php')) {
         $source_file = 'filetypes.php';
         $current_perms[e_UC_MEMBER] = array('type' => implode(',', array_keys(get_allowed_filetypes('filetypes.php', ''))), 'maxupload' => '2M');
         if (is_readable(e_ADMIN . 'admin_filetypes.php')) {
             $current_perms[e_UC_ADMIN] = array('type' => implode(',', array_keys(get_allowed_filetypes('admin_filetypes.php', ''))), 'maxupload' => '2M');
             $source_file .= ' + admin_filetypes.php';
         }
     } else {
         // Set a default
         $current_perms[e_UC_MEMBER] = array('type' => 'zip,tar,gz,jpg,png', 'maxupload' => '2M');
     }
     $text = "<div style='text-align:center'>\n\t<form method='post' action='" . e_SELF . "?filetypes'>\n\t<table style='" . ADMIN_WIDTH . "' class='fborder'>\n\t\t<colgroup>\n\t\t<col style='width:30%' />\n\t\t<col style='width:40%' />\n\t\t<col style='width:25%' />\n\t\t<col style='width:5%' />\n\t\t</colgroup>\n\t  <tr>\n\t\t<td class='forumheader3' colspan='4'><input type='hidden' name='upload_do_edit' value='1'>" . str_replace(array('--SOURCE--', '--DEST--'), array(e_UPLOAD_TEMP_DIR . e_SAVE_FILETYPES, e_ADMIN . e_READ_FILETYPES), UPLLAN_52) . "</td>\n\t  </tr>\n\t  <tr>\n\t\t<td class='forumheader3' colspan='4'>" . UPLLAN_57 . $source_file . "</td>\n\t  </tr>\n\t  <tr>\n\t\t<td class='fcaption'>" . LAN_USERCLASS . "</td>\n\t\t<td class='fcaption'>" . UPLLAN_54 . "</td>\n\t\t<td class='fcaption' style='text-align:center'>" . UPLLAN_55 . "</td>\n\t\t<td class='fcaption' style='text-align:center'>" . LAN_DELETE . "</td>\n\t  </tr>";
     foreach ($current_perms as $uclass => $uinfo) {
         $text .= "\n\t\t<tr>\n\t\t  <td class='forumheader3'><select name='file_class_select[]' class='tbox'>\n\t\t  " . $e_userclass->vetted_tree('file_class_select', array($e_userclass, 'select'), $uclass, 'member,main,classes,admin, no-excludes') . "\n\t\t  </select></td>\n\t\t  <td class='forumheader3'><input type='text' name='file_type_list[]' value='{$uinfo['type']}' class='tbox' size='40' /></td>\n\t\t  <td class='forumheader3' style='text-align:center'><input type='text' name='file_maxupload[]' value='{$uinfo['maxupload']}' class='tbox' size='10' /></td>\n\t\t  <td class='forumheader3'><input type='checkbox' value='1' name='file_line_delete_{$uclass}' /></td>\n\t\t</tr>";
     }
     // Now put up a box to add a new setting
     $text .= "\n\t  <tr>\n\t\t  <td class='forumheader3'><select name='file_class_select[]' class='tbox'>\n\t\t  " . $e_userclass->vetted_tree('file_class_select', array($e_userclass, 'select'), '', 'member,main,classes,admin,blank, no-excludes') . "\n\t\t  </select></td>\n\t\t  <td class='forumheader3'><input type='text' name='file_type_list[]' value='' class='tbox' size='40' /></td>\n\t\t  <td class='forumheader3' style='text-align:center'><input type='text' name='file_maxupload[]' value='" . ini_get('upload_max_filesize') . "' class='tbox' size='10' /></td>\n\t\t  <td class='forumheader3'>&nbsp;</td>\n\t  </tr>";
     $text .= "\n\t  <tr>\n\t\t<td class='forumheader3' style='text-align:center' colspan='4'>\n\t\t\t\t<input class='btn button' type='submit' name='generate_filetypes_xml' value='" . UPLLAN_56 . "' />\n\t\t</td>\n\t  </tr>\n\t</table></form>\n\t</div>";
     $ns->tablerender(LAN_FILETYPES, $text);
     break;
 case 'options':
     if (!getperms('0')) {
         exit;
     }
     $text = "<div style='text-align:center'>\n\t<form method='post' action='" . e_SELF . "?options'>\n\t<table style='" . ADMIN_WIDTH . "' class='fborder'>\n\t<tr>\n\t<td style='width:50%' class='forumheader3'>" . UPLLAN_25 . "<br />\n\t<span class='smalltext'>" . UPLLAN_26 . "</span></td>\n\t<td style='width:50%' class='forumheader3'>" . ($pref['upload_enabled'] == 1 ? $rs->form_radio("upload_enabled", 1, 1) . " " . LAN_YES . $rs->form_radio("upload_enabled", 0) . " " . LAN_NO : $rs->form_radio("upload_enabled", 1) . " " . LAN_YES . $rs->form_radio("upload_enabled", 0, 1) . " " . LAN_NO) . "\n\t</td>\n\t</tr>\n\n\t<tr>\n\t<td style='width:70%' class='forumheader3'>" . UPLLAN_33 . "<br />\n\t<span class='smalltext'>" . UPLLAN_34 . " (upload_max_filesize = " . ini_get('upload_max_filesize') . ", post_max_size = " . ini_get('post_max_size') . " )</span></td>\n\t<td style='width:30%' class='forumheader3'>" . $rs->form_text("upload_maxfilesize", 10, $pref['upload_maxfilesize'], 10) . "\n\t</td>\n\t</tr>\n\n\t<tr>\n\t<td style='width:70%' class='forumheader3'>" . UPLLAN_37 . "<br />\n\t<span class='smalltext'>" . UPLLAN_38 . "</span></td>\n\t<td style='width:30%' class='forumheader3'>" . r_userclass("upload_class", $pref['upload_class'], "off", "nobody,public,guest,member,admin,classes") . "\n\n\t</td>\n\t</tr>\n\n\t<tr>\n\t<td colspan='2' class='forumheader' style='text-align:center'>" . $rs->form_button("submit", "optionsubmit", LAN_SUBMIT) . "\n\t</td>\n\t</tr>\n\t</table>" . $rs->form_close() . "\n\t</div>";
     $ns->tablerender(LAN_OPTIONS, $text);
     break;
 case 'view':
     $sql->db_Select('upload', '*', "upload_id='{$id}'");
예제 #4
0
 function sc_userclasses($parm)
 {
     global $e_userclass;
     $tp = e107::getParser();
     $pref = e107::getPref();
     $ret = "";
     if (ADMIN && $this->var['user_id'] != USERID) {
         return "";
     }
     if (!is_object($e_userclass)) {
         $e_userclass = new user_class();
     }
     $ucList = $e_userclass->get_editable_classes(USERCLASS_LIST, TRUE);
     // List of classes which this user can edit (as array)
     $ret = '';
     if (!count($ucList)) {
         return;
     }
     $is_checked = array();
     foreach ($ucList as $cid) {
         if (check_class($cid, $this->var['user_class'])) {
             $is_checked[$cid] = $cid;
         }
         if (isset($_POST['class'])) {
             //	  $is_checked[$cid] = in_array($cid, $_POST['class']);
         }
     }
     $inclass = implode(',', $is_checked);
     //	  $ret = "<table style='width:95%;margin-left:0px'><tr><td class='defaulttext'>";
     $ret .= $e_userclass->vetted_tree('class', array($e_userclass, checkbox_desc), $inclass, 'editable');
     //	  $ret .= "</td></tr></table>\n";
     return $ret;
 }
예제 #5
0
 function uc_select($name, $current_value, $uc_options, $select_options = array(), $opt_options = array())
 {
     return $this->select_open($name, $select_options) . "\n" . $this->_uc->vetted_tree($name, array($this, '_uc_select_cb'), $current_value, $uc_options, $opt_options) . "\n" . $this->select_close();
 }
예제 #6
0
파일: users.php 프로젝트: notzen/e107
 function prefsPage()
 {
     global $ns, $pref, $e_userclass;
     $mes = e107::getMessage();
     $frm = e107::getForm();
     if (!is_object($e_userclass)) {
         $e_userclass = new user_class();
     }
     $pref['memberlist_access'] = varset($pref['memberlist_access'], e_UC_MEMBER);
     $text = "<div style='text-align:center'>\r\n\t\t\t<form method='post' action='" . e_SELF . "?" . e_QUERY . "'>\r\n\t\t\t<table class='table adminform'>\r\n\t\t\t<colgroup>\r\n\t\t\t<col class='col-label' />\r\n\t\t\t<col class='col-control' />\r\n\t\t\t</colgroup>\r\n\t\r\n\t\t\t<tr>\r\n\t\t\t<td>" . USRLAN_44 . ":</td>\r\n\t\t\t<td>" . ($pref['avatar_upload'] ? "<input name='avatar_upload' type='radio' value='1' checked='checked' />" . LAN_YES . "&nbsp;&nbsp;<input name='avatar_upload' type='radio' value='0' />" . LAN_NO : "<input name='avatar_upload' type='radio' value='1' />" . LAN_YES . "&nbsp;&nbsp;<input name='avatar_upload' type='radio' value='0' checked='checked' />" . LAN_NO) . (!FILE_UPLOADS ? " <span class='smalltext'>(" . USRLAN_58 . ")</span>" : "") . "\r\n\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\r\n\t\t\t<tr>\r\n\t\t\t<td>" . USRLAN_53 . ":</td>\r\n\t\t\t<td>" . ($pref['photo_upload'] ? "<input name='photo_upload' type='radio' value='1' checked='checked' />" . LAN_YES . "&nbsp;&nbsp;<input name='photo_upload' type='radio' value='0' />" . LAN_NO : "<input name='photo_upload' type='radio' value='1' />" . LAN_YES . "&nbsp;&nbsp;<input name='photo_upload' type='radio' value='0' checked='checked' />" . LAN_NO) . (!FILE_UPLOADS ? " <span class='smalltext'>(" . USRLAN_58 . ")</span>" : "") . "\r\n\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\r\n\t\t\t<tr>\r\n\t\t\t<td>" . USRLAN_47 . ":</td>\r\n\t\t\t<td>\r\n\t\t\t<input class='tbox e-spinner' type='text' name='im_width' size='10' value='" . $pref['im_width'] . "' maxlength='5' /> (" . USRLAN_48 . ")\r\n\t\t\t</td></tr>\r\n\t\r\n\t\t\t<tr>\r\n\t\t\t<td>" . USRLAN_49 . ":</td>\r\n\t\t\t<td>\r\n\t\t\t<input class='tbox e-spinner' type='text' name='im_height' size='10' value='" . $pref['im_height'] . "' maxlength='5' /> (" . USRLAN_50 . ")\r\n\t\t\t</td></tr>\r\n\t\r\n\t\t\t<tr>\r\n\t\t\t<td>" . USRLAN_126 . ":</td>\r\n\t\t\t<td style='vertical-align:top'>" . ($pref['profile_rate'] ? "<input name='profile_rate' type='radio' value='1' checked='checked' />" . LAN_YES . "&nbsp;&nbsp;<input name='profile_rate' type='radio' value='0' />" . LAN_NO : "<input name='profile_rate' type='radio' value='1' />" . LAN_YES . "&nbsp;&nbsp;<input name='profile_rate' type='radio' value='0' checked='checked' />" . LAN_NO) . "\r\n\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\r\n\t\t\t<tr>\r\n\t\t\t<td>" . USRLAN_127 . ":</td>\r\n\t\t\t<td style='vertical-align:top'>" . ($pref['profile_comments'] ? "<input name='profile_comments' type='radio' value='1' checked='checked' />" . LAN_YES . "&nbsp;&nbsp;<input name='profile_comments' type='radio' value='0' />" . LAN_NO : "<input name='profile_comments' type='radio' value='1' />" . LAN_YES . "&nbsp;&nbsp;<input name='profile_comments' type='radio' value='0' checked='checked' />" . LAN_NO) . "\r\n\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\r\n\t\t\t<tr>\r\n\t\t\t<td style='vertical-align:top'>" . USRLAN_133 . ":</td>\r\n\t\t\t<td style='vertical-align:top'>" . e107::getForm()->radio_switch('force_userupdate', $pref['force_userupdate']) . "<div class='field-help'>" . USRLAN_134 . "</div>\r\n\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\r\n\t\r\n\t\t\t<tr>\r\n\t\t\t<td style='vertical-align:top'>" . USRLAN_93 . ":</td>\r\n\t\t\t<td>\r\n\t\t\t<input class='tbox e-spinner' type='text' name='del_unv' size='10' value='" . $pref['del_unv'] . "' maxlength='5' /> " . USRLAN_95 . "\r\n\t\t\t<div class='field-help'>" . USRLAN_94 . "</div>\r\n\t\t\t</td></tr>\r\n\t\r\n\t\t\t<tr>\r\n\t\t\t<td>" . USRLAN_130 . ":</td>\r\n\t\t\t<td>" . e107::getForm()->radio_switch('track_online', $pref['track_online']) . "\r\n\t\t\t<div class='field-help'>" . USRLAN_131 . "</div>\r\n\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\r\n\t\r\n\t\t\t<tr>\r\n\t\t\t<td>" . USRLAN_146 . ":</td>\r\n\t\t\t<td><select name='memberlist_access' class='tbox'>\n";
     $text .= $e_userclass->vetted_tree('memberlist_access', array($e_userclass, 'select'), $pref['memberlist_access'], "public,member,guest,admin,main,classes,nobody");
     $text .= "</select>\r\n\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t\t\r\n\t\t\t<tr>\r\n\t\t\t<td>" . USRLAN_194 . ":</td>\r\n\t\t\t<td>" . e107::getForm()->uc_select('signature_access', $pref['signature_access'], "member,admin,main,classes,nobody") . "</td>\r\n\t\t\t</tr>\r\n\t\r\n\t\r\n\t\r\n\t\t\t<tr>\r\n\t\t\t<td style='vertical-align:top'>" . USRLAN_190 . ":</td>\r\n\t\t\t<td>\r\n\t\t\t<input class='tbox e-spinner' type='text' name='user_new_period' size='10' value='" . varset($pref['user_new_period'], 0) . "' maxlength='5' /> " . LANDT_04s . "\r\n\t\t\t<div class='field-help'>" . USRLAN_191 . "</div>\r\n\t\t\t</td></tr>\r\n\t\r\n\t\t\t</table>\r\n\t\t\t<div class='buttons-bar center'>\r\n\t\t\t" . $frm->admin_button('update_options', USRLAN_51, 'submit') . "\r\n\t\t\t</div></form></div>";
     //$emessage = & eMessage :: getInstance();
     echo $mes->render() . $text;
     //$ns->tablerender(USRLAN_52,$emessage->render().$text);
 }
예제 #7
0
function show_upload_filetypes()
{
    global $ns;
    //TODO is there an e107:: copy of this
    if (!is_object($e_userclass)) {
        $e_userclass = new user_class();
    }
    if (!getperms("0")) {
        exit;
    }
    //TODO still needed?
    $definition_source = DOWLAN_71;
    $source_file = '';
    $edit_upload_list = varset($_POST['upload_do_edit'], false);
    if (isset($_POST['generate_filetypes_xml'])) {
        // Write back edited data to filetypes_.xml
        $file_text = "<e107Filetypes>\n";
        foreach ($_POST['file_class_select'] as $k => $c) {
            if (!isset($_POST['file_line_delete_' . $c]) && varsettrue($_POST['file_type_list'][$k])) {
                $file_text .= "   <class name='{$c}' type='{$_POST['file_type_list'][$k]}' maxupload='" . varsettrue($_POST['file_maxupload'][$k], ini_get('upload_max_filesize')) . "'/>\n";
            }
        }
        $file_text .= "</e107Filetypes>";
        if (($handle = fopen(e_UPLOAD_TEMP_DIR . e_SAVE_FILETYPES, 'wt')) == FALSE || fwrite($handle, $file_text) == FALSE || fclose($handle) == FALSE) {
            $text = DOWLAN_88 . e_UPLOAD_TEMP_DIR . e_SAVE_FILETYPES;
        } else {
            $text = DOWLAN_86 . e_UPLOAD_TEMP_DIR . e_SAVE_FILETYPES . '<br/>' . DOWLAN_87 . e_ADMIN . e_READ_FILETYPES . '<br/>';
        }
        $ns->tablerender(DOWLAN_49, $text);
    }
    $current_perms = array();
    if ($edit_upload_list && is_readable(e_UPLOAD_TEMP_DIR . e_SAVE_FILETYPES) || !$edit_upload_list && is_readable(e_ADMIN . e_READ_FILETYPES)) {
        require_once e_HANDLER . 'xml_class.php';
        $xml = new xmlClass();
        $xml->setOptArrayTags('class');
        $source_file = $edit_upload_list ? e_UPLOAD_TEMP_DIR . e_SAVE_FILETYPES : e_ADMIN . e_READ_FILETYPES;
        $temp_vars = $xml->loadXMLfile($source_file, true, false);
        if ($temp_vars === FALSE) {
            echo "Error parsing XML file!";
        } else {
            foreach ($temp_vars['class'] as $v1) {
                $v = $v1['@attributes'];
                $current_perms[$v['name']] = array('type' => $v['type'], 'maxupload' => $v['maxupload']);
            }
        }
    } elseif (is_readable(e_ADMIN . 'filetypes.php')) {
        $source_file = 'filetypes.php';
        $current_perms[e_UC_MEMBER] = array('type' => implode(',', array_keys(get_allowed_filetypes('filetypes.php', ''))), 'maxupload' => '2M');
        if (is_readable(e_ADMIN . 'admin_filetypes.php')) {
            $current_perms[e_UC_ADMIN] = array('type' => implode(',', array_keys(get_allowed_filetypes('admin_filetypes.php', ''))), 'maxupload' => '2M');
            $source_file .= ' + admin_filetypes.php';
        }
    } else {
        // Set a default
        $current_perms[e_UC_MEMBER] = array('type' => 'zip,tar,gz,jpg,png', 'maxupload' => '2M');
    }
    $frm = new e_form(true);
    //enable inner tabindex counter
    $columnInfo = array("ftypes_userclass" => array("title" => DOWLAN_73, "type" => "", "width" => "auto", "thclass" => "", "forced" => true), "ftypes_extension" => array("title" => DOWLAN_74, "type" => "", "width" => "auto", "thclass" => ""), "ftypes_max_size" => array("title" => DOWLAN_75, "type" => "", "width" => "auto", "thclass" => ""), "ftypes_confirm_del" => array("title" => DOWLAN_76, "type" => "", "width" => "auto", "thclass" => "last"));
    $filterColumns = array("ftypes_userclass", "ftypes_extension", "ftypes_max_size", "ftypes_confirm_del");
    $text = "\n         <form method='post' action='" . e_SELF . "?filetypes'>\n            <fieldset id='core-download-upload1'>\n               <div>\n                  <div>\n                     <input type='hidden' name='upload_do_edit' value='1'/><p>" . str_replace(array('--SOURCE--', '--DEST--'), array(e_UPLOAD_TEMP_DIR . e_SAVE_FILETYPES, e_ADMIN . e_READ_FILETYPES), DOWLAN_85) . "</p><p>" . DOWLAN_72 . $source_file . "\n                  </p></div>\n                  <table style='" . ADMIN_WIDTH . "' class='adminlist'>" . $frm->colGroup($columnInfo) . $frm->thead($columnInfo, $filterColumns) . "\n                     <tbody>\n      ";
    foreach ($current_perms as $uclass => $uinfo) {
        $text .= "\n            <tr>\n               <td>\n                  <select name='file_class_select[]' class='tbox'>\n                     " . $e_userclass->vetted_tree('file_class_select', array($e_userclass, 'select'), $uclass, 'member,main,classes,admin') . "\n                  </select>\n               </td>\n               <td><input type='text' name='file_type_list[]' value='{$uinfo['type']}' class='tbox' size='40'/></td>\n               <td><input type='text' name='file_maxupload[]' value='{$uinfo['maxupload']}' class='tbox' size='10'/></td>\n               <td><input type='checkbox' value='1' name='file_line_delete_{$uclass}'/></td>\n            </tr>\n         ";
    }
    // Now put up a box to add a new setting
    $text .= "\n                        <tr>\n                           <td colspan='" . count($columnInfo) . "'>" . DOWLAN_90 . "</td>\n                        </tr>\n                        <tr>\n                           <td><select name='file_class_select[]' class='tbox'>\n                           " . $e_userclass->vetted_tree('file_class_select', array($e_userclass, 'select'), '', 'member,main,classes,admin,blank') . "\n                           </select></td>\n                           <td><input type='text' name='file_type_list[]' value='' class='tbox' size='40'/></td>\n                           <td colspan='2'><input type='text' name='file_maxupload[]' value='" . ini_get('upload_max_filesize') . "' class='tbox' size='10'/></td>\n                        </tr>\n                     </tbody>\n                  </table>\n               </div>\n            </fieldset>\n            <div class='buttons-bar center'>\n               <input class='button' type='submit' name='generate_filetypes_xml' value='" . DOWLAN_77 . "'/>\n               </div>\n        \t\t</form>\n      ";
    $ns->tablerender(DOWLAN_23, $text);
}
예제 #8
0
파일: admin_log.php 프로젝트: notzen/e107
    //	define('USER_AUDIT_NEW_SET',19);			// User changed other settings (intentional gap in numbering)
    //	define('USER_AUDIT_ADD_ADMIN', 20); 		// User added by admin
    //	define('USER_AUDIT_MAIL_BOUNCE', 21); 		// User mail bounce
    //	define('USER_AUDIT_BANNED', 22); 			// User banned
    //	define('USER_AUDIT_BOUNCE_RESET', 23); 		// User bounce reset
    //	define('USER_AUDIT_TEMP_ACCOUNT', 24); 		// User temporary account
    $audit_checkboxes = array(USER_AUDIT_SIGNUP => RL_LAN_071, USER_AUDIT_EMAILACK => RL_LAN_072, USER_AUDIT_LOGIN => RL_LAN_073, USER_AUDIT_NEW_DN => RL_LAN_075, USER_AUDIT_NEW_PW => RL_LAN_076, USER_AUDIT_PW_RES => RL_LAN_078, USER_AUDIT_NEW_EML => RL_LAN_077, USER_AUDIT_NEW_SET => RL_LAN_079, USER_AUDIT_ADD_ADMIN => RL_LAN_080, USER_AUDIT_MAIL_BOUNCE => RL_LAN_081, USER_AUDIT_BANNED => RL_LAN_082, USER_AUDIT_BOUNCE_RESET => RL_LAN_083, USER_AUDIT_TEMP_ACCOUNT => RL_LAN_084);
    if (!isset($e_userclass) && !is_object($e_userclass)) {
        require_once e_HANDLER . "userclass_class.php";
        $e_userclass = new user_class();
    }
    $user_signup_opts = array_flip(explode(',', varset($pref['user_audit_opts'], '')));
    // Common to all logs
    $text = "\r\n\t<fieldset id='core-admin-log-config'>\r\n\t<legend class='e-hideme'>" . RL_LAN_121 . "</legend>\r\n\t<form method='post' action='" . e_SELF . "?config'>\r\n\t\t<fieldset id='core-admin-log-options'>\r\n\t\t\t<legend>" . RL_LAN_122 . "</legend>\r\n\t\t\t<table class='table adminform'>\r\n\t\t\t\t<colgroup>\r\n\t\t\t\t\t<col class='col-label' />\r\n\t\t\t\t\t<col class='col-control' />\r\n\t\t\t\t</colgroup>\r\n\t\t\t\t<tbody>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td>" . RL_LAN_044 . "</td>\r\n\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t<select name='sys_log_perpage' class='tbox select'>\r\n\t\t\t\t\t\t\t\t<option value='10' " . ($pref['sys_log_perpage'] == '10' ? " selected='selected' " : "") . " >10</option>\r\n\t\t\t\t\t\t\t\t<option value='20' " . ($pref['sys_log_perpage'] == '20' ? " selected='selected' " : "") . " >20</option>\r\n\t\t\t\t\t\t\t\t<option value='30' " . ($pref['sys_log_perpage'] == '30' ? " selected='selected' " : "") . " >30</option>\r\n\t\t\t\t\t\t\t\t<option value='40' " . ($pref['sys_log_perpage'] == '40' ? " selected='selected' " : "") . " >40</option>\r\n\t\t\t\t\t\t\t\t<option value='50' " . ($pref['sys_log_perpage'] == '50' ? " selected='selected' " : "") . " >50</option>\r\n\t\t\t\t\t\t\t</select>\r\n\t\t\t\t\t\t\t<div class='field-help'>" . RL_LAN_064 . "</div>\r\n\t\t\t\t\t\t</td>\r\n\t\t\t\t\t</tr>\r\n\t";
    // User Audit Trail Options
    $text .= "\r\n\t\t<tr>\r\n\t\t\t<td>" . RL_LAN_123 . "</td>\r\n\t\t\t<td>\r\n\t\t\t\t<select class='tbox' name='user_audit_class'>\r\n\t\t\t\t\t" . $e_userclass->vetted_tree('user_audit_class', array($e_userclass, 'select'), varset($pref['user_audit_class'], ''), 'nobody,admin,member,new,mods,main,classes') . "\r\n\t\t\t\t</select>\r\n\t\t\t\t<div class='field-help'>" . RL_LAN_026 . "</div>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<td>" . RL_LAN_124 . "</td>\r\n\t\t\t<td>\r\n\t\t\t\t" . RL_LAN_031 . "\r\n\t";
    foreach ($audit_checkboxes as $k => $t) {
        $text .= "\r\n\t\t\t\t\t\t\t<div class='field-spacer'><input class='checkbox' type='checkbox' id='user-audit-opts-{$k}' name='user_audit_opts[]' value='{$k}' " . (isset($user_signup_opts[$k]) ? " checked='checked' " : "") . " /><label for='user-audit-opts-{$k}'>{$t}</label></div>\r\n\t\t";
    }
    $text .= "\r\n\t\t\t\t\t\t\t<div class='field-spacer f-left'>" . $frm->admin_button('check_all', 'jstarget:user_audit_opts', 'action', LAN_CHECKALL) . $frm->admin_button('uncheck_all', 'jstarget:user_audit_opts', 'action', LAN_UNCHECKALL) . "</div>\r\n\t\t\t\t\t\t</td>\r\n\t\t\t\t\t</tr>\r\n\t";
    // Rolling log options
    //====================
    $text .= "\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td>" . RL_LAN_008 . "</td>\r\n\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t<div class='auto-toggle-area autocheck'>\r\n\t\t\t\t\t\t\t\t<input class='checkbox' type='checkbox' name='roll_log_active' value='1' " . ($pref['roll_log_active'] == 1 ? " checked='checked' " : "") . " />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td>" . RL_LAN_009 . "</td>\r\n\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t   <input class='tbox' type='text' name='roll_log_days' size='10' value='" . $pref['roll_log_days'] . "' maxlength='5' />\r\n\t\t\t\t\t\t</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</tbody>\r\n\t\t\t</table>\r\n\t\t\t<div class='buttons-bar center'>\r\n\t\t\t\t" . $frm->admin_button('setoptions', 'no-value', 'update', LAN_UPDATE) . "\r\n\t\t\t</div>\r\n\t\t</fieldset>\r\n\t</form>\r\n\t";
    // Admin log maintenance
    //==================
    $text .= "\r\n\t<form method='post' action='" . e_SELF . "?config'>\r\n\t\t<fieldset id='core-admin-log-maintenance'>\r\n\t\t\t<legend>" . RL_LAN_125 . "</legend>\r\n\t\t\t<table class='table adminform'>\r\n\t\t\t\t<colgroup>\r\n\t\t\t\t\t<col class='col-label' />\r\n\t\t\t\t\t<col class='col-control' />\r\n\t\t\t\t</colgroup>\r\n\t\t\t\t<tbody>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td>" . RL_LAN_045 . " </td>\r\n\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t" . gen_log_delete('rolllog_clearadmin') . RL_LAN_046 . $frm->admin_button('deleteoldadmin', 'no-value', 'delete', RL_LAN_049) . "\t\t\t\t\t\t\r\n\t\t\t\t\t\t</td>\r\n\t\t\t\t\t</tr>\r\n\t";
    // User log maintenance
    //====================
    $text .= "\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td>" . RL_LAN_066 . " </td>\r\n\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t" . gen_log_delete('rolllog_clearaudit') . RL_LAN_046 . $frm->admin_button('deleteoldaudit', 'no-value', 'delete', RL_LAN_049) . "\r\n\t\t\t\t\t\t</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</tbody>\r\n\t\t\t</table>\r\n\t\t</fieldset>\r\n\t</form>\r\n\r\n\t</fieldset>\r\n\t";
    $ns->tablerender(RL_LAN_121, $emessage->render() . $text);
}