Example #1
0
function print_radioblock($slabel, $sname, $aoptions, $brequired = false, $checkedval = 0, $sdiv = " ")
{
    global $html;
    echo "<tr><td><b>{$slabel}</b>";
    if ($brequired == true) {
        echo "<img src=\"" . $html['imgreq'] . "\" alt=\"Campo Obligatorio\" hspace=3>";
    }
    echo "</td>";
    echo "<td>";
    for ($i = 0; $i < count($aoptions); $i++) {
        if ($checkedval == $aoptions[$i][1]) {
            print_radio($aoptions[$i][0], $sname, $aoptions[$i][1], 1);
        } else {
            print_radio($aoptions[$i][0], $sname, $aoptions[$i][1]);
        }
        echo $sdiv;
    }
    echo "</td></tr>\n";
}
Example #2
0
function module_pref_prefs($link)
{
    global $access_level_names;
    $subop = $_REQUEST["subop"];
    $prefs_blacklist = array("HIDE_FEEDLIST", "SYNC_COUNTERS", "ENABLE_LABELS", "ENABLE_SEARCH_TOOLBAR", "HIDE_READ_FEEDS");
    $profile_blacklist = array("ALLOW_DUPLICATE_POSTS", "PURGE_OLD_DAYS", "PURGE_UNREAD_ARTICLES", "DIGEST_ENABLE", "DIGEST_CATCHUP", "BLACKLISTED_TAGS", "ENABLE_FEED_ICONS", "ENABLE_API_ACCESS", "UPDATE_POST_ON_CHECKSUM_CHANGE", "DEFAULT_UPDATE_INTERVAL", "MARK_UNREAD_ON_UPDATE");
    if (FORCE_ARTICLE_PURGE != 0) {
        array_push($prefs_blacklist, "PURGE_OLD_DAYS");
        array_push($prefs_blacklist, "PURGE_UNREAD_ARTICLES");
    }
    if ($subop == "change-password") {
        $old_pw = $_POST["OLD_PASSWORD"];
        $new_pw = $_POST["NEW_PASSWORD"];
        $con_pw = $_POST["CONFIRM_PASSWORD"];
        if ($old_pw == "") {
            print "ERROR: " . __("Old password cannot be blank.");
            return;
        }
        if ($new_pw == "") {
            print "ERROR: " . __("New password cannot be blank.");
            return;
        }
        if ($new_pw != $con_pw) {
            print "ERROR: " . __("Entered passwords do not match.");
            return;
        }
        $old_pw_hash1 = encrypt_password($_POST["OLD_PASSWORD"]);
        $old_pw_hash2 = encrypt_password($_POST["OLD_PASSWORD"], $_SESSION["name"]);
        $new_pw_hash = encrypt_password($_POST["NEW_PASSWORD"], $_SESSION["name"]);
        $active_uid = $_SESSION["uid"];
        if ($old_pw && $new_pw) {
            $login = db_escape_string($_SERVER['PHP_AUTH_USER']);
            $result = db_query($link, "SELECT id FROM ttrss_users WHERE \n\t\t\t\t\tid = '{$active_uid}' AND (pwd_hash = '{$old_pw_hash1}' OR \n\t\t\t\t\t\tpwd_hash = '{$old_pw_hash2}')");
            if (db_num_rows($result) == 1) {
                db_query($link, "UPDATE ttrss_users SET pwd_hash = '{$new_pw_hash}' \n\t\t\t\t\t\tWHERE id = '{$active_uid}'");
                $_SESSION["pwd_hash"] = $new_pw_hash;
                print __("Password has been changed.");
            } else {
                print "ERROR: " . __('Old password is incorrect.');
            }
        }
        return;
    } else {
        if ($subop == "save-config") {
            #			$_SESSION["prefs_op_result"] = "save-config";
            $_SESSION["prefs_cache"] = false;
            //			print_r($_POST);
            $orig_theme = get_pref($link, "_THEME_ID");
            foreach (array_keys($_POST) as $pref_name) {
                $pref_name = db_escape_string($pref_name);
                $value = db_escape_string($_POST[$pref_name]);
                set_pref($link, $pref_name, $value);
            }
            if ($orig_theme != get_pref($link, "_THEME_ID")) {
                print "PREFS_THEME_CHANGED";
            } else {
                print __("The configuration was saved.");
            }
            return;
        } else {
            if ($subop == "getHelp") {
                $pref_name = db_escape_string($_REQUEST["pn"]);
                $result = db_query($link, "SELECT help_text FROM ttrss_prefs\n\t\t\t\tWHERE pref_name = '{$pref_name}'");
                if (db_num_rows($result) > 0) {
                    $help_text = db_fetch_result($result, 0, "help_text");
                    print $help_text;
                } else {
                    printf(__("Unknown option: %s"), $pref_name);
                }
            } else {
                if ($subop == "change-email") {
                    $email = db_escape_string($_POST["email"]);
                    $active_uid = $_SESSION["uid"];
                    db_query($link, "UPDATE ttrss_users SET email = '{$email}' \n\t\t\t\tWHERE id = '{$active_uid}'");
                    print __("E-mail has been changed.");
                    return;
                } else {
                    if ($subop == "reset-config") {
                        $_SESSION["prefs_op_result"] = "reset-to-defaults";
                        if ($_SESSION["profile"]) {
                            $profile_qpart = "profile = '" . $_SESSION["profile"] . "'";
                        } else {
                            $profile_qpart = "profile IS NULL";
                        }
                        db_query($link, "DELETE FROM ttrss_user_prefs \n\t\t\t\tWHERE {$profile_qpart} AND owner_uid = " . $_SESSION["uid"]);
                        initialize_user_prefs($link, $_SESSION["uid"], $_SESSION["profile"]);
                        print "PREFS_THEME_CHANGED";
                        //			print __("The configuration was reset to defaults.");
                        return;
                    } else {
                        set_pref($link, "_PREFS_ACTIVE_TAB", "genConfig");
                        if ($_SESSION["profile"]) {
                            print_notice("Some preferences are only available in default profile.");
                        }
                        if (!SINGLE_USER_MODE) {
                            $result = db_query($link, "SELECT id FROM ttrss_users\n\t\t\t\t\tWHERE id = " . $_SESSION["uid"] . " AND pwd_hash \n\t\t\t\t\t= 'SHA1:5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8'");
                            if (db_num_rows($result) != 0) {
                                print format_warning(__("Your password is at default value, \n\t\t\t\t\t\tplease change it."), "default_pass_warning");
                            }
                            /*				if ($_SESSION["pwd_change_result"] == "failed") {
                            					print format_warning("Could not change the password.");
                            				}
                            
                            				if ($_SESSION["pwd_change_result"] == "ok") {
                            					print format_notice("Password was changed.");
                            				}
                            
                            				$_SESSION["pwd_change_result"] = ""; */
                            /*				if ($_SESSION["prefs_op_result"] == "reset-to-defaults") {
                            					print format_notice(__("The configuration was reset to defaults."));
                            } */
                            #				if ($_SESSION["prefs_op_result"] == "save-config") {
                            #					print format_notice(__("The configuration was saved."));
                            #				}
                            $_SESSION["prefs_op_result"] = "";
                            print "<form onsubmit='return false' id='change_email_form'>";
                            print "<table width=\"100%\" class=\"prefPrefsList\">";
                            print "<tr><td colspan='3'><h3>" . __("Personal data") . "</h3></tr></td>";
                            $result = db_query($link, "SELECT email,access_level FROM ttrss_users\n\t\t\t\t\tWHERE id = " . $_SESSION["uid"]);
                            $email = db_fetch_result($result, 0, "email");
                            print "<tr><td width=\"40%\">" . __('E-mail') . "</td>";
                            print "<td class=\"prefValue\"><input class=\"editbox\" name=\"email\" \n\t\t\t\t\tonfocus=\"javascript:disableHotkeys();\" \n\t\t\t\t\tonblur=\"javascript:enableHotkeys();\"\n\t\t\t\t\tonkeypress=\"return filterCR(event, changeUserEmail)\"\n\t\t\t\t\tvalue=\"{$email}\"></td></tr>";
                            if (!SINGLE_USER_MODE) {
                                $access_level = db_fetch_result($result, 0, "access_level");
                                print "<tr><td width=\"40%\">" . __('Access level') . "</td>";
                                print "<td>" . $access_level_names[$access_level] . "</td></tr>";
                            }
                            print "</table>";
                            print "<input type=\"hidden\" name=\"op\" value=\"pref-prefs\">";
                            print "<input type=\"hidden\" name=\"subop\" value=\"change-email\">";
                            print "</form>";
                            print "<p><button onclick=\"return changeUserEmail()\">" . __("Change e-mail") . "</button>";
                            print "<form onsubmit=\"return false\" \n\t\t\t\t\tname=\"change_pass_form\" id=\"change_pass_form\">";
                            print "<table width=\"100%\" class=\"prefPrefsList\">";
                            print "<tr><td colspan='3'><h3>" . __("Authentication") . "</h3></tr></td>";
                            print "<tr><td width=\"40%\">" . __("Old password") . "</td>";
                            print "<td class=\"prefValue\"><input class=\"editbox\" type=\"password\"\n\t\t\t\t\tonfocus=\"javascript:disableHotkeys();\" \n\t\t\t\t\tonblur=\"javascript:enableHotkeys();\"\n\t\t\t\t\tonkeypress=\"return filterCR(event, changeUserPassword)\"\n\t\t\t\t\tname=\"OLD_PASSWORD\"></td></tr>";
                            print "<tr><td width=\"40%\">" . __("New password") . "</td>";
                            print "<td class=\"prefValue\"><input class=\"editbox\" type=\"password\"\n\t\t\t\t\tonfocus=\"javascript:disableHotkeys();\" \n\t\t\t\t\tonblur=\"javascript:enableHotkeys();\"\n\t\t\t\t\tonkeypress=\"return filterCR(event, changeUserPassword)\"\n\t\t\t\t\tname=\"NEW_PASSWORD\"></td></tr>";
                            print "<tr><td width=\"40%\">" . __("Confirm password") . "</td>";
                            print "<td class=\"prefValue\"><input class=\"editbox\" type=\"password\"\n\t\t\t\t\tonfocus=\"javascript:disableHotkeys();\" \n\t\t\t\t\tonblur=\"javascript:enableHotkeys();\"\n\t\t\t\t\tonkeypress=\"return filterCR(event, changeUserPassword)\"\n\t\t\t\t\tname=\"CONFIRM_PASSWORD\"></td></tr>";
                            print "</table>";
                            print "<input type=\"hidden\" name=\"op\" value=\"pref-prefs\">";
                            print "<input type=\"hidden\" name=\"subop\" value=\"change-password\">";
                            print "</form>";
                            print "<p><button\tonclick=\"return changeUserPassword()\">" . __("Change password") . "</button>";
                        }
                        if ($_SESSION["profile"]) {
                            initialize_user_prefs($link, $_SESSION["uid"], $_SESSION["profile"]);
                            $profile_qpart = "profile = '" . $_SESSION["profile"] . "'";
                        } else {
                            initialize_user_prefs($link, $_SESSION["uid"]);
                            $profile_qpart = "profile IS NULL";
                        }
                        $result = db_query($link, "SELECT \n\t\t\t\tttrss_user_prefs.pref_name,short_desc,help_text,value,type_name,\n\t\t\t\tsection_name,def_value,section_id\n\t\t\t\tFROM ttrss_prefs,ttrss_prefs_types,ttrss_prefs_sections,ttrss_user_prefs\n\t\t\t\tWHERE type_id = ttrss_prefs_types.id AND \n\t\t\t\t\t{$profile_qpart} AND\n\t\t\t\t\tsection_id = ttrss_prefs_sections.id AND\n\t\t\t\t\tttrss_user_prefs.pref_name = ttrss_prefs.pref_name AND\n\t\t\t\t\tshort_desc != '' AND\n\t\t\t\t\towner_uid = " . $_SESSION["uid"] . "\n\t\t\t\tORDER BY section_id,short_desc");
                        print "<form onsubmit='return false' action=\"backend.php\" \n\t\t\t\tmethod=\"POST\" id=\"pref_prefs_form\">";
                        $lnum = 0;
                        $active_section = "";
                        while ($line = db_fetch_assoc($result)) {
                            if (in_array($line["pref_name"], $prefs_blacklist)) {
                                continue;
                            }
                            if ($_SESSION["profile"] && in_array($line["pref_name"], $profile_blacklist)) {
                                continue;
                            }
                            if ($active_section != $line["section_name"]) {
                                if ($active_section != "") {
                                    print "</table>";
                                }
                                print "<p><table width=\"100%\" class=\"prefPrefsList\">";
                                $active_section = $line["section_name"];
                                print "<tr><td colspan=\"3\"><h3>" . __($active_section) . "</h3></td></tr>";
                                if ($line["section_id"] == 2) {
                                    print "<tr><td width=\"40%\">" . __("Select theme") . "</td>";
                                    $user_theme = get_pref($link, "_THEME_ID");
                                    $themes = get_all_themes();
                                    print "<td><select name=\"_THEME_ID\">";
                                    print "<option value=''>" . __('Default') . "</option>";
                                    print "<option disabled>--------</option>";
                                    foreach ($themes as $t) {
                                        $base = $t['base'];
                                        $name = $t['name'];
                                        if ($base == $user_theme) {
                                            $selected = "selected=\"1\"";
                                        } else {
                                            $selected = "";
                                        }
                                        print "<option {$selected} value='{$base}'>{$name}</option>";
                                    }
                                    print "</select></td></tr>";
                                }
                                //					print "<tr class=\"title\">
                                //						<td width=\"25%\">Option</td><td>Value</td></tr>";
                                $lnum = 0;
                            }
                            //				$class = ($lnum % 2) ? "even" : "odd";
                            print "<tr>";
                            $type_name = $line["type_name"];
                            $pref_name = $line["pref_name"];
                            $value = $line["value"];
                            $def_value = $line["def_value"];
                            $help_text = $line["help_text"];
                            print "<td width=\"40%\" class=\"prefName\" id=\"{$pref_name}\">" . __($line["short_desc"]);
                            if ($help_text) {
                                print "<div class=\"prefHelp\">" . __($help_text) . "</div>";
                            }
                            print "</td>";
                            print "<td class=\"prefValue\">";
                            if ($pref_name == "DEFAULT_UPDATE_INTERVAL") {
                                global $update_intervals_nodefault;
                                print_select_hash($pref_name, $value, $update_intervals_nodefault);
                            } else {
                                if ($type_name == "bool") {
                                    //					print_select($pref_name, $value, array("true", "false"));
                                    if ($value == "true") {
                                        $value = __("Yes");
                                    } else {
                                        $value = __("No");
                                    }
                                    print_radio($pref_name, $value, __("Yes"), array(__("Yes"), __("No")));
                                } else {
                                    print "<input class=\"editbox\"\n\t\t\t\t\t\tonfocus=\"javascript:disableHotkeys();\" \n\t\t\t\t\t\tonblur=\"javascript:enableHotkeys();\"  \n\t\t\t\t\t\tname=\"{$pref_name}\" value=\"{$value}\">";
                                }
                            }
                            print "</td>";
                            print "</tr>";
                            $lnum++;
                        }
                        print "</table>";
                        print "<input type=\"hidden\" name=\"op\" value=\"pref-prefs\">";
                        print "<p><button onclick=\"return validatePrefsSave()\">" . __('Save configuration') . "</button> ";
                        print "<button onclick=\"return editProfiles()\">" . __('Manage profiles') . "</button> ";
                        print "<button onclick=\"return validatePrefsReset()\">" . __('Reset to defaults') . "</button></p>";
                        print "</form>";
                    }
                }
            }
        }
    }
}
    }
    /* $SERVER_URL */
}
/* $RSS_ENABLED */
?>

<tr><td class="tooltipselect" title="<?php 
etooltip('freebusy-enabled-help');
?>
"><?php 
etranslate('Enable FreeBusy publishing');
?>
:</td>
  <td>
  <?php 
echo print_radio('FREEBUSY_ENABLED');
?>
</td></tr>
<?php 
if (!empty($SERVER_URL)) {
    ?>
<tr><td class="tooltipselect" title="<?php 
    etooltip('freebusy-url-help');
    ?>
">&nbsp;&nbsp;&nbsp;&nbsp;<?php 
    etranslate('URL');
    ?>
:</td>
  <td>
  <?php 
    echo htmlspecialchars($SERVER_URL) . 'freebusy.php/' . ($updating_public ? '__public__' : $user) . '.ifb';
Example #4
0
<html>
<body>

<p> Sie hoeren:</p>
<?php 
print_radio();
?>
<p> Online Radio by Kurt Nistelberger</p>

<?php 
$post_start = $_POST["start"];
$post_stop = $_POST["stop"];
$post_laut = $_POST["laut"];
$post_sender = $_POST["radio_sender"];
$post_change = $_POST["sender"];
$post_alarm = $_POST["alarm"];
$post_hour = $_POST["hour"];
$post_min = $_POST["min"];
echo "start: " . $post_start . " </br> stop: " . $post_stop . " </br> volume: " . $post_laut . " </br> sender: " . $post_sender . " </br> senderbtn: " . $post_change;
echo "alarm: " . $post_alarm . " </br> hour: " . $post_hour . " </br> min: " . $post_min . " </br> ";
echo "</br>";
if (strcmp($post_stop, "stop") == 0) {
    stop_radio();
    echo "Radio stop";
}
if (strcmp($post_start, "start") == 0) {
    start_radio();
    echo "Radio start";
}
if ($post_laut != 0) {
 function index()
 {
     global $access_level_names;
     $prefs_blacklist = array("HIDE_READ_FEEDS", "FEEDS_SORT_BY_UNREAD", "STRIP_UNSAFE_TAGS");
     $profile_blacklist = array("ALLOW_DUPLICATE_POSTS", "PURGE_OLD_DAYS", "PURGE_UNREAD_ARTICLES", "DIGEST_ENABLE", "DIGEST_CATCHUP", "BLACKLISTED_TAGS", "ENABLE_API_ACCESS", "UPDATE_POST_ON_CHECKSUM_CHANGE", "DEFAULT_UPDATE_INTERVAL", "USER_TIMEZONE", "SORT_HEADLINES_BY_FEED_DATE", "SSL_CERT_SERIAL", "DIGEST_PREFERRED_TIME");
     $_SESSION["prefs_op_result"] = "";
     print "<div dojoType=\"dijit.layout.AccordionContainer\" region=\"center\">";
     print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"" . __('Personal data / Authentication') . "\">";
     print "<form dojoType=\"dijit.form.Form\" id=\"changeUserdataForm\">";
     print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\">\n\t\tevt.preventDefault();\n\t\tif (this.validate()) {\n\t\t\tnotify_progress('Saving data...', true);\n\n\t\t\tnew Ajax.Request('backend.php', {\n\t\t\t\tparameters: dojo.objectToQuery(this.getValues()),\n\t\t\t\tonComplete: function(transport) {\n\t\t\t\t\tnotify_callback2(transport);\n\t\t\t} });\n\n\t\t}\n\t\t</script>";
     print "<table width=\"100%\" class=\"prefPrefsList\">";
     print "<h2>" . __("Personal data") . "</h2>";
     $result = db_query($this->link, "SELECT email,full_name,otp_enabled,\n\t\t\taccess_level FROM ttrss_users\n\t\t\tWHERE id = " . $_SESSION["uid"]);
     $email = htmlspecialchars(db_fetch_result($result, 0, "email"));
     $full_name = htmlspecialchars(db_fetch_result($result, 0, "full_name"));
     $otp_enabled = sql_bool_to_bool(db_fetch_result($result, 0, "otp_enabled"));
     print "<tr><td width=\"40%\">" . __('Full name') . "</td>";
     print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" name=\"full_name\" required=\"1\"\n\t\t\tvalue=\"{$full_name}\"></td></tr>";
     print "<tr><td width=\"40%\">" . __('E-mail') . "</td>";
     print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" name=\"email\" required=\"1\" value=\"{$email}\"></td></tr>";
     if (!SINGLE_USER_MODE && !$_SESSION["hide_hello"]) {
         $access_level = db_fetch_result($result, 0, "access_level");
         print "<tr><td width=\"40%\">" . __('Access level') . "</td>";
         print "<td>" . $access_level_names[$access_level] . "</td></tr>";
     }
     print "</table>";
     print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pref-prefs\">";
     print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"changeemail\">";
     print "<p><button dojoType=\"dijit.form.Button\" type=\"submit\">" . __("Save data") . "</button>";
     print "</form>";
     if ($_SESSION["auth_module"]) {
         global $pluginhost;
         $authenticator = $pluginhost->get_plugin($_SESSION["auth_module"]);
     } else {
         $authenticator = false;
     }
     if ($authenticator && method_exists($authenticator, "change_password")) {
         print "<h2>" . __("Password") . "</h2>";
         $result = db_query($this->link, "SELECT id FROM ttrss_users\n\t\t\t\tWHERE id = " . $_SESSION["uid"] . " AND pwd_hash\n\t\t\t\t= 'SHA1:5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8'");
         if (db_num_rows($result) != 0) {
             print format_warning(__("Your password is at default value, please change it."), "default_pass_warning");
         }
         print "<form dojoType=\"dijit.form.Form\">";
         print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\">\n\t\t\tevt.preventDefault();\n\t\t\tif (this.validate()) {\n\t\t\t\tnotify_progress('Changing password...', true);\n\n\t\t\t\tnew Ajax.Request('backend.php', {\n\t\t\t\t\tparameters: dojo.objectToQuery(this.getValues()),\n\t\t\t\t\tonComplete: function(transport) {\n\t\t\t\t\t\tnotify('');\n\t\t\t\t\t\tif (transport.responseText.indexOf('ERROR: ') == 0) {\n\t\t\t\t\t\t\tnotify_error(transport.responseText.replace('ERROR: ', ''));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnotify_info(transport.responseText);\n\t\t\t\t\t\t\tvar warn = \$('default_pass_warning');\n\t\t\t\t\t\t\tif (warn) Element.hide(warn);\n\t\t\t\t\t\t}\n\t\t\t\t}});\n\t\t\t\tthis.reset();\n\t\t\t}\n\t\t\t</script>";
         if ($otp_enabled) {
             print_notice("Changing your current password will disable OTP.");
         }
         print "<table width=\"100%\" class=\"prefPrefsList\">";
         print "<tr><td width=\"40%\">" . __("Old password") . "</td>";
         print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" type=\"password\" required=\"1\" name=\"old_password\"></td></tr>";
         print "<tr><td width=\"40%\">" . __("New password") . "</td>";
         print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" type=\"password\" required=\"1\"\n\t\t\t\tname=\"new_password\"></td></tr>";
         print "<tr><td width=\"40%\">" . __("Confirm password") . "</td>";
         print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" type=\"password\" required=\"1\" name=\"confirm_password\"></td></tr>";
         print "</table>";
         print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pref-prefs\">";
         print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"changepassword\">";
         print "<p><button dojoType=\"dijit.form.Button\" type=\"submit\">" . __("Change password") . "</button>";
         print "</form>";
         if ($_SESSION["auth_module"] == "auth_internal") {
             print "<h2>" . __("One time passwords / Authenticator") . "</h2>";
             if ($otp_enabled) {
                 print_notice("One time passwords are currently enabled. Enter your current password below to disable.");
                 print "<form dojoType=\"dijit.form.Form\">";
                 print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\">\n\t\t\t\tevt.preventDefault();\n\t\t\t\tif (this.validate()) {\n\t\t\t\t\tnotify_progress('Disabling OTP', true);\n\n\t\t\t\t\tnew Ajax.Request('backend.php', {\n\t\t\t\t\t\tparameters: dojo.objectToQuery(this.getValues()),\n\t\t\t\t\t\tonComplete: function(transport) {\n\t\t\t\t\t\t\tnotify('');\n\t\t\t\t\t\t\tif (transport.responseText.indexOf('ERROR: ') == 0) {\n\t\t\t\t\t\t\t\tnotify_error(transport.responseText.replace('ERROR: ', ''));\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}});\n\t\t\t\t\tthis.reset();\n\t\t\t\t}\n\t\t\t\t</script>";
                 print "<table width=\"100%\" class=\"prefPrefsList\">";
                 print "<tr><td width=\"40%\">" . __("Enter your password") . "</td>";
                 print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" type=\"password\" required=\"1\"\n\t\t\t\t\tname=\"password\"></td></tr>";
                 print "</table>";
                 print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pref-prefs\">";
                 print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"otpdisable\">";
                 print "<p><button dojoType=\"dijit.form.Button\" type=\"submit\">" . __("Disable OTP") . "</button>";
                 print "</form>";
             } else {
                 print "<p>" . __("You will need a compatible Authenticator to use this. Changing your password would automatically disable OTP.") . "</p>";
                 print "<p>" . __("Scan the following code by the Authenticator application:") . "</p>";
                 $csrf_token = $_SESSION["csrf_token"];
                 print "<img src=\"backend.php?op=pref-prefs&method=otpqrcode&csrf_token={$csrf_token}\">";
                 print "<form dojoType=\"dijit.form.Form\" id=\"changeOtpForm\">";
                 print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pref-prefs\">";
                 print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"otpenable\">";
                 print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\">\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\tif (this.validate()) {\n\t\t\t\t\t\tnotify_progress('Saving data...', true);\n\n\t\t\t\t\t\tnew Ajax.Request('backend.php', {\n\t\t\t\t\t\t\tparameters: dojo.objectToQuery(this.getValues()),\n\t\t\t\t\t\t\tonComplete: function(transport) {\n\t\t\t\t\t\t\t\tnotify('');\n\t\t\t\t\t\t\t\tif (transport.responseText.indexOf('ERROR: ') == 0) {\n\t\t\t\t\t\t\t\t\tnotify_error(transport.responseText.replace('ERROR: ', ''));\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} });\n\n\t\t\t\t\t}\n\t\t\t\t\t</script>";
                 print "<table width=\"100%\" class=\"prefPrefsList\">";
                 print "<tr><td width=\"40%\">" . __("Enter your password") . "</td>";
                 print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" type=\"password\" required=\"1\"\n\t\t\t\t\t\tname=\"password\"></td></tr>";
                 print "<tr><td colspan=\"2\">";
                 print "<input dojoType=\"dijit.form.CheckBox\" required=\"1\"\n\t\t\t\t\t\ttype=\"checkbox\" id=\"enable_otp\" name=\"enable_otp\"/> ";
                 print "<label for=\"enable_otp\">" . __("I have scanned the code and would like to enable OTP") . "</label>";
                 print "</td></tr><tr><td colspan=\"2\">";
                 print "</td></tr>";
                 print "</table>";
                 print "<p><button dojoType=\"dijit.form.Button\" type=\"submit\">" . __("Enable OTP") . "</button>";
                 print "</form>";
             }
         }
     }
     global $pluginhost;
     $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB_SECTION, "hook_prefs_tab_section", "prefPrefsAuth");
     print "</div>";
     #pane
     print "<div dojoType=\"dijit.layout.AccordionPane\" selected=\"true\" title=\"" . __('Preferences') . "\">";
     print "<form dojoType=\"dijit.form.Form\" id=\"changeSettingsForm\">";
     print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\">\n\t\tevt.preventDefault();\n\t\tif (this.validate()) {\n\t\t\tconsole.log(dojo.objectToQuery(this.getValues()));\n\n\t\t\tnew Ajax.Request('backend.php', {\n\t\t\t\tparameters: dojo.objectToQuery(this.getValues()),\n\t\t\t\tonComplete: function(transport) {\n\t\t\t\t\tvar msg = transport.responseText;\n\t\t\t\t\tif (msg.match('PREFS_THEME_CHANGED')) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnotify_info(msg);\n\t\t\t\t\t}\n\t\t\t} });\n\t\t}\n\t\t</script>";
     print '<div dojoType="dijit.layout.BorderContainer" gutters="false">';
     print '<div dojoType="dijit.layout.ContentPane" region="center" style="overflow-y : auto">';
     if ($_SESSION["profile"]) {
         print_notice("Some preferences are only available in default profile.");
     }
     if ($_SESSION["profile"]) {
         initialize_user_prefs($this->link, $_SESSION["uid"], $_SESSION["profile"]);
         $profile_qpart = "profile = '" . $_SESSION["profile"] . "'";
     } else {
         initialize_user_prefs($this->link, $_SESSION["uid"]);
         $profile_qpart = "profile IS NULL";
     }
     if ($_SESSION["prefs_show_advanced"]) {
         $access_query = "true";
     } else {
         $access_query = "(access_level = 0 AND section_id != 3)";
     }
     $result = db_query($this->link, "SELECT DISTINCT\n\t\t\tttrss_user_prefs.pref_name,short_desc,help_text,value,type_name,\n\t\t\tttrss_prefs_sections.order_id,\n\t\t\tsection_name,def_value,section_id\n\t\t\tFROM ttrss_prefs,ttrss_prefs_types,ttrss_prefs_sections,ttrss_user_prefs\n\t\t\tWHERE type_id = ttrss_prefs_types.id AND\n\t\t\t\t{$profile_qpart} AND\n\t\t\t\tsection_id = ttrss_prefs_sections.id AND\n\t\t\t\tttrss_user_prefs.pref_name = ttrss_prefs.pref_name AND\n\t\t\t\t{$access_query} AND\n\t\t\t\tshort_desc != '' AND\n\t\t\t\towner_uid = " . $_SESSION["uid"] . "\n\t\t\tORDER BY ttrss_prefs_sections.order_id,short_desc");
     $lnum = 0;
     $active_section = "";
     while ($line = db_fetch_assoc($result)) {
         if (in_array($line["pref_name"], $prefs_blacklist)) {
             continue;
         }
         if ($_SESSION["profile"] && in_array($line["pref_name"], $profile_blacklist)) {
             continue;
         }
         if ($active_section != $line["section_name"]) {
             if ($active_section != "") {
                 print "</table>";
             }
             print "<table width=\"100%\" class=\"prefPrefsList\">";
             $active_section = $line["section_name"];
             print "<tr><td colspan=\"3\"><h3>" . __($active_section) . "</h3></td></tr>";
             $lnum = 0;
         }
         print "<tr>";
         $type_name = $line["type_name"];
         $pref_name = $line["pref_name"];
         $value = $line["value"];
         $def_value = $line["def_value"];
         $help_text = $line["help_text"];
         print "<td width=\"40%\" class=\"prefName\" id=\"{$pref_name}\">" . __($line["short_desc"]);
         if ($help_text) {
             print "<div class=\"prefHelp\">" . __($help_text) . "</div>";
         }
         print "</td>";
         print "<td class=\"prefValue\">";
         if ($pref_name == "USER_TIMEZONE") {
             $timezones = explode("\n", file_get_contents("lib/timezones.txt"));
             print_select($pref_name, $value, $timezones, 'dojoType="dijit.form.FilteringSelect"');
         } else {
             if ($pref_name == "USER_STYLESHEET") {
                 print "<button dojoType=\"dijit.form.Button\"\n\t\t\t\t\tonclick=\"customizeCSS()\">" . __('Customize') . "</button>";
             } else {
                 if ($pref_name == "DEFAULT_ARTICLE_LIMIT") {
                     $limits = array(15, 30, 45, 60);
                     print_select($pref_name, $value, $limits, 'dojoType="dijit.form.Select"');
                 } else {
                     if ($pref_name == "DEFAULT_UPDATE_INTERVAL") {
                         global $update_intervals_nodefault;
                         print_select_hash($pref_name, $value, $update_intervals_nodefault, 'dojoType="dijit.form.Select"');
                     } else {
                         if ($type_name == "bool") {
                             if ($value == "true") {
                                 $value = __("Yes");
                             } else {
                                 $value = __("No");
                             }
                             if ($pref_name == "PURGE_UNREAD_ARTICLES" && FORCE_ARTICLE_PURGE != 0) {
                                 $disabled = "disabled=\"1\"";
                                 $value = __("Yes");
                             } else {
                                 $disabled = "";
                             }
                             print_radio($pref_name, $value, __("Yes"), array(__("Yes"), __("No")), $disabled);
                         } else {
                             if (array_search($pref_name, array('FRESH_ARTICLE_MAX_AGE', 'DEFAULT_ARTICLE_LIMIT', 'PURGE_OLD_DAYS', 'LONG_DATE_FORMAT', 'SHORT_DATE_FORMAT')) !== false) {
                                 $regexp = $type_name == 'integer' ? 'regexp="^\\d*$"' : '';
                                 if ($pref_name == "PURGE_OLD_DAYS" && FORCE_ARTICLE_PURGE != 0) {
                                     $disabled = "disabled=\"1\"";
                                     $value = FORCE_ARTICLE_PURGE;
                                 } else {
                                     $disabled = "";
                                 }
                                 print "<input dojoType=\"dijit.form.ValidationTextBox\"\n\t\t\t\t\trequired=\"1\" {$regexp} {$disabled}\n\t\t\t\t\tname=\"{$pref_name}\" value=\"{$value}\">";
                             } else {
                                 if ($pref_name == "SSL_CERT_SERIAL") {
                                     print "<input dojoType=\"dijit.form.ValidationTextBox\"\n\t\t\t\t\tid=\"SSL_CERT_SERIAL\" readonly=\"1\"\n\t\t\t\t\tname=\"{$pref_name}\" value=\"{$value}\">";
                                     $cert_serial = htmlspecialchars(get_ssl_certificate_id());
                                     $has_serial = $cert_serial ? "false" : "true";
                                     print " <button dojoType=\"dijit.form.Button\" disabled=\"{$has_serial}\"\n\t\t\t\t\tonclick=\"insertSSLserial('{$cert_serial}')\">" . __('Register') . "</button>";
                                     print " <button dojoType=\"dijit.form.Button\"\n\t\t\t\t\tonclick=\"insertSSLserial('')\">" . __('Clear') . "</button>";
                                 } else {
                                     if ($pref_name == 'DIGEST_PREFERRED_TIME') {
                                         print "<input dojoType=\"dijit.form.ValidationTextBox\"\n\t\t\t\t\tid=\"{$pref_name}\" regexp=\"[012]?\\d:\\d\\d\" placeHolder=\"12:00\"\n\t\t\t\t\tname=\"{$pref_name}\" value=\"{$value}\"><div class=\"insensitive\">" . T_sprintf("Current server time: %s (UTC)", date("H:i")) . "</div>";
                                     } else {
                                         $regexp = $type_name == 'integer' ? 'regexp="^\\d*$"' : '';
                                         print "<input dojoType=\"dijit.form.ValidationTextBox\"\n\t\t\t\t\t{$regexp}\n\t\t\t\t\tname=\"{$pref_name}\" value=\"{$value}\">";
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
         print "</td>";
         print "</tr>";
         $lnum++;
     }
     print "</table>";
     global $pluginhost;
     $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB_SECTION, "hook_prefs_tab_section", "prefPrefsPrefsInside");
     print '</div>';
     # inside pane
     print '<div dojoType="dijit.layout.ContentPane" region="bottom">';
     print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pref-prefs\">";
     print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"saveconfig\">";
     print "<button dojoType=\"dijit.form.Button\" type=\"submit\">" . __('Save configuration') . "</button> ";
     print "<button dojoType=\"dijit.form.Button\" onclick=\"return editProfiles()\">" . __('Manage profiles') . "</button> ";
     print "<button dojoType=\"dijit.form.Button\" onclick=\"return validatePrefsReset()\">" . __('Reset to defaults') . "</button>";
     print "&nbsp;";
     $checked = $_SESSION["prefs_show_advanced"] ? "checked='1'" : "";
     print "<input onclick='toggleAdvancedPrefs()'\n\t\t\t\tid='prefs_show_advanced'\n\t\t\t\tdojoType=\"dijit.form.CheckBox\"\n\t\t\t\t{$checked}\n\t\t\t\ttype=\"checkbox\"></input>\n\t\t\t\t<label for='prefs_show_advanced'>" . __("Show additional preferences") . "</label>";
     global $pluginhost;
     $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB_SECTION, "hook_prefs_tab_section", "prefPrefsPrefsOutside");
     print "</form>";
     print '</div>';
     # inner pane
     print '</div>';
     # border container
     print "</div>";
     #pane
     print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"" . __('Plugins') . "\">";
     print "<h2>" . __("Plugins") . "</h2>";
     print_notice("You will need to reload Tiny Tiny RSS for plugin changes to take effect.");
     print "<form dojoType=\"dijit.form.Form\" id=\"changePluginsForm\">";
     print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\">\n\t\tevt.preventDefault();\n\t\tif (this.validate()) {\n\t\t\tnotify_progress('Saving data...', true);\n\n\t\t\tnew Ajax.Request('backend.php', {\n\t\t\t\tparameters: dojo.objectToQuery(this.getValues()),\n\t\t\t\tonComplete: function(transport) {\n\t\t\t\t\tnotify('');\n\t\t\t\t\tif (confirm(__('Selected plugins have been enabled. Reload?'))) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t} });\n\n\t\t}\n\t\t</script>";
     print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pref-prefs\">";
     print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"setplugins\">";
     print "<table width='100%' class='prefPluginsList'>";
     print "<tr><td colspan='4'><h3>" . __("System plugins") . "</h3></td></tr>";
     print "<tr class=\"title\">\n\t\t\t\t<td width=\"5%\">&nbsp;</td>\n\t\t\t\t<td width='10%'>" . __('Plugin') . "</td>\n\t\t\t\t<td width=''>" . __('Description') . "</td>\n\t\t\t\t<td width='5%'>" . __('Version') . "</td>\n\t\t\t\t<td width='10%'>" . __('Author') . "</td></tr>";
     $system_enabled = array_map("trim", explode(",", PLUGINS));
     $user_enabled = array_map("trim", explode(",", get_pref($this->link, "_ENABLED_PLUGINS")));
     $tmppluginhost = new PluginHost($this->link);
     $tmppluginhost->load_all($tmppluginhost::KIND_ALL, $_SESSION["uid"]);
     $tmppluginhost->load_data(true);
     foreach ($tmppluginhost->get_plugins() as $name => $plugin) {
         $about = $plugin->about();
         if ($about[3] && strpos($name, "example") === FALSE) {
             if (in_array($name, $system_enabled)) {
                 $checked = "checked='1'";
             } else {
                 $checked = "";
             }
             print "<tr>";
             print "<td align='center'><input disabled='1'\n\t\t\t\t\t\tdojoType=\"dijit.form.CheckBox\" {$checked}\n\t\t\t\t\t\ttype=\"checkbox\"></td>";
             print "<td>{$name}</td>";
             print "<td>" . htmlspecialchars($about[1]) . "</td>";
             print "<td>" . htmlspecialchars(sprintf("%.2f", $about[0])) . "</td>";
             print "<td>" . htmlspecialchars($about[2]) . "</td>";
             if (count($tmppluginhost->get_all($plugin)) > 0) {
                 if (in_array($name, $system_enabled)) {
                     print "<td><a href='#' onclick=\"clearPluginData('{$name}')\"\n\t\t\t\t\t\t\tclass='visibleLink'>" . __("Clear data") . "</a></td>";
                 }
             }
             print "</tr>";
         }
     }
     print "<tr><td colspan='4'><h3>" . __("User plugins") . "</h3></td></tr>";
     print "<tr class=\"title\">\n\t\t\t\t<td width=\"5%\">&nbsp;</td>\n\t\t\t\t<td width='10%'>" . __('Plugin') . "</td>\n\t\t\t\t<td width=''>" . __('Description') . "</td>\n\t\t\t\t<td width='5%'>" . __('Version') . "</td>\n\t\t\t\t<td width='10%'>" . __('Author') . "</td></tr>";
     foreach ($tmppluginhost->get_plugins() as $name => $plugin) {
         $about = $plugin->about();
         if (!$about[3] && strpos($name, "example") === FALSE) {
             if (in_array($name, $system_enabled)) {
                 $checked = "checked='1'";
                 $disabled = "disabled='1'";
                 $rowclass = '';
             } else {
                 if (in_array($name, $user_enabled)) {
                     $checked = "checked='1'";
                     $disabled = "";
                     $rowclass = "Selected";
                 } else {
                     $checked = "";
                     $disabled = "";
                     $rowclass = '';
                 }
             }
             print "<tr class='{$rowclass}'>";
             print "<td align='center'><input id='FPCHK-{$name}' name='plugins[]' value='{$name}' onclick='toggleSelectRow2(this);'\n\t\t\t\t\tdojoType=\"dijit.form.CheckBox\" {$checked} {$disabled}\n\t\t\t\t\ttype=\"checkbox\"></td>";
             print "<td><label for='FPCHK-{$name}'>{$name}</label></td>";
             print "<td><label for='FPCHK-{$name}'>" . htmlspecialchars($about[1]) . "</label></td>";
             print "<td>" . htmlspecialchars(sprintf("%.2f", $about[0])) . "</td>";
             print "<td>" . htmlspecialchars($about[2]) . "</td>";
             if (count($tmppluginhost->get_all($plugin)) > 0) {
                 if (in_array($name, $system_enabled) || in_array($name, $user_enabled)) {
                     print "<td><a href='#' onclick=\"clearPluginData('{$name}')\" class='visibleLink'>" . __("Clear data") . "</a></td>";
                 }
             }
             print "</tr>";
         }
     }
     print "</table>";
     print "<p><button dojoType=\"dijit.form.Button\" type=\"submit\">" . __("Enable selected plugins") . "</button></p>";
     print "</form>";
     print "</div>";
     #pane
     global $pluginhost;
     $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB, "hook_prefs_tab", "prefPrefs");
     print "</div>";
     #container
 }
        </tr>' . '
        <tr>
          <td><label>' . translate('Include link in menu') . ':</label></td>
          <td>' . print_radio('show_in_trailer', '', '', !empty($report_show_in_menu) && ($report_show_in_menu == 'Y' ? 'Y' : 'N')) . '</td>
        </tr>' : '') . '
        <tr>
          <td><label>' . translate('Include standard header/trailer') . ':</label></td>
          <td>' . print_radio('include_header', '', '', !empty($report_include_header) && ($report_include_header == 'Y' ? 'Y' : 'N')) . '</td>
        </tr>
        <tr>
          <td><label>' . translate('Include previous/next links') . ':</label></td>
          <td>' . print_radio('allow_nav', '', '', !empty($report_allow_nav) && ($report_allow_nav == 'Y' ? 'Y' : 'N')) . '</td>
        </tr>
        <tr>
          <td><label>' . translate('Include empty dates') . ':</label></td>
          <td>' . print_radio('include_empty', '', '', !empty($report_include_empty) && ($report_include_empty == 'Y' ? 'Y' : 'N')) . '</td>
        </tr>
        <tr>
          <td><label for="rpt_time_range">' . translate('Date range') . ':</label></td>
          <td>
            <select name="time_range" id="rpt_time_range">';
while (list($num, $descr) = each($ranges)) {
    echo '
              <option value="' . $num . '"' . ($report_time_range == $num ? $selected : '') . '>' . $descr . '</option>';
}
echo '
            </select>
          </td>
        </tr>';
if ($CATEGORIES_ENABLED == 'Y') {
    echo '
}
?>
><?php 
etranslate('Month (on same calendar)');
?>
</option>
      </select>&nbsp;
  </td></tr>

<?php 
if ($is_admin) {
    $defIdx = !empty($viewisglobal) && $viewisglobal == 'Y' ? 'Y' : 'N';
    echo '<tr><td><label>' . translate('Global') . ":</label></td>\n<td>" . print_radio('is_global', '', '', $defIdx, '</td><td>') . "</td></tr>\n";
}
$defIdx = !empty($all_users) && $all_users == true ? 'Y' : 'N';
echo '<tr><td><label>' . translate('Users') . ":</label></td>\n<td>" . print_radio('viewuserall', array('N' => 'Selected', 'Y' => 'All'), 'usermode_handler', $defIdx, '</td><td>') . "</td></tr>\n";
?>

<tr><td colspan="4">
<div id="viewuserlist">
&nbsp;&nbsp;
 <select name="users[]" id="viewusers" size="10" multiple="multiple">
<?php 
// get list of all users
$users = get_my_users('', 'view');
if ($NONUSER_ENABLED == 'Y') {
    $nonusers = get_my_nonusers($user, true, 'view');
    $users = $NONUSER_AT_TOP == 'Y' ? array_merge($nonusers, $users) : array_merge($users, $nonusers);
}
for ($i = 0, $cnt = count($users); $i < $cnt; $i++) {
    $u = $users[$i]['cal_login'];
Example #8
0
  <?php 
        $defIdx = !empty($uis_admin) && $uis_admin == 'Y' ? 'Y' : 'N';
        echo print_radio('uis_admin', '', '', $defIdx);
        ?>
 </td></tr>
 <?php 
        if (!empty($admin_can_disable_user) && ($admin_can_disable_user = true)) {
            ?>
 <tr><td class="bold">
  <?php 
            etranslate('Enabled');
            ?>
:</td><td>
  <?php 
            $defIdx = !empty($uenabled) && $uenabled == 'N' ? 'N' : 'Y';
            echo print_radio('uenabled', '', '', $defIdx);
            ?>
 </td></tr>
 <?php 
        } else {
            ?>
    <input type="hidden" name="uenabled" value="Y" />
 <?php 
        }
        //end test $admin_can_disable_user
    } else {
        if ($is_admin) {
            ?>
  <input type="hidden" name="uis_admin" value="Y" />
  <input type="hidden" name="u_enabled" value="Y" />
<?php 
Example #9
0
 function index()
 {
     global $access_level_names;
     $prefs_blacklist = array("HIDE_READ_FEEDS", "FEEDS_SORT_BY_UNREAD", "STRIP_UNSAFE_TAGS");
     $profile_blacklist = array("ALLOW_DUPLICATE_POSTS", "PURGE_OLD_DAYS", "PURGE_UNREAD_ARTICLES", "DIGEST_ENABLE", "DIGEST_CATCHUP", "BLACKLISTED_TAGS", "ENABLE_API_ACCESS", "UPDATE_POST_ON_CHECKSUM_CHANGE", "DEFAULT_UPDATE_INTERVAL", "USER_TIMEZONE", "SORT_HEADLINES_BY_FEED_DATE", "SSL_CERT_SERIAL", "DIGEST_PREFERRED_TIME");
     $_SESSION["prefs_op_result"] = "";
     print "<div dojoType=\"dijit.layout.AccordionContainer\" region=\"center\">";
     print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"" . __('Personal data / Authentication') . "\">";
     print "<form dojoType=\"dijit.form.Form\" id=\"changeUserdataForm\">";
     print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\">\n\t\tevt.preventDefault();\n\t\tif (this.validate()) {\n\t\t\tnotify_progress('Saving data...', true);\n\n\t\t\tnew Ajax.Request('backend.php', {\n\t\t\t\tparameters: dojo.objectToQuery(this.getValues()),\n\t\t\t\tonComplete: function(transport) {\n\t\t\t\t\tnotify_callback2(transport);\n\t\t\t} });\n\n\t\t}\n\t\t</script>";
     print "<table width=\"100%\" class=\"prefPrefsList\">";
     $result = db_query($this->link, "SELECT email,full_name,\n\t\t\taccess_level FROM ttrss_users\n\t\t\tWHERE id = " . $_SESSION["uid"]);
     $email = htmlspecialchars(db_fetch_result($result, 0, "email"));
     $full_name = htmlspecialchars(db_fetch_result($result, 0, "full_name"));
     print "<tr><td width=\"40%\">" . __('Full name') . "</td>";
     print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" name=\"full_name\" required=\"1\"\n\t\t\tvalue=\"{$full_name}\"></td></tr>";
     print "<tr><td width=\"40%\">" . __('E-mail') . "</td>";
     print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" name=\"email\" required=\"1\" value=\"{$email}\"></td></tr>";
     if (!SINGLE_USER_MODE && !(ALLOW_REMOTE_USER_AUTH && AUTO_LOGIN)) {
         $access_level = db_fetch_result($result, 0, "access_level");
         print "<tr><td width=\"40%\">" . __('Access level') . "</td>";
         print "<td>" . $access_level_names[$access_level] . "</td></tr>";
     }
     print "</table>";
     print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pref-prefs\">";
     print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"changeemail\">";
     print "<p><button dojoType=\"dijit.form.Button\" type=\"submit\">" . __("Save data") . "</button>";
     print "</form>";
     if (!SINGLE_USER_MODE && !(ALLOW_REMOTE_USER_AUTH && AUTO_LOGIN)) {
         $result = db_query($this->link, "SELECT id FROM ttrss_users\n\t\t\t\tWHERE id = " . $_SESSION["uid"] . " AND pwd_hash\n\t\t\t\t= 'SHA1:5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8'");
         if (db_num_rows($result) != 0) {
             print format_warning(__("Your password is at default value, please change it."), "default_pass_warning");
         }
         print "<form dojoType=\"dijit.form.Form\">";
         print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\">\n\t\t\tevt.preventDefault();\n\t\t\tif (this.validate()) {\n\t\t\t\tnotify_progress('Changing password...', true);\n\n\t\t\t\tnew Ajax.Request('backend.php', {\n\t\t\t\t\tparameters: dojo.objectToQuery(this.getValues()),\n\t\t\t\t\tonComplete: function(transport) {\n\t\t\t\t\t\tnotify('');\n\t\t\t\t\t\tif (transport.responseText.indexOf('ERROR: ') == 0) {\n\t\t\t\t\t\t\tnotify_error(transport.responseText.replace('ERROR: ', ''));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnotify_info(transport.responseText);\n\t\t\t\t\t\t\tvar warn = \$('default_pass_warning');\n\t\t\t\t\t\t\tif (warn) Element.hide(warn);\n\t\t\t\t\t\t}\n\t\t\t\t}});\n\t\t\t\tthis.reset();\n\t\t\t}\n\t\t\t</script>";
         print "<table width=\"100%\" class=\"prefPrefsList\">";
         print "<tr><td width=\"40%\">" . __("Old password") . "</td>";
         print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" type=\"password\" required=\"1\" name=\"old_password\"></td></tr>";
         print "<tr><td width=\"40%\">" . __("New password") . "</td>";
         print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" type=\"password\" required=\"1\"\n\t\t\t\tname=\"new_password\"></td></tr>";
         print "<tr><td width=\"40%\">" . __("Confirm password") . "</td>";
         print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" type=\"password\" required=\"1\" name=\"confirm_password\"></td></tr>";
         print "</table>";
         print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pref-prefs\">";
         print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"changepassword\">";
         print "<p><button dojoType=\"dijit.form.Button\" type=\"submit\">" . __("Change password") . "</button>";
         print "</form>";
     }
     print "</div>";
     #pane
     print "<div dojoType=\"dijit.layout.AccordionPane\" selected=\"true\" title=\"" . __('Preferences') . "\">";
     print "<form dojoType=\"dijit.form.Form\" id=\"changeSettingsForm\">";
     print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\">\n\t\tevt.preventDefault();\n\t\tif (this.validate()) {\n\t\t\tconsole.log(dojo.objectToQuery(this.getValues()));\n\n\t\t\tnew Ajax.Request('backend.php', {\n\t\t\t\tparameters: dojo.objectToQuery(this.getValues()),\n\t\t\t\tonComplete: function(transport) {\n\t\t\t\t\tvar msg = transport.responseText;\n\t\t\t\t\tif (msg.match('PREFS_THEME_CHANGED')) {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnotify_info(msg);\n\t\t\t\t\t}\n\t\t\t} });\n\t\t}\n\t\t</script>";
     print '<div dojoType="dijit.layout.BorderContainer" gutters="false">';
     print '<div dojoType="dijit.layout.ContentPane" region="center" style="overflow-y : auto">';
     if ($_SESSION["profile"]) {
         print_notice("Some preferences are only available in default profile.");
     }
     if ($_SESSION["profile"]) {
         initialize_user_prefs($this->link, $_SESSION["uid"], $_SESSION["profile"]);
         $profile_qpart = "profile = '" . $_SESSION["profile"] . "'";
     } else {
         initialize_user_prefs($this->link, $_SESSION["uid"]);
         $profile_qpart = "profile IS NULL";
     }
     $result = db_query($this->link, "SELECT DISTINCT\n\t\t\tttrss_user_prefs.pref_name,short_desc,help_text,value,type_name,\n\t\t\tsection_name,def_value,section_id\n\t\t\tFROM ttrss_prefs,ttrss_prefs_types,ttrss_prefs_sections,ttrss_user_prefs\n\t\t\tWHERE type_id = ttrss_prefs_types.id AND\n\t\t\t\t{$profile_qpart} AND\n\t\t\t\tsection_id = ttrss_prefs_sections.id AND\n\t\t\t\tttrss_user_prefs.pref_name = ttrss_prefs.pref_name AND\n\t\t\t\tshort_desc != '' AND\n\t\t\t\towner_uid = " . $_SESSION["uid"] . "\n\t\t\tORDER BY section_id,short_desc");
     $lnum = 0;
     $active_section = "";
     while ($line = db_fetch_assoc($result)) {
         if (in_array($line["pref_name"], $prefs_blacklist)) {
             continue;
         }
         if ($_SESSION["profile"] && in_array($line["pref_name"], $profile_blacklist)) {
             continue;
         }
         if ($active_section != $line["section_name"]) {
             if ($active_section != "") {
                 print "</table>";
             }
             print "<table width=\"100%\" class=\"prefPrefsList\">";
             $active_section = $line["section_name"];
             print "<tr><td colspan=\"3\"><h3>" . __($active_section) . "</h3></td></tr>";
             if ($line["section_id"] == 2) {
                 print "<tr><td width=\"40%\">" . __("Select theme") . "</td>";
                 $user_theme = get_pref($this->link, "_THEME_ID");
                 $themes = get_all_themes();
                 print "<td><select name=\"_THEME_ID\" dojoType=\"dijit.form.Select\">";
                 print "<option value='Default'>" . __('Default') . "</option>";
                 print "<option value='----------------' disabled=\"1\">--------</option>";
                 foreach ($themes as $t) {
                     $base = $t['base'];
                     $name = $t['name'];
                     if ($base == $user_theme) {
                         $selected = "selected=\"1\"";
                     } else {
                         $selected = "";
                     }
                     print "<option {$selected} value='{$base}'>{$name}</option>";
                 }
                 print "</select></td></tr>";
             }
             $lnum = 0;
         }
         print "<tr>";
         $type_name = $line["type_name"];
         $pref_name = $line["pref_name"];
         $value = $line["value"];
         $def_value = $line["def_value"];
         $help_text = $line["help_text"];
         print "<td width=\"40%\" class=\"prefName\" id=\"{$pref_name}\">" . __($line["short_desc"]);
         if ($help_text) {
             print "<div class=\"prefHelp\">" . __($help_text) . "</div>";
         }
         print "</td>";
         print "<td class=\"prefValue\">";
         if ($pref_name == "USER_TIMEZONE") {
             $timezones = explode("\n", file_get_contents("lib/timezones.txt"));
             print_select($pref_name, $value, $timezones, 'dojoType="dijit.form.FilteringSelect"');
         } else {
             if ($pref_name == "USER_STYLESHEET") {
                 print "<button dojoType=\"dijit.form.Button\"\n\t\t\t\t\tonclick=\"customizeCSS()\">" . __('Customize') . "</button>";
             } else {
                 if ($pref_name == "DEFAULT_ARTICLE_LIMIT") {
                     $limits = array(15, 30, 45, 60);
                     print_select($pref_name, $value, $limits, 'dojoType="dijit.form.Select"');
                 } else {
                     if ($pref_name == "DEFAULT_UPDATE_INTERVAL") {
                         global $update_intervals_nodefault;
                         print_select_hash($pref_name, $value, $update_intervals_nodefault, 'dojoType="dijit.form.Select"');
                     } else {
                         if ($type_name == "bool") {
                             if ($value == "true") {
                                 $value = __("Yes");
                             } else {
                                 $value = __("No");
                             }
                             if ($pref_name == "PURGE_UNREAD_ARTICLES" && FORCE_ARTICLE_PURGE != 0) {
                                 $disabled = "disabled=\"1\"";
                                 $value = __("Yes");
                             } else {
                                 $disabled = "";
                             }
                             print_radio($pref_name, $value, __("Yes"), array(__("Yes"), __("No")), $disabled);
                         } else {
                             if (array_search($pref_name, array('FRESH_ARTICLE_MAX_AGE', 'DEFAULT_ARTICLE_LIMIT', 'PURGE_OLD_DAYS', 'LONG_DATE_FORMAT', 'SHORT_DATE_FORMAT')) !== false) {
                                 $regexp = $type_name == 'integer' ? 'regexp="^\\d*$"' : '';
                                 if ($pref_name == "PURGE_OLD_DAYS" && FORCE_ARTICLE_PURGE != 0) {
                                     $disabled = "disabled=\"1\"";
                                     $value = FORCE_ARTICLE_PURGE;
                                 } else {
                                     $disabled = "";
                                 }
                                 print "<input dojoType=\"dijit.form.ValidationTextBox\"\n\t\t\t\t\trequired=\"1\" {$regexp} {$disabled}\n\t\t\t\t\tname=\"{$pref_name}\" value=\"{$value}\">";
                             } else {
                                 if ($pref_name == "SSL_CERT_SERIAL") {
                                     print "<input dojoType=\"dijit.form.ValidationTextBox\"\n\t\t\t\t\tid=\"SSL_CERT_SERIAL\" readonly=\"1\"\n\t\t\t\t\tname=\"{$pref_name}\" value=\"{$value}\">";
                                     $cert_serial = htmlspecialchars(get_ssl_certificate_id());
                                     $has_serial = $cert_serial ? "false" : "true";
                                     print " <button dojoType=\"dijit.form.Button\" disabled=\"{$has_serial}\"\n\t\t\t\t\tonclick=\"insertSSLserial('{$cert_serial}')\">" . __('Register') . "</button>";
                                     print " <button dojoType=\"dijit.form.Button\"\n\t\t\t\t\tonclick=\"insertSSLserial('')\">" . __('Clear') . "</button>";
                                 } else {
                                     if ($pref_name == 'DIGEST_PREFERRED_TIME') {
                                         print "<input dojoType=\"dijit.form.ValidationTextBox\"\n\t\t\t\t\tid=\"{$pref_name}\" regexp=\"[012]?\\d:\\d\\d\" placeHolder=\"12:00\"\n\t\t\t\t\tname=\"{$pref_name}\" value=\"{$value}\"><div class=\"insensitive\">" . T_sprintf("Current server time: %s (UTC)", date("H:i")) . "</div>";
                                     } else {
                                         $regexp = $type_name == 'integer' ? 'regexp="^\\d*$"' : '';
                                         print "<input dojoType=\"dijit.form.ValidationTextBox\"\n\t\t\t\t\t{$regexp}\n\t\t\t\t\tname=\"{$pref_name}\" value=\"{$value}\">";
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
         print "</td>";
         print "</tr>";
         $lnum++;
     }
     print "</table>";
     print '</div>';
     # inside pane
     print '<div dojoType="dijit.layout.ContentPane" region="bottom">';
     print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pref-prefs\">";
     print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"saveconfig\">";
     print "<button dojoType=\"dijit.form.Button\" type=\"submit\">" . __('Save configuration') . "</button> ";
     print "<button dojoType=\"dijit.form.Button\" onclick=\"return editProfiles()\">" . __('Manage profiles') . "</button> ";
     print "<button dojoType=\"dijit.form.Button\" onclick=\"return validatePrefsReset()\">" . __('Reset to defaults') . "</button>";
     print '</div>';
     # inner pane
     print '</div>';
     # border container
     print "</form>";
     print "</div>";
     #pane
     print "</div>";
     #container
 }
Example #10
0
function newaiadd($mode)
{
    global $fields;
    global $html_etc, $common_html, $custom_type;
    global $db, $return_sql_line, $columns;
    global $_POST, $_GET, $returnmodel;
    global $action_submit, $merge, $form_attribute;
    global $primary_key, $primarykey_index;
    global $_SESSION, $SUNSHINE_USER_NAME_VAR;
    $fields['other']['title'] = $common_html['common_html'][$mode];
    //print_R($html_etc);
    //如果为编辑和查看模型,则进行数据的初始化操作
    global $ADDINIT;
    if ($mode != 'add') {
        $SQL = $return_sql_line['select_sql'];
        //print_R($columns);exit;
        //print_R($html_etc['application']);
        //检测是否进行外来SQL语言执行
        global $NEWAIADD_VALUE_SYSTEM;
        if (strlen($NEWAIADD_VALUE_SYSTEM) > 10) {
            $SQL = $NEWAIADD_VALUE_SYSTEM;
        }
        //print $SQL;
        $result = $db->Execute($SQL);
        $rs_array = $result->GetArray();
        if (count($rs_array) == 0) {
            print_infor("找不到记录,可能已删除", 'trip', "close", "", 0);
            exit;
        }
        $fields['value'] = $rs_array[0];
    } else {
        $fields['value'] = $ADDINIT;
    }
    global $departprivte;
    //用户角色级别权限判断,如果是用户自身的记录则可以修改,
    //如果不是,那么沿用PRIVATE的权限进行管理
    //此区域部分在NEWAI_SQL部分有所复制
    if ($departprivte != "") {
        $departprivteSQLArray = array();
        $departprivteArray = explode('::', $departprivte);
        //print_R($departprivteArray);
        for ($i = 0; $i < sizeof($departprivteArray); $i++) {
            $privText = $departprivteArray[$i];
            $privTextArray = explode(':', $privText);
            switch ($privTextArray[0]) {
                case 'user':
                    $ColumnIndex1 = $privTextArray[1];
                    $USER_NAME = $_SESSION[$SUNSHINE_USER_NAME_VAR];
                    $ColumnName1 = $columns[$ColumnIndex1];
                    if ($ColumnName1 != "" && $fields['value'][$ColumnName1] != "") {
                        if ($USER_NAME == $fields['value'][$ColumnName1]) {
                            $SYSTEM_PRIVATE_USER_DEFINE_CONTROL = 0;
                        } else {
                            $SYSTEM_PRIVATE_USER_DEFINE_CONTROL = 1;
                        }
                    } else {
                        $SYSTEM_PRIVATE_USER_DEFINE_CONTROL = 0;
                    }
                    break;
            }
            //end swtich
        }
        //end for
    }
    //exit;
    //print $SYSTEM_PRIVATE_USER_DEFINE_CONTROL;
    //print $fields['value'][$ColumnName1];
    //print_R($fields['USER_PRIVATE']);
    //-------------------------------------------------------------------
    //附加的EMAIL控制部分,可以删除
    switch ($_GET['action']) {
        case 'edit_reply':
            $fields['form']['action'] = 'action=add_outbox_data';
            break;
        case 'edit_forward':
            $fields['form']['action'] = 'action=add_outbox_data';
            break;
    }
    //加载JS的条件判断代码,主要用于数据新增和编辑时较验数据的格式是否合格
    $tablename = $fields['table']['name'];
    $realtablename = $fields['realtable'];
    if ($form_attribute != 'hidden') {
        if (is_file("../../Enginee/lib/CheckValue.js")) {
            print "<script language = \"JavaScript\"> ";
            print join('', file("../../Enginee/lib/CheckValue.js"));
            print "</script>";
        } else {
            print "<script language = \"JavaScript\"> ";
            print join('', file("../Enginee/lib/CheckValue.js"));
            print "</script>";
        }
        form_begin($fields['form']['name'], $fields['form']['action'], 'post', $fields['null']);
        //单位修改界面表单 by cwf
        //<form name=$name id=form onsubmit=\"return FormCheck();\" \n action=\"$PHP_SELF?$action&pageid=".$_GET['pageid']."\" method=$method encType=multipart/form-data>
        //        echo $fields['form']['action'];//by cwf 'pageid=1&action=edit_default_data&id=1'
    }
    global $tablewidth;
    $tablewidth = $tablewidth != "" ? $tablewidth : 450;
    table_begin($tablewidth);
    switch ($_GET['action']) {
        case 'edit_reply':
            $fields['other']['title'] = $common_html['common_html']['reply'] . " " . $common_html['common_html'][$tablename];
            break;
        case 'edit_forward':
            $fields['other']['title'] = $common_html['common_html']['reply'] . " " . $common_html['common_html'][$tablename];
            break;
        default:
            $fields['other']['title'] = $fields['other']['title'] . " " . $common_html['common_html'][$tablename];
    }
    global $tabletitle;
    switch ($db->databaseType) {
        case 'mysql':
        case 'mssql':
        default:
            break;
        case 'oracle':
            $tabletitle = strtoupper($tabletitle);
            break;
    }
    global $print_title;
    $print_title = $tabletitle != "" ? $html_etc[$tablename][$tabletitle] : $fields['other']['title'];
    print_title($print_title, 6);
    //操作按钮提交
    switch ($mode) {
        case 'add':
        case 'edit':
            show_submit_element($action_submit, 'left');
            //“保存”和“返回”按钮,此函数定义在newai.php中
            break;
        case 'view':
            show_submit_element($action_submit, 'left');
            break;
    }
    //数据的下载及合并,用途:FILE操作部分,可以删除
    //merge -- begin
    if ($merge != '') {
        $merge_array = explode(':', $merge);
        //print $merge;
        $index_array_temp = explode(',', $merge_array[1]);
        $id = $columns['' . $index_array_temp[0] . ''];
        $name = $columns['' . $index_array_temp[1] . ''];
        $array_pop = array_pop($fields['name']);
        $fields['value'][$id] = returnfileurl($fields['value'][$id], $fields['value'][$name]);
    }
    //merge --  end
    //此部分设计为权限部分设计:事业部总监和营销专员的的权限设计
    $SYSTEM_FILTER_ARRAY = returnPrivateTwoInit();
    $USER_PRIV_ID = $_SESSION['SUNSHINE_USER_PRIV'];
    $DEPT_INFOR = $_SESSION['SUNSHINE_USER_DEPT'];
    $USER_INFOR = $_SESSION['SUNSHINE_USER_NAME'];
    $RecordDEPT = $SYSTEM_FILTER_ARRAY['CheckFieldNameDEPT'];
    $RecordDEPT = $columns[$RecordDEPT];
    $RecordUser = $SYSTEM_FILTER_ARRAY['CheckFieldNameUSER'];
    $RecordUser = $columns[$RecordUser];
    //$USER_PRIV = returntablefield("user_priv","USER_PRIV",$USER_PRIV_ID,"PRIV_NO");
    //print $USER_PRIV=5;
    //print_R($fields['USER_PRIVATE']);
    //############################################################
    //是否引入图片放大
    $ifincludemaginfier = false;
    global $colflag;
    //print_R($fields['USER_PRIVATE']);
    //数据显示区域部分,用于整个数据的主体部分
    $colflag = 0;
    for ($i = 0; $i < sizeof($fields['name']); $i++) {
        $fieldname = trim($fields['name'][$i]);
        $fieldfilter = trim($fields['filter'][$i]);
        $notnull = trim($fields['null'][$i]['inputtype']);
        $notnull == 'notnull' ? $notnulltext = $common_html['common_html']['mustinput'] : ($notnulltext = '');
        $colflag = $colflag + 1;
        if ($colflag > 2) {
            $colflag = 1;
        }
        //上一行是单元格
        if ($colflag == 2 && $i > 0 && ($fields['filter'][$i - 1] == "htmlarea" || $fields['filter'][$i - 1] == "textarea")) {
            $colflag = 1;
        }
        //处在最后一行左边
        if ($colflag == 1 && $i == sizeof($fields['name']) - 1) {
            $colflag = 0;
        }
        //下一行是宽单元格
        if ($colflag == 1 && $i < sizeof($fields['name']) - 1 && ($fields['filter'][$i + 1] == "htmlarea" || $fields['filter'][$i + 1] == "textarea")) {
            $colflag = 0;
        }
        $fieldfilter_array = explode(':', $fieldfilter);
        $fieldfilter = trim($fieldfilter_array[0]);
        //用户定义角色权限,是否为只读(可写)选项
        //如用用户定义可写,那么重新调整为可写, 如果非自身记录,则沿用系统设定
        if ($ColumnName1 != "") {
            //判断是否要对用户验证进行操作
            $SYSTEM_PRIVATE_USER_DEFINE_CONTROL == 0 ? $fields['USER_PRIVATE'][$fieldname] = '' : '';
        }
        //数据过滤行为
        //$ShowElement = returnPrivateTwoArray($SYSTEM_FILTER_ARRAY,$USER_PRIV,$fieldname,$fields['value'][$fieldname],$fields['value'][$RecordDEPT],$fields['value'][$RecordUser]);
        //if($ShowElement!="***")					{
        if (1) {
            //2010-6-14 11:20替换以前旧的判断方式
            switch (TRIM($fieldfilter)) {
                case 'email':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $inputsize = $fields['inputsize'][$fieldname];
                            if ($inputsize == "" || $inputsize == 0) {
                                $inputsize = $fields['other']['inputsize'];
                            }
                            print_tr($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $inputsize, $fields['other']['inputcols'], $fields['other']['class'], $notnulltext, 'text', '', $i + 1, "email");
                            break;
                        case 'view':
                            $linkman = '';
                            $fromsrc = '';
                            if ($fields['tablename'] == 'linkman') {
                                $fromsrc = 'customer';
                                $linkman = gettablefield($fields['tablename'], 'email', 'rowid', $fields['value'][$fieldname]);
                            } else {
                                if ($fields['tablename'] == 'supplylinkman') {
                                    $fromsrc = 'supply';
                                    $linkman = gettablefield($fields['tablename'], 'email', 'rowid', $fields['value'][$fieldname]);
                                } else {
                                    $linkman = $fields['value'][$fieldname];
                                    $fromsrc = '';
                                }
                            }
                            $addicon = "<img src='" . ROOT_DIR . "general/ERP/Framework/images/menu/gif-0037.gif' title='点击链接发送邮件'>";
                            if ($fields['value'][$fieldname] != '') {
                                $fields['value'][$fieldname] = "<a href='../CRM/email_newai.php?" . base64_encode("action=add_default&sendlist=" . $linkman . "&fromsrc=" . $fromsrc) . "' target='_blank' >" . $addicon . $fields['value'][$fieldname] . "</a>";
                            }
                            $i < 5 ? $colspan = 2 : ($colspan = 2);
                            $i == 1 ? '' : ($system_picture_line = '');
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    break;
                case 'mobile':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $inputsize = $fields['inputsize'][$fieldname];
                            if ($inputsize == "" || $inputsize == 0) {
                                $inputsize = $fields['other']['inputsize'];
                            }
                            print_tr($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $inputsize, $fields['other']['inputcols'], $fields['other']['class'], $notnulltext, 'text', '', $i + 1, "mobile");
                            break;
                        case 'view':
                            $addicon = "<img  src='" . ROOT_DIR . "general/ERP/Framework/images/menu/gif-0348.gif' title='点击号码发送短信'>";
                            if ($fields['value'][$fieldname] != '') {
                                $fields['value'][$fieldname] = "<a href='../JXC/sms_sendlist_newai.php?" . base64_encode("action=add_default&sendlist=" . $fields['value'][$fieldname]) . "' target='_blank'>" . $addicon . $fields['value'][$fieldname] . "</a>";
                            }
                            $i < 5 ? $colspan = 2 : ($colspan = 2);
                            $i == 1 ? '' : ($system_picture_line = '');
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    break;
                case 'barcode':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $inputsize = $fields['inputsize'][$fieldname];
                            if ($inputsize == "" || $inputsize == 0) {
                                $inputsize = $fields['other']['inputsize'];
                            }
                            print_tr($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $inputsize, $fields['other']['inputcols'], $fields['other']['class'], $notnulltext, 'text', '', $i + 1, "barcode");
                            break;
                        case 'view':
                            $addicon = "<img  src='" . ROOT_DIR . "general/ERP/Framework/images/menu/gif-0348.gif' title='点击号码发送短信'>";
                            if ($fields['value'][$fieldname] != '') {
                                $fields['value'][$fieldname] = "<a href='../JXC/sms_sendlist_newai.php?" . base64_encode("action=add_default&sendlist=" . $fields['value'][$fieldname]) . "' target='_blank'>" . $addicon . $fields['value'][$fieldname] . "</a>";
                            }
                            $i < 5 ? $colspan = 2 : ($colspan = 2);
                            $i == 1 ? '' : ($system_picture_line = '');
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    break;
                case 'qq':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $inputsize = $fields['inputsize'][$fieldname];
                            if ($inputsize == "" || $inputsize == 0) {
                                $inputsize = $fields['other']['inputsize'];
                            }
                            print_tr($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $inputsize, $fields['other']['inputcols'], $fields['other']['class'], $notnulltext, 'text', '', $i + 1, "qq");
                            break;
                        case 'view':
                            $fields['value'][$fieldname] = !empty($fields['value'][$fieldname]) ? "<a target=\"_blank\" href=\"http://wpa.qq.com/msgrd?v=3&amp;uin=" . $fields['value'][$fieldname] . "&amp;site=qq&amp;menu=yes\"><img border=\"0\" src=\"http://wpa.qq.com/pa?p=2:" . $fields['value'][$fieldname] . ":45\" onerror=\"this.src='" . ROOT_DIR . "general/ERP/Framework/images/help3.gif';this.title='此QQ号码可能不存在'\" title=\"点击这里发消息\">" . $fields['value'][$fieldname] . "</a>" : '';
                            $i < 5 ? $colspan = 2 : ($colspan = 2);
                            $i == 1 ? '' : ($system_picture_line = '');
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    break;
                case 'url':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $inputsize = $fields['inputsize'][$fieldname];
                            if ($inputsize == "" || $inputsize == 0) {
                                $inputsize = $fields['other']['inputsize'];
                            }
                            print_tr($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $inputsize, $fields['other']['inputcols'], $fields['other']['class'], $notnulltext, 'text', '', $i + 1, "url");
                            break;
                        case 'view':
                            $urlwangzhi = $fields['value'][$fieldname];
                            $flag = stripos($fields['value'][$fieldname], "http://");
                            if ($flag === false) {
                                $urlwangzhi = "http://" . $urlwangzhi;
                            }
                            $addicon = "<img  src='" . ROOT_DIR . "general/ERP/Framework/images/menu/gif-0668.gif' title='点击链接打开网址'>";
                            if ($fields['value'][$fieldname] != '') {
                                $fields['value'][$fieldname] = "<a href='" . $urlwangzhi . "' target='_blank'>" . $addicon . $fields['value'][$fieldname] . "</a>";
                            }
                            $i < 5 ? $colspan = 2 : ($colspan = 2);
                            $i == 1 ? '' : ($system_picture_line = '');
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    break;
                case 'city':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $inputsize = $fields['inputsize'][$fieldname];
                            if ($inputsize == "" || $inputsize == 0) {
                                $inputsize = $fields['other']['inputsize'];
                            }
                            print_city($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]));
                            break;
                        case 'view':
                            $shengcode = substr($fields['value'][$fieldname], 0, 2);
                            $shengcode .= "0000";
                            $shengcode = returntablefield("customerarea", "rowid", $shengcode, "name");
                            $citycode = substr($fields['value'][$fieldname], 0, 4);
                            $citycode .= "00";
                            $citycode = returntablefield("customerarea", "rowid", $citycode, "name");
                            $towncode = returntablefield("customerarea", "rowid", $fields['value'][$fieldname], "name");
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $shengcode . $citycode . $towncode);
                            break;
                    }
                    break;
                case 'account':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            print_account($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]));
                            break;
                    }
                    break;
                case '':
                case 'input':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $pattern = $fields['INPUT_TEXT'][$fieldname];
                            $inputsize = $fields['inputsize'][$fieldname];
                            if ($inputsize == "" || $inputsize == 0) {
                                $inputsize = $fields['other']['inputsize'];
                            }
                            print_tr($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $inputsize, $fields['other']['inputcols'], $fields['other']['class'], $notnulltext, 'text', '', $i + 1, $pattern);
                            //exit;
                            break;
                        case 'view':
                            $i < 5 ? $colspan = 2 : ($colspan = 2);
                            $i == 1 ? '' : ($system_picture_line = '');
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    break;
                case 'hidden':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            //print_R($fields['inputsize']);exit;
                            $inputsize = $fields['inputsize'][$fieldname];
                            if ($inputsize == "" || $inputsize == 0) {
                                $inputsize = $fields['other']['inputsize'];
                            }
                            print_notshow($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $inputsize, $fields['other']['inputcols'], $fields['other']['class'], $notnulltext, 'text', '', $i + 1);
                            //exit;
                            break;
                        case 'view':
                            $i < 5 ? $colspan = 2 : ($colspan = 2);
                            $i == 1 ? '' : ($system_picture_line = '');
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    break;
                case 'nowshow':
                case 'notshow':
                    break;
                case 'bigrmb':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            break;
                        case 'view':
                            $i < 5 ? $colspan = 2 : ($colspan = 2);
                            $i == 1 ? '' : ($system_picture_line = '');
                            $MoneyValue = trim($fields['value'][$fieldname]);
                            if ($MoneyValue == 0) {
                                $FieldValueTemp = "<font color=green>0</font>";
                            } else {
                                $FieldValueTemp = "<font color=red>" . $MoneyValue . "</font> (" . num2rmb($MoneyValue) . ")";
                            }
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $FieldValueTemp, $colspan);
                            break;
                    }
                    break;
                case 'number':
                    switch ($mode) {
                        case 'add':
                            $_GET[$fieldname] = $fields['INPUT_TEXT'][$fieldname];
                        case 'edit':
                            $inputsize = $fields['inputsize'][$fieldname];
                            if ($inputsize == "" || $inputsize == 0) {
                                $inputsize = $fields['other']['inputsize'];
                            }
                            print_tr($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $inputsize, $fields['other']['inputcols'], $fields['other']['class'], $notnulltext, 'text', '', $i + 1, "Number");
                            $custom_type = "";
                            break;
                        case 'view':
                            $i < 5 ? $colspan = 2 : ($colspan = 2);
                            $i == 1 ? '' : ($system_picture_line = '');
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $colspan);
                            break;
                    }
                    break;
                case 'money':
                    switch ($mode) {
                        case 'add':
                            $_GET[$fieldname] = $fields['INPUT_TEXT'][$fieldname];
                        case 'edit':
                            $inputsize = $fields['inputsize'][$fieldname];
                            if ($inputsize == "" || $inputsize == 0) {
                                $inputsize = $fields['other']['inputsize'];
                            }
                            print_tr($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $inputsize, $fields['other']['inputcols'], $fields['other']['class'], $notnulltext, 'text', '', $i + 1, "Money");
                            $custom_type = "";
                            break;
                        case 'view':
                            $i < 5 ? $colspan = 2 : ($colspan = 2);
                            $i == 1 ? '' : ($system_picture_line = '');
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $colspan);
                            break;
                    }
                    break;
                case 'autoincrement':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            print_tr_auto_increment($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['inputcols']);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]));
                            break;
                    }
                    break;
                case 'autoincrementdate':
                    switch ($mode) {
                        case 'add':
                            print_tr_auto_incrementdate($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['inputcols'], $fields['INPUT_TEXT'][$fieldname]);
                            break;
                        case 'edit':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]));
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $colspan);
                            break;
                    }
                    break;
                case 'readonly':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            print_tr($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['inputsize'], $fields['other']['inputcols'], 'SmallStatic', "", 'text', 'readonly');
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $colspan);
                            break;
                    }
                    break;
                case 'readonlytextarea':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            //print_R($fields['other']['textarea']);
                            //print $notnulltext;
                            print_textarea_readonly($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['textarea'][$fieldname]['rows'], $fields['other']['textarea'][$fieldname]['cols'], $fields['other']['inputcols'], $notnulltext);
                            break;
                        case 'view':
                            print_text_text($html_etc[$tablename][$fieldname] . ":", nl2br(stripslashes(trim($fields['value'][$fieldname]))));
                            break;
                    }
                    break;
                case 'readonlymulti':
                    switch ($mode) {
                        case 'edit':
                            //print_R($fields['other']['textarea']);
                            //print $notnulltext;
                            print_textarea_mluti_readonly($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['textarea'][$fieldname]['rows'], $fields['other']['textarea'][$fieldname]['cols'], $fields['other']['inputcols'], $notnulltext);
                            break;
                    }
                    break;
                case 'password':
                case 'password_simple':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            print_tr($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['inputsize'] + 4, $fields['other']['inputcols'], $fields['other']['class'], "", 'password');
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", "******", $colspan);
                            break;
                    }
                    break;
                case 'textarea':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            //print_R($fields['other']['textarea']);
                            print_textarea($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['textarea'][$fieldname]['rows'], $fields['other']['textarea'][$fieldname]['cols'], $fields['other']['inputcols'], $notnulltext, $fields['other']['textarea'][$fieldname]['other']);
                            break;
                        case 'view':
                            print_text_text($html_etc[$tablename][$fieldname] . ":", nl2br(stripslashes(trim($fields['value'][$fieldname]))));
                            break;
                    }
                    break;
                case 'spacetime':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            print_select_spacetime($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]));
                            break;
                        case 'view':
                            print_select_spacetime($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]));
                            break;
                    }
                    break;
                case 'htmlarea':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            print_htmlarea($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['textarea']['rows'], $fields['other']['textarea']['cols'], $fields['other']['inputcols']);
                            break;
                        case 'view':
                            print_text_html($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]));
                            break;
                    }
                    break;
                case 'idtoname_user':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            break;
                        case 'view':
                            $filtervalue = idtoname(trim($fields['value'][$fieldname]), 'user');
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $filtervalue, $colspan);
                            break;
                    }
                    break;
                case 'purview':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            print_purview($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['textarea']['rows'], $fields['other']['textarea']['cols'], $fields['other']['inputcols']);
                            break;
                        case 'view':
                            break;
                    }
                    break;
                case 'avatar':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            print_avatar($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['inputsize'], $fields['other']['inputcols'], $fields['other']['class'], "");
                            break;
                        case 'view':
                            print_text_avatar($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), 2);
                            break;
                    }
                    break;
                case 'file':
                    switch ($mode) {
                        case 'add':
                            print_file($html_etc[$tablename][$fieldname] . ":", $fieldname);
                            break;
                        case 'edit':
                            //print_file($html_etc[$tablename][$fieldname].":",$fieldname);
                            break;
                        case 'view':
                            break;
                    }
                    break;
                case 'singlefile':
                    switch ($mode) {
                        case 'add':
                            print_singlefile($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['inputsize'], $fields['other']['inputcols']);
                            break;
                        case 'edit':
                            print_singlefile($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['inputsize'], $fields['other']['inputcols']);
                            break;
                        case 'view':
                            $var_value = trim($fields['value'][$fieldname]);
                            if ($var_value != "") {
                                $var_value = ereg_replace("&amp;", "&", $var_value);
                                //print $var_value;
                                $parse_url = parse_url($var_value);
                                $query = $parse_url['query'];
                                parse_str($query, $output);
                                $attachmentid = $output['attachmentid'];
                                $attachmentname = $output['attachmentname'];
                                //$attachmentid = $output['attachmentname'];
                                //print_R($parse_url);
                                $filename_newfile = "../../attachment/{$attachmentid}/{$attachmentname}";
                                if (is_file($filename_newfile)) {
                                    $filtervalue = trim($fields['value'][$fieldname]);
                                    $filtervalue_file = explode('=', $filtervalue);
                                    $filtervalue_sizeof = sizeof($filtervalue_file) - 1;
                                    $filename = $filtervalue_file[$filtervalue_sizeof];
                                    $filtervalue = "<a href='" . $filtervalue . "'>{$filename}</a>";
                                }
                            }
                            //print $downloadfile = trim($fields['value'][$fieldname]);
                            //if(is_file($downloadfile))		{
                            //print $file_path="<img src=\"../../Framework/images/downloads.gif\" border=0 width=172>\n";
                            //print "<a href='$downloadfile'>下载文件</a>";
                            //$nopicture_path="<img src=\"images/logo_sndg.gif\" border=0 width=172>\n";
                            //is_file(trim($fields['value'][$fieldname]))?$system_picture_line=$file_path:$system_picture_line=$nopicture_path;
                            //}
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $filtervalue);
                            break;
                    }
                    //idnumfile
                    break;
                case 'picturefile':
                    switch ($mode) {
                        case 'add':
                            print_picturefile($html_etc[$tablename][$fieldname] . ":", $fieldname, '', $fields['other']['inputsize']);
                            break;
                        case 'edit':
                            print_picturefile($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['inputsize'], $fields['other']['inputcols']);
                            break;
                        case 'view':
                            $PicturePath = $fields['value'][$fieldname];
                            if ($PicturePath != "" && strlen($PicturePath) > 10) {
                                if (!$ifincludemaginfier) {
                                    print "<script type=\"text/javascript\" language=\"javascript\" src=\"" . ROOT_DIR . "general/ERP/Enginee/jquery/jquery.js\"></script>";
                                    print "<script type=\"text/javascript\" language=\"javascript\" src=\"" . ROOT_DIR . "general/ERP/Enginee/jquery/jquery.magnifier.js\"></script>";
                                    $ifincludemaginfier = true;
                                }
                                $file_path = "<img src='" . $PicturePath . "' width=32  class=\"magnify\"  data-magnifyto=\"500\" onmouseover=\"this.style.cursor='pointer';this.style.cursor='hand'\" onmouseout=\"this.style.cursor='default'\">";
                                //$file_path="<a href='$PicturePath'><img src='".$PicturePath."' border=0 width=120></a>";
                            } else {
                                $file_path = "";
                            }
                            print_image_view($html_etc[$tablename][$fieldname], $file_path, $width = '120');
                            break;
                    }
                    //idnumfile
                    break;
                case 'tdoafile':
                    require_once 'lib/utility_file.php';
                    //print $fields['other']['inputcols'];
                    switch ($mode) {
                        case 'add':
                            print_tdoafile($html_etc[$tablename][$fieldname] . ":", $fieldname, '', $fields['other']['inputsize'], $fields['other']['inputcols']);
                            break;
                        case 'edit':
                            print_tdoafile($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['inputsize'], $fields['other']['inputcols']);
                            break;
                        case 'view':
                            //形成通达OA下载文件所需要的变量格式
                            $var_value_array = explode('||', $fields['value'][$fieldname]);
                            $ATTACHMENT_ID = $var_value_array[1];
                            $ATTACHMENT_NAME = $var_value_array[0];
                            if (strlen($fields['value'][$fieldname]) < 3) {
                                $file_path = "无附件";
                            } else {
                                $file_path = attach_link($ATTACHMENT_ID, $ATTACHMENT_NAME, 1, 1, 1, 0, 0, 1, 1, 0);
                            }
                            //print_R($ATTACHMENT_NAME);exit;
                            print "<script src=\"../../Enginee/lib/attach.js\"></script>";
                            print "\n\t\t\t\t\t<input type=\"hidden\" name=\"ATTACHMENT_ID_OLD\" value=\"{$ATTACHMENT_ID}\">\n\t\t\t\t\t<input type=\"hidden\" name=\"ATTACHMENT_NAME_OLD\" value=\"{$ATTACHMENT_NAME}\">";
                            print_image_view($html_etc[$tablename][$fieldname], $file_path, $width = '120', $fields['other']['inputcols']);
                            break;
                    }
                    //idnumfile
                    break;
                case 'binaryfile':
                    switch ($mode) {
                        case 'add':
                            print_binaryfile($html_etc[$tablename][$fieldname] . ":", $fieldname, $fields['other']['inputsize'], $fields['other']['inputcols']);
                            break;
                        case 'edit':
                            print_binaryfile($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['other']['inputsize'], $fields['other']['inputcols']);
                            break;
                        case 'view':
                            global $sessionkey;
                            $filepath = trim($fields['value'][$fieldname]);
                            if (is_file($filepath)) {
                                $file_path = "<img src=\"{$filepath}\" border=0 width=172>\n";
                            } else {
                                $file_path = "<img src=\"images/logo_sndg.gif\" border=0 width=172>\n";
                            }
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $file_path, $colspan);
                            break;
                    }
                    //idnumfile
                    break;
                case 'idnumfile':
                    switch ($mode) {
                        case 'view':
                            $file_path = "<img src=\"idnumimage/" . trim($fields['value'][$fieldname]) . ".jpg\" border=0 width=172>\n";
                            $nopicture_path = "<img src=\"images/logo_sndg.gif\" border=0 width=172>\n";
                            is_file("idnumimage/" . trim($fields['value'][$fieldname]) . ".jpg") ? $system_picture_line = $file_path : ($system_picture_line = $nopicture_path);
                            break;
                    }
                    break;
                case 'colorselect':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $notnull = trim($fields['null'][$i]['inputtype']);
                            $notnull == 'notnull' ? $notnulltext = $common_html['common_html']['mustinput'] : ($notnulltext = '');
                            print_colorselect($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $notnulltext);
                            break;
                        case 'view':
                            print "<div  style=\"border:1px double #000000;width:16px;height:16px;background-color:" . $fields['value'][$fieldname] . ";overflow:hidden;\"></div>";
                            break;
                    }
                    break;
                case 'date0':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            print_date_js();
                            print_date($html_etc[$tablename][$fieldname] . ":", $fieldname, "./sms_index/calendar_begin.php?datetime={$fieldname}", trim($fields['value'][$fieldname]), $fields['other']['inputcols'], $notnulltext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", returndate(trim($fields['value'][$fieldname]), 1));
                            break;
                    }
                    break;
                case 'date':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = date("Y-m-d");
                        case 'edit':
                            print_date_js();
                            print_date($html_etc[$tablename][$fieldname] . ":", $fieldname, "./sms_index/calendar_begin.php?datetime={$fieldname}", trim($fields['value'][$fieldname]), $fields['other']['inputcols'], $notnulltext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", returndate(trim($fields['value'][$fieldname]), 1));
                            break;
                    }
                    break;
                case 'date1':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = date("Y-m-d", mktime(0, 0, 0, date(m) + 1, date(d), date(Y)));
                        case 'edit':
                            print_date_js();
                            print_date($html_etc[$tablename][$fieldname] . ":", $fieldname, "./sms_index/calendar_begin.php?datetime={$fieldname}", trim($fields['value'][$fieldname]), $fields['other']['inputcols'], $notnulltext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", returndate(trim($fields['value'][$fieldname]), 1));
                            break;
                    }
                    break;
                case 'datetime':
                    switch ($mode) {
                        case 'add':
                            if ($fields['value'][$fieldname] == '') {
                                $fields['value'][$fieldname] = date("Y-m-d H:i:s");
                            }
                        case 'edit':
                            $pattern = $fields['INPUT_TEXT'][$fieldname];
                            print_datetime($html_etc[$tablename][$fieldname] . ":", $fieldname, "./sms_index/calendar_begin.php?datetime={$fieldname}", trim($fields['value'][$fieldname]), $fields['other']['inputcols'], $notnulltext, $pattern);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", returndate(trim($fields['value'][$fieldname]), 1));
                            break;
                    }
                    break;
                case 'datetime0':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            print_date_js();
                            print_datetime($html_etc[$tablename][$fieldname] . ":", $fieldname, "./sms_index/calendar_begin.php?datetime={$fieldname}", trim($fields['value'][$fieldname]), $fields['other']['inputcols'], $notnulltext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", returndate(trim($fields['value'][$fieldname]), 1));
                            break;
                    }
                    break;
                case 'datetimecheckbox':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = date("Y-m-d H:i:s");
                        case 'edit':
                            print_date_js();
                            print_datetimecheckbox($html_etc[$tablename][$fieldname] . ":", $fieldname, "./sms_index/calendar_begin.php?datetime={$fieldname}", trim($fields['value'][$fieldname]), $fields['other']['inputcols'], $notnulltext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", returndate(trim($fields['value'][$fieldname]), 1));
                            break;
                    }
                    break;
                case 'boolean':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = $fields['boolean'][$i]['value'];
                        case 'edit':
                            //$fields['value'][$fieldname]=1;
                            print_boolean($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $size = "25", $colspan = 2, "SmallSelect", $addtext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", returnboolean(trim($fields['value'][$fieldname])));
                            break;
                    }
                    break;
                case 'select_sex':
                case 'sex':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = 1;
                        case 'edit':
                            print_sex($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), "SmallSelect", $addtext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", returnsex(trim($fields['value'][$fieldname])));
                            break;
                    }
                    break;
                case 'checkbox':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = $fields['select'][$i]['initvalue'];
                        case 'edit':
                            print_checkbox($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]));
                            break;
                        case 'view':
                            print_checkbox($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]));
                            break;
                    }
                    break;
                case 'mulcheckbox':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = $fields['select'][$i]['initvalue'];
                        case 'edit':
                            $subtablename = $fields['INPUT_TEXT'][$fieldname];
                            $subkey = $fields['inputsize'][$fieldname];
                            $subval = $fields['inputother'][$fieldname];
                            print_mulcheckbox($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $subtablename, $subkey, $subval);
                            break;
                        case 'view':
                            $subtablename = $fields['INPUT_TEXT'][$fieldname];
                            $subkey = $fields['inputsize'][$fieldname];
                            $subval = $fields['inputother'][$fieldname];
                            $subcolums = returntablecolumn($subtablename);
                            $subkey = $subcolums[$subkey];
                            $subval = $subcolums[$subval];
                            $fieldValueArray = explode(",", $fields['value'][$fieldname]);
                            array_pop($fieldValueArray);
                            $fieldValueArrayTEXT = join("','", $fieldValueArray);
                            $sql = "select {$subval} from {$subtablename} where {$subkey} in ('{$fieldValueArrayTEXT}')";
                            $rsxx = $db->CacheExecute(5, $sql);
                            $rsxxA = $rsxx->GetArray();
                            $fieldValueNameText = '';
                            for ($iD = 0; $iD < sizeof($rsxxA); $iD++) {
                                $fieldValueNameText .= $rsxxA[$iD][$subval] . ",";
                            }
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fieldValueNameText);
                            break;
                    }
                    break;
                case 'radio':
                    switch ($mode) {
                        case 'add':
                            if ($fields['value'][$fieldname] == '') {
                                $fields['value'][$fieldname] = $fields['select'][$i]['initvalue'];
                            }
                        case 'edit':
                            print_radio($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['select'][$i]['tablename'], $fields['select'][$i]['value'], $fields['select'][$i]['field'], 2, $fields['select'][$i]['initvalue']);
                            break;
                        case 'view':
                            print_select_text($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $fieldname, $fields['select'][$i]['tablename'], $fields['select'][$i]['value'], $fields['select'][$i]['field']);
                            break;
                    }
                    break;
                case 'radiogroup':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = $fields['select'][$i]['initvalue'];
                        case 'edit':
                            print_radio($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['select'][$i]['tablename'], $fields['select'][$i]['value'], $fields['select'][$i]['field'], 1, $fields['select'][$i]['initvalue'], $fields['select'][$i]['groupfield'], $fields['select'][$i]['groupvalue']);
                            break;
                        case 'view':
                            print_select_text($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $fieldname, $fields['select'][$i]['tablename'], $fields['select'][$i]['value'], $fields['select'][$i]['field'], $fields['select'][$i]['groupfield'], $fields['select'][$i]['groupvalue']);
                            break;
                    }
                    break;
                    //JUMPUSERINFOR,弹出窗口的用户名和用户ID
                //JUMPUSERINFOR,弹出窗口的用户名和用户ID
                case 'usertoid':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            //$colspan = $fields['other']['inputcols'];
                            $fieldnameID = $fieldname . "_ID";
                            $fieldValueName = returntablefield("user", "USER_ID", $fieldValue, "USER_NAME");
                            $PRIV_OP = $fields['INPUT_TEXT'][$fieldname];
                            $notnull = trim($fields['null'][$i]['inputtype']);
                            $notnull == 'notnull' ? $notnulltext = $common_html['common_html']['mustinput'] : ($notnulltext = '');
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldname}\" value=\"{$fieldValue}\">\n";
                            print "<input type=\"text\" name=\"{$fieldnameID}\" value=\"{$fieldValueName}\" readonly class=\"SmallStatic\" size=\"20\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectTeacherSingle('{$PRIV_OP}','{$fieldname}', '{$fieldnameID}')\">选择</a>\n";
                            print "<a href=\"#\" class=\"orgClear\" onClick=\"ClearUser('{$fieldname}', '{$fieldnameID}')\" title=\"清空\">清空</a>";
                            print "&nbsp;&nbsp;{$notnulltext}</TD></TR>\n";
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", returntablefield("user", "USER_ID", $fields['value'][$fieldname], "USER_NAME"), $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //JUMPUSERINFOR,弹出窗口的用户名和用户ID
                //JUMPUSERINFOR,弹出窗口的用户名和用户ID
                case 'usertoname':
                    $colspan = 2;
                    //print_R($_GET);;
                    switch ($mode) {
                        case 'add':
                            $fieldValue = $_GET[$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldnameID = $fieldname . "_ID";
                            $fieldValueName = returntablefield("user", "USER_NAME", $fieldValue, "USER_ID");
                            $PRIV_OP = $fields['INPUT_TEXT'][$fieldname];
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldnameID}\" value=\"{$fieldValueName}\">\n";
                            print "<input type=\"text\" name=\"{$fieldname}\" value=\"{$fieldValue}\" readonly class=\"SmallStatic\" size=\"20\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectTeacherSingle('{$PRIV_OP}','{$fieldnameID}', '{$fieldname}')\">选择</a>\n";
                            print "<a href=\"#\" class=\"orgClear\" onClick=\"ClearUser('{$fieldnameID}', '{$fieldname}')\" title=\"清空\">清空</a>";
                            //print $addtext = FilterFieldAddText($addtext,$fieldname);
                            print "</TD></TR>\n";
                            break;
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldnameID = $fieldname . "_ID";
                            $fieldValueName = returntablefield("user", "USER_NAME", $fieldValue, "USER_ID");
                            $PRIV_OP = $fields['INPUT_TEXT'][$fieldname];
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldnameID}\" value=\"{$fieldValueName}\">\n";
                            print "<input type=\"text\" name=\"{$fieldname}\" value=\"{$fieldValue}\" readonly class=\"SmallStatic\" size=\"20\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectTeacherSingle('{$PRIV_OP}','{$fieldnameID}', '{$fieldname}','{$PRIV_OP}')\">选择</a>\n";
                            print "<a href=\"#\" class=\"orgClear\" onClick=\"ClearUser('{$fieldnameID}', '{$fieldname}')\" title=\"清空\">清空</a>";
                            //print $addtext = FilterFieldAddText($addtext,$fieldname);
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fields['value'][$fieldname], $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //JUMPUSERLISTINFOR,弹出窗口的用户名和用户ID,多用户模式
                //JUMPUSERLISTINFOR,弹出窗口的用户名和用户ID,多用户模式
                case 'usertonamelist':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldnameID = $fieldname . "_ID";
                            $fieldValueArray = explode(",", $fieldValue);
                            for ($idddd = 0; $idddd < sizeof($fieldValueArray); $idddd++) {
                                $fieldValueArrayValue = $fieldValueArray[$idddd];
                                if ($fieldValueArrayValue != "") {
                                    $fieldValueNameText .= returntablefield("user", "USER_ID", $fieldValueArrayValue, "USER_NAME") . ",";
                                }
                            }
                            $notnull = trim($fields['null'][$i]['inputtype']);
                            $notnull == 'notnull' ? $notnulltext = $common_html['common_html']['mustinput'] : ($notnulltext = '');
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldname}\" value=\"{$fieldValue}\">\n";
                            //print "<input type=\"text\" name=\"$fieldnameID\" value=\"$fieldValueName\" readonly class=\"SmallStatic\" size=\"40\">\n";
                            print "<textarea style=\"width:380px;\" name=\"{$fieldnameID}\" id=\"{$fieldnameID}\" rows=\"3\" style=\"overflow-y:auto;\" class=\"BigStatic\" wrap=\"yes\" readonly>{$fieldValueNameText}</textarea>";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectUser('" . $fields['INPUT_TEXT']['zhixingren'] . "','{$fieldname}', '{$fieldnameID}');\">选择</a>\n";
                            print "<a href=\"#\" class=\"orgClear\" onClick=\"ClearUser('{$fieldname}', '{$fieldnameID}')\" title=\"清空\">清空</a>&nbsp;";
                            print "&nbsp;{$notnulltext}";
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            $fieldValueArray = explode(",", $fields['value'][$fieldname]);
                            $fields['value'][$fieldname] = '';
                            for ($idddd = 0; $idddd < sizeof($fieldValueArray); $idddd++) {
                                $fieldValueArrayValue = $fieldValueArray[$idddd];
                                if ($fieldValueArrayValue != "") {
                                    $userInfo = returntablefield("user", "USER_ID", $fieldValueArrayValue, "UID,USER_NAME");
                                    $fields['value'][$fieldname] .= "<a target='_blank' href='../Framework/user_newai.php?action=view_default&UID=" . $userInfo['UID'] . "'>" . $userInfo['USER_NAME'] . "</a>,";
                                }
                            }
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fields['value'][$fieldname], $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //JUMPDEPTINFOR,弹出窗口的部门名和部门ID
                //JUMPDEPTINFOR,弹出窗口的部门名和部门ID
                case 'depttoid':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            //$colspan = $fields['other']['inputcols'];
                            $fieldnameID = $fieldname . "_ID";
                            $fieldValueName = returntablefield("department", "DEPT_ID", $fieldValue, "DEPT_NAME");
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldname}\" value=\"{$fieldValue}\">\n";
                            print "<input type=\"text\" name=\"{$fieldnameID}\" value=\"{$fieldValueName}\" readonly class=\"SmallStatic\" size=\"20\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectDeptSingle('','{$fieldname}', '{$fieldnameID}')\">选择</a>\n";
                            print "<a href=\"#\" class=\"orgClear\" onClick=\"ClearUser('{$fieldname}', '{$fieldnameID}')\" title=\"清空\">清空</a>";
                            print $addtext = FilterFieldAddText($addtext, $fieldname);
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", returntablefield("department", "DEPT_ID", $fields['value'][$fieldname], "DEPT_NAME"), $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //JUMPDEPTINFOR,弹出窗口的部门名和部门ID
                //JUMPDEPTINFOR,弹出窗口的部门名和部门ID
                case 'depttoname':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                            //print_R($_GET);
                            $fieldValue = $_GET[$fieldname];
                            $fieldValueName = returntablefield("department", "DEPT_NAME", $fieldValue, "DEPT_ID");
                            $fieldnameID = $fieldname . "_ID";
                            $showtext = $html_etc[$tablename][$fieldname];
                            $PRIV_OP = $fields['INPUT_TEXT'][$fieldname];
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldnameID}\" value=\"{$fieldValueName}\">\n";
                            print "<input type=\"text\" name=\"{$fieldname}\" value=\"{$fieldValue}\" readonly class=\"SmallStatic\" size=\"20\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectDeptSingle('','{$fieldnameID}', '{$fieldname}','{$PRIV_OP}')\">选择</a>\n";
                            print "<a href=\"#\" class=\"orgClear\" onClick=\"ClearUser('{$fieldnameID}', '{$fieldname}')\" title=\"清空\">清空</a>";
                            //print $addtext = FilterFieldAddText($addtext,$fieldname);
                            print "</TD></TR>\n";
                            break;
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldnameID = $fieldname . "_ID";
                            $fieldValueName = returntablefield("department", "DEPT_NAME", $fieldValue, "DEPT_ID");
                            $PRIV_OP = $fields['INPUT_TEXT'][$fieldname];
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldnameID}\" value=\"{$fieldValueName}\">\n";
                            print "<input type=\"text\" name=\"{$fieldname}\" value=\"{$fieldValue}\" readonly class=\"SmallStatic\" size=\"20\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectDeptSingle('','{$fieldnameID}', '{$fieldname}','{$PRIV_OP}')\">选择</a>\n";
                            print "<a href=\"#\" class=\"orgClear\" onClick=\"ClearUser('{$fieldnameID}', '{$fieldname}')\" title=\"清空\">清空</a>";
                            //print $addtext = FilterFieldAddText($addtext,$fieldname);
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fields['value'][$fieldname], $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出课程的窗口
                //弹出课程的窗口
                case 'jumpcourse':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldnameID = $fieldname . "_ID";
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldnameID}\" value=\"{$fieldValue}\">\n";
                            print "<input type=\"text\" name=\"{$fieldname}\" value=\"{$fieldValue}\" readonly class=\"SmallStatic\" size=\"20\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectCourseSingle('','{$fieldnameID}', '{$fieldname}')\">选择</a>\n";
                            print $addtext = FilterFieldAddText($addtext, $fieldname);
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fields['value'][$fieldname], $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出教材的窗口
                //弹出教材的窗口
                case 'jumpjiaocai':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldnameID = $fieldname . "_ID";
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldnameID}\" value=\"{$fieldValue}\">\n";
                            print "<input type=\"text\" name=\"{$fieldname}\" value=\"{$fieldValue}\" readonly class=\"SmallStatic\" size=\"25\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectAllInforSingle('../../Enginee/Module/jiaocai_admin_select_single/index.php','','{$fieldnameID}', '{$fieldname}')\">选择</a>\n";
                            print $addtext = FilterFieldAddText($addtext, $fieldname);
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fields['value'][$fieldname], $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出客户的窗口
                //弹出客户的窗口
                case 'jumpkehu':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldnameID = $fieldname . "_ID";
                            $fieldValueNAME = returntablefield("customer", "ROWID", $fieldValue, "supplyname");
                            $notnull = trim($fields['null'][$i]['inputtype']);
                            $notnull == 'notnull' ? $notnulltext = $common_html['common_html']['mustinput'] : ($notnulltext = '');
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldname}\" value=\"{$fieldValue}\">\n";
                            print "<input type=\"text\" name=\"{$fieldnameID}\" value=\"{$fieldValueNAME}\" readonly class=\"SmallStatic\" size=\"30\">\n";
                            print "<input type=\"button\" title='' value=\"选择\" class=\"SmallButton\"  onClick=\"SelectAllInforSingle('../../Enginee/Module/kehu_select_single/index.php','','{$fieldnameID}', '{$fieldname}')\">\n";
                            print "&nbsp;" . $notnulltext;
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            $fieldValueNAME = returntablefield("customer", "ROWID", $fields['value'][$fieldname], "supplyname");
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fieldValueNAME, $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出客户的多选窗口
                //弹出客户的多选窗口
                case 'jumpkehumulti':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $notnull = trim($fields['null'][$i]['inputtype']);
                            $notnull == 'notnull' ? $notnulltext = $common_html['common_html']['mustinput'] : ($notnulltext = '');
                            $fieldnameID = $fieldname . "_ID";
                            $fieldnameArray = explode(",", $fieldValue);
                            $fieldValueNAME = "";
                            for ($j = 0; $j < count($fieldnameArray); $j++) {
                                if ($fieldnameArray[$j] != '') {
                                    $fieldValueNAME = $fieldValueNAME . returntablefield("customer", "ROWID", $fieldnameArray[$j], "supplyname") . ",";
                                }
                            }
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldname}\" value=\"{$fieldValue}\">\n";
                            print "<textarea name='{$fieldnameID}' class=\"SmallInput\" rows=" . $fields['other']['textarea'][$fieldname]["rows"] . " cols=" . $fields['other']['textarea'][$fieldname]["cols"] . " readonly>{$fieldValueNAME}</textarea>";
                            print "&nbsp;&nbsp;" . $notnulltext . "<br>";
                            print "<a href='#' onClick=\"SelectAllInforSingle('../../Enginee/Module/kehu_select_multi/index.php','','{$fieldnameID}', '{$fieldname}')\"><u>选择客户</u></a>\n";
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            $fieldValueNAME = returntablefield("customer", "ROWID", $fields['value'][$fieldname], "supplyname");
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fieldValueNAME, $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出客户联系人的多选窗口
                //弹出客户联系人的多选窗口
                case 'jumplinkmanmulti':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $notnull = trim($fields['null'][$i]['inputtype']);
                            $notnull == 'notnull' ? $notnulltext = $common_html['common_html']['mustinput'] : ($notnulltext = '');
                            $fieldnameID = $fieldname . "_ID";
                            $fieldnameArray = explode(",", $fieldValue);
                            $other = $fields['other']['textarea'][$fieldname]['other'];
                            for ($i = 0; $i < count($fieldnameArray); $i++) {
                                if ($fieldnameArray[$i] != '') {
                                    $fieldValueNAME = $fieldValueNAME . returntablefield("linkman", "ROWID", $fieldnameArray[$i], "{$other}") . ",";
                                }
                            }
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldname}\" value=\"{$fieldValue}\">\n";
                            print "<textarea name='{$fieldnameID}' class=\"SmallInput\" rows=" . $fields['other']['textarea'][$fieldname]["rows"] . " cols=" . $fields['other']['textarea'][$fieldname]["cols"] . " readonly>{$fieldValueNAME}</textarea>";
                            print "&nbsp;&nbsp;" . $notnulltext . "<br>";
                            print "<a href='#' onClick=\"SelectAllInforSingle('../../Enginee/Module/linkman_select_multi/index.php','','{$fieldnameID}', '{$fieldname}','{$other}')\"><u>选择客户联系人</u></a>\n";
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            $other = $fields['other']['textarea'][$FieldNameIndex]['other'];
                            $fieldValueNAME = returntablefield("linkman", "ROWID", $fields['value'][$fieldname], "{$other}");
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fieldValueNAME, $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出供应商联系人的多选窗口
                //弹出供应商联系人的多选窗口
                case 'jumpsupplylinkmanmulti':
                    $colspan = 2;
                    $hasPriv = false;
                    $menuid = returntablefield("sys_function", "unimenu", "供应商", "func_Id");
                    $menuStr = explode(",", $_SESSION['LOGIN_FUNC_ID_STR']);
                    if (in_array($menuid, $menuStr)) {
                        $hasPriv = true;
                    }
                    if (!$hasPriv) {
                        continue;
                    }
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $notnull = trim($fields['null'][$i]['inputtype']);
                            $notnull == 'notnull' ? $notnulltext = $common_html['common_html']['mustinput'] : ($notnulltext = '');
                            $fieldnameID = $fieldname . "_ID";
                            $fieldnameArray = explode(",", $fieldValue);
                            $other = $fields['other']['textarea'][$fieldname]['other'];
                            for ($j = 0; $j < count($fieldnameArray); $j++) {
                                if ($fieldnameArray[$j] != '') {
                                    $fieldValueNAME = $fieldValueNAME . returntablefield("supplylinkman", "ROWID", $fieldnameArray[$j], "{$other}") . ",";
                                }
                            }
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldname}\" value=\"{$fieldValue}\">\n";
                            print "<textarea name='{$fieldnameID}' class=\"SmallInput\" rows=" . $fields['other']['textarea'][$fieldname]["rows"] . " cols=" . $fields['other']['textarea'][$fieldname]["cols"] . " readonly>{$fieldValueNAME}</textarea>";
                            print "&nbsp;&nbsp;" . $notnulltext . "<br>";
                            print "<a href='#' onClick=\"SelectAllInforSingle('../../Enginee/Module/supplylinkman_select_multi/index.php','','{$fieldnameID}', '{$fieldname}','{$other}')\"><u>选择供应商联系人</u></a>\n";
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            $other = $fields['other']['textarea'][$FieldNameIndex]['other'];
                            $fieldValueNAME = returntablefield("supplylinkman", "ROWID", $fields['value'][$fieldname], "{$other}");
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fieldValueNAME, $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出供应商的单选窗口
                //弹出供应商的单选窗口
                case 'jumpsupply':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = $_GET[$fieldname];
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldnameID = $fieldname . "_ID";
                            $fieldValueNAME = returntablefield("supply", "ROWID", $fieldValue, "supplyname");
                            $notnull = trim($fields['null'][$i]['inputtype']);
                            $notnull == 'notnull' ? $notnulltext = $common_html['common_html']['mustinput'] : ($notnulltext = '');
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldname}\" value=\"{$fieldValue}\">\n";
                            print "<input type=\"text\" name=\"{$fieldnameID}\" value=\"{$fieldValueNAME}\" readonly class=\"SmallStatic\" size=\"30\">\n";
                            print "<input type=\"button\" title='' value=\"选择\" class=\"SmallButton\"  onClick=\"SelectAllInforSingle('../../Enginee/Module/supply_select_single/index.php','','{$fieldnameID}', '{$fieldname}')\">\n";
                            print "&nbsp;" . $notnulltext . "</TD></TR>\n";
                            break;
                        case 'view':
                            $fieldValueNAME = returntablefield("supply", "ROWID", $fields['value'][$fieldname], "supplyname");
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fieldValueNAME, $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出产品类别的窗口
                //弹出产品类别的窗口
                case 'jumpproducttype':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            if ($fields['INPUT_TEXT'][$fieldname] == '1') {
                                $rec_prod_id = $fields['value']['ROWID'];
                            }
                            //本身的主键,过滤到本身
                            $showfoldorsub = $fields['inputsize'][$fieldname];
                            //空=全部,1=仅显示文件夹,2=只能选择子类
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldValueName = returntablefield("producttype", "ROWID", $fieldValue, "name");
                            $fieldnameID = $fieldname . "_ID";
                            $notnull = trim($fields['null'][$i]['inputtype']);
                            $notnull == 'notnull' ? $notnulltext = $common_html['common_html']['mustinput'] : ($notnulltext = '');
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . ":</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldname}\" value=\"{$fieldValue}\">\n";
                            print "<input type=\"text\" name=\"{$fieldnameID}\" value=\"{$fieldValueName}\" readonly class=\"SmallStatic\" size=\"25\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectAllInforSingle('../../Enginee/Module/prodtype_select_single/index.php','{$rec_prod_id}','{$fieldname}', '{$fieldnameID}','{$showfoldorsub}')\">选择</a>\n";
                            print $addtext = FilterFieldAddText($addtext, $fieldname);
                            print "<a href=\"#\" class=\"orgClear\" onClick=\"ClearUser('{$fieldnameID}', '{$fieldname}')\" title=\"清空\">清空</a>";
                            print "&nbsp;" . $notnulltext . "</TD></TR>\n";
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            $val = returntablefield("producttype", "rowid", $fields['value'][$fieldname], "name");
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $val, $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出产品窗口
                //弹出产品窗口
                case 'jumpproduct':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldValueName = returntablefield("product", "productid", $fieldValue, "productname");
                            $fieldnameID = $fieldname . "_ID";
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . ":</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldname}\" value=\"{$fieldValue}\">\n";
                            print "<input type=\"text\" name=\"{$fieldnameID}\" value=\"{$fieldValueName}\" readonly class=\"SmallStatic\" size=\"30\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectAllInforSingle('../../Enginee/Module/product_select_single/index.php','{$fieldValue}','{$fieldname}', '{$fieldnameID}','{$showfoldorsub}')\">选择</a>\n";
                            print $addtext = FilterFieldAddText($addtext, $fieldname);
                            print "<a href=\"#\" class=\"orgClear\" onClick=\"ClearUser('{$fieldnameID}', '{$fieldname}')\" title=\"清空\">清空</a>";
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fields['value'][$fieldname], $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出宿舍的窗口
                //弹出宿舍的窗口
                case 'jumpdorm':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $床位号 = $fields['value']['床位号'];
                            $性别 = $fields['value']['性别'];
                            $fieldValue = $fields['value'][$fieldname] . " " . $床位号 . "号床位";
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldnameID = $fieldname . "_ID";
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldnameID}\" value=\"{$fieldValue}\">\n";
                            print "<input type=\"text\" name=\"{$fieldname}\" value=\"{$fieldValue}\" readonly class=\"SmallStatic\" size=\"30\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectAllInforSingle('../../Enginee/Module/dorm_room_admin_select_single/index.php','','{$fieldname}', '{$fieldnameID}','{$性别}')\">选择</a>\n";
                            print $addtext = FilterFieldAddText($addtext, $fieldname);
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fields['value'][$fieldname], $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出班级的窗口
                //弹出班级的窗口
                case 'jumpbanji':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldnameID = $fieldname . "_ID";
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldnameID}\" value=\"{$fieldValue}\">\n";
                            print "<input type=\"text\" name=\"{$fieldname}\" value=\"{$fieldValue}\" readonly class=\"SmallStatic\" size=\"20\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectBanJiSingle('','{$fieldnameID}', '{$fieldname}')\">选择</a>\n";
                            print $addtext = FilterFieldAddText($addtext, $fieldname);
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fields['value'][$fieldname], $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出教室的窗口
                //弹出教室的窗口
                case 'jumpclassroom':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldnameID = $fieldname . "_ID";
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldname}\" value=\"{$fieldValue}\">\n";
                            print "<input type=\"text\" name=\"{$fieldnameID}\" value=\"{$fieldValue}\" readonly class=\"SmallStatic\" size=\"20\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectClassroomSingle('','{$fieldname}', '{$fieldnameID}')\">选择</a>\n";
                            print $addtext = FilterFieldAddText($addtext, $fieldname);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fields['value'][$fieldname], $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                    //弹出所有学生的窗口
                //弹出所有学生的窗口
                case 'jumpstudentall':
                    $colspan = 2;
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $fieldValue = $fields['value'][$fieldname];
                            $showtext = $html_etc[$tablename][$fieldname];
                            $fieldnameID = $fieldname . "ID";
                            print "<TR>";
                            print "<TD class=TableData noWrap>" . $showtext . "</TD>\n";
                            print "<TD class=TableData noWrap colspan=\"{$colspan}\">\n";
                            print "<input type=\"hidden\" name=\"{$fieldnameID}\" value=\"{$fieldValue}\">\n";
                            print "<input type=\"text\" name=\"{$fieldname}\" value=\"{$fieldValue}\" readonly class=\"SmallStatic\" size=\"20\">\n";
                            print "<a href=\"javascript:;\" class=\"orgAdd\" onClick=\"SelectAllStudentSingle('','{$fieldnameID}', '{$fieldname}')\">选择</a>\n";
                            print $addtext = FilterFieldAddText($addtext, $fieldname);
                            print "</TD></TR>\n";
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $fields['value'][$fieldname], $colspan, $system_picture_line, $notnulltext);
                            break;
                    }
                    //idnumfile
                    break;
                case 'select':
                case 'selectcolor':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = $fields['select'][$i]['initvalue'];
                        case 'edit':
                            print_select($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['select'][$i]['tablename'], $fields['select'][$i]['value'], $fields['select'][$i]['field'], $fields['other']['inputcols'], $fields['select'][$i]['setfieldname'], $fields['select'][$i]['setfieldvalue'], $fields['select'][$i]['setfieldboolean'], $fields['select'][$i]['initvalue']);
                            break;
                        case 'view':
                            if ($tablename == $fields['select'][$i]['tablename']) {
                                $showText = $html_etc[$tablename][$fields['select'][$i]['field']];
                            } else {
                                $showText = $html_etc[$tablename][$fieldname];
                            }
                            print_select_text($showText . ":", trim($fields['value'][$fieldname]), $fieldname, $fields['select'][$i]['tablename'], $fields['select'][$i]['value'], $fields['select'][$i]['field'], $fieldfilter);
                            break;
                    }
                    break;
                case 'selectpriv':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = $fields['select'][$i]['initvalue'];
                        case 'edit':
                            print_selectpriv($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]));
                            break;
                        case 'view':
                            print_select_text($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $fieldname, "user_priv", "USER_PRIV", "PRIV_NAME");
                            break;
                    }
                    break;
                case 'select2':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = $fields['select'][$i]['initvalue'];
                        case 'edit':
                            $lastFieldName = $fields['name'][$i - 1];
                            print_select2($html_etc[$tablename][$lastFieldName] . ":", $fieldname, $fields['name'][$i - 1], trim($fields['value'][$fieldname]), $fields['select'][$i]['tablename'], $fields['select'][$i]['value'], $fields['select'][$i]['field']);
                            break;
                        case 'view':
                            print_select_text($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]), $fieldname, $fields['select'][$i]['tablename'], $fields['select'][$i]['value'], $fields['select'][$i]['field']);
                            break;
                    }
                    break;
                case 'tablefilter6':
                    switch ($mode) {
                        case 'add':
                            print_select_four_address('', $tablename);
                            break;
                        case 'edit':
                            print_select_four_address($fields['value'], $tablename);
                            break;
                    }
                    break;
                case 'tablefilter3':
                    switch ($mode) {
                        case 'add':
                            if (file_exists("../../Framework/system_config.ini")) {
                                $iniFile = parse_ini_file("../../Framework/system_config.ini");
                            } else {
                                if (file_exists("../Framework/system_config.ini")) {
                                    $iniFile = parse_ini_file("../Framework/system_config.ini");
                                } else {
                                    if (file_exists("Framework/system_config.ini")) {
                                        $iniFile = parse_ini_file("Framework/system_config.ini");
                                    }
                                }
                            }
                            print_select_countryCode($iniFile['provinces'], $fields);
                            break;
                        case 'edit':
                            $fieldname = $fields['name'][$i + 2];
                            print_select_countryCode($fields['value'][$fieldname], $fields);
                            break;
                    }
                    break;
                case 'select_two':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = $fields['select'][$i]['initvalue'];
                        case 'edit':
                            $fieldname2 = $fields['name'][$i + 1];
                            print_select_two($html_etc[$tablename][$fieldname] . ":", $fieldname, $html_etc[$tablename][$fieldname2] . ":", $fieldname2, trim($fields['value'][$fieldname]), $fields['select'][$i]['tablename'], $fields['select'][$i]['value'], $fields['select'][$i]['field'], $fields['select'][$i]['where'], $fields['select'][$i]['where_value'], $fields['select'][$i]['where_table'], $fields['select'][$i]['where_table_value'], $fields['select'][$i]['where_table_name'], 1, trim($fields['value'][$fieldname2]), $notnulltext);
                            break;
                        case 'view':
                            break;
                    }
                    break;
                case 'select_select_input':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = $fields['select'][$i]['initvalue'];
                        case 'edit':
                            $fieldname2 = $fields['name'][$i + 1];
                            //print_select_menu_product($showtext,$showFieldName,$showFieldID,$showtext2,$showFieldName2,$showFieldValue,$tableName,$colspan=1)
                            print_select_menu_product($html_etc[$tablename][$fieldname] . ":", $fields['select'][$i]['field'], $fields['select'][$i]['value'], $html_etc[$tablename][$fieldname2] . ":", $fields['select'][$i]['secondIndexName'], trim($fields['value'][$fieldname]), $fields['select'][$i]['tablename'], $fieldname, $fieldname2, 2);
                            break;
                        case 'view':
                            break;
                    }
                    break;
                case 'select_input':
                    switch ($mode) {
                        case 'add':
                            $filtervalue_name_backup_id = isset($_GET[$fieldname]) ? $_GET[$fieldname] : '';
                            $filtervalue_name_backup_name = isset($_GET[$fieldname . "name"]) ? $_GET[$fieldname . "name"] : '';
                        case 'edit':
                            $filtervalue_name = gettablefield($fields['select'][$i]['tablename'], $fields['select'][$i]['value'], $fields['select'][$i]['field'], trim($fields['value'][$fieldname]));
                            $filename = "frame_depart_notify.php?title=" . $common_html['common_html']['select_record'] . "&tablename=" . $fields['select'][$i]['tablename'] . "&fieldid=" . $fields['select'][$i]['value'] . "&fieldname=" . $fields['select'][$i]['field'] . "&field={$fieldname}&AddUserField=" . $fields['select'][$i]['userField'] . "";
                            //print $fields['select'][$i]['userField'];
                            $temp_id_name = trim($fields['value'][$fieldname]);
                            $filtervalue_id = isset($temp_id_name) ? $temp_id_name : $filtervalue_name_backup_id;
                            $filtervalue_name = isset($filtervalue_name) ? $filtervalue_name : $filtervalue_name_backup_name;
                            global $systemlang;
                            if ($filtervalue_name == '' && $tablename == 'notify') {
                                $filtervalue_name = $common_html['common_html']['AllDepartment'];
                                $filtervalue_id = '0';
                            }
                            select_form('input', $html_etc[$tablename][$fieldname] . ":", $fieldname, $fieldname . "name", $filename, $filtervalue_id, $filtervalue_name, $_GET['fixed']);
                            unset($filename);
                            break;
                        case 'view':
                            break;
                    }
                    break;
                case 'select_textarea':
                    switch ($mode) {
                        case 'add':
                            if ($fields['select'][$i]['tablename'] != "" && $fields['select'][$i]['field'] != "" && $fields['select'][$i]['value'] != "") {
                                $filtervalue_name = idtoname(trim($fields['value'][$fieldname]), $mode = 'dept');
                                $filename = "frame_depart_notify.php?title=" . $common_html['common_html']['select_record'] . "&tablename=" . $fields['select'][$i]['tablename'] . "&type=1&fieldid=" . $fields['select'][$i]['value'] . "&fieldname=" . $fields['select'][$i]['field'] . "&field={$fieldname}";
                            } else {
                                $filtervalue_name = isset($filtervalue_name) ? $filtervalue_name : trim($fields['value'][$fieldname]);
                                $filename = "frame_user.php?title=" . $common_html['common_html']['select_record'] . "&TO_ID=" . $fieldname . "&TO_NAME=" . $fieldname . "name";
                            }
                            //print $fieldname;
                            $filtervalue_id = isset($_GET[$fieldname]) ? $_GET[$fieldname] . "," : '';
                            $filtervalue_name = isset($_GET[$fieldname . "name"]) ? $_GET[$fieldname . "name"] . "," : '';
                            select_form('textarea', $html_etc[$tablename][$fieldname] . ":", $fieldname, $fieldname . "name", $filename, $filtervalue_id, $filtervalue_name);
                            unset($filename);
                            break;
                        case 'edit':
                            switch ($_GET['action']) {
                                case 'edit_reply':
                                    $fields['value'][$fieldname] = $global_hidden_field;
                                    break;
                                case 'edit_forward':
                                    $fields['value'][$fieldname] = '';
                                    break;
                            }
                            if ($fields['select'][$i]['tablename'] != "" && $fields['select'][$i]['field'] != "" && $fields['select'][$i]['value'] != "") {
                                $filtervalue_name = idtoname(trim($fields['value'][$fieldname]), $mode = 'dept');
                                $filename = "frame_depart_notify.php?title=" . $common_html['common_html']['select_record'] . "&tablename=" . $fields['select'][$i]['tablename'] . "&type=1&fieldid=" . $fields['select'][$i]['value'] . "&fieldname=" . $fields['select'][$i]['field'] . "&field={$fieldname}";
                            } else {
                                $filtervalue_name = isset($filtervalue_name) ? $filtervalue_name : trim($fields['value'][$fieldname]);
                                $filename = "frame_user.php?title=" . $common_html['common_html']['select_record'] . "&TO_ID=" . $fieldname . "&TO_NAME=" . $fieldname . "name";
                            }
                            $temp_id_name = trim($fields['value'][$fieldname]);
                            $filtervalue_id = isset($temp_id_name) ? $temp_id_name : $filtervalue_name_backup_id;
                            $filtervalue_name = isset($filtervalue_name) ? $filtervalue_name : $filtervalue_name_backup_name;
                            select_form('textarea', $html_etc[$tablename][$fieldname] . ":", $fieldname, $fieldname . "name", $filename, $filtervalue_id, $filtervalue_name);
                            unset($filename);
                            break;
                        case 'view':
                            break;
                    }
                    break;
                case 'select_sms':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = 1;
                        case 'edit':
                            //$fields['value'][$fieldname]=1;
                            print_select_single($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), 'select_sms', $addtext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", return_select_filter('select_sms', trim($fields['value'][$fieldname])));
                            break;
                    }
                    break;
                case 'select_education':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = 5;
                        case 'edit':
                            //$fields['value'][$fieldname]=5;
                            print_select_single($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), 'select_education', $addtext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", return_select_filter('select_education', trim($fields['value'][$fieldname])));
                            break;
                    }
                    break;
                case 'select_marriage':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = 0;
                        case 'edit':
                            print_select_single($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), 'select_marriage', $addtext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", return_select_filter('select_marriage', trim($fields['value'][$fieldname])));
                            break;
                    }
                    break;
                case 'select_politics':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = 1;
                        case 'edit':
                            print_select_single($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), 'select_politics', $addtext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", return_select_filter('select_politics', trim($fields['value'][$fieldname])));
                            break;
                    }
                    break;
                case 'select_worklog':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = 1;
                        case 'edit':
                            print_select_single($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), 'select_worklog', $addtext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", return_select_filter('select_worklog', trim($fields['value'][$fieldname])));
                            break;
                    }
                    break;
                case 'userlang':
                    switch ($mode) {
                        case 'add':
                            $fields['value'][$fieldname] = 'zh';
                        case 'edit':
                            print_select_single($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), 'userlang', $addtext);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", return_select_filter('userlang', trim($fields['value'][$fieldname])));
                            break;
                    }
                    break;
                case 'edit_move':
                    switch ($mode) {
                        case 'add':
                            select_return_navigation($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), 1);
                        case 'edit':
                            select_return_navigation($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), 1);
                            break;
                        case 'view':
                            break;
                    }
                    break;
                case 'mobile':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $inputsize = $fields['inputsize'][$fieldname];
                            if ($inputsize == "" || $inputsize == 0) {
                                $inputsize = $fields['other']['inputsize'];
                            }
                            print_tr($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $inputsize, $fields['other']['inputcols'], $fields['other']['class'], $notnulltext, 'text', '', $i + 1, "mobile");
                            $custom_type = "";
                            break;
                        case 'view':
                            $i < 5 ? $colspan = 2 : ($colspan = 2);
                            $i == 1 ? '' : ($system_picture_line = '');
                            $var = trim($fields['value'][$fieldname]);
                            $var = "<a href='../JXC/sms_sendlist_newai.php?action=add_default&sendlist=" . $var . "' target='_blank'>{$var}</a>";
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $var, $colspan);
                            break;
                    }
                    break;
                case 'multiselect':
                    switch ($mode) {
                        case 'add':
                            print_select_classtable($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['multiselect'][$i]);
                            break;
                        case 'edit':
                            print_select_classtable($html_etc[$tablename][$fieldname] . ":", $fieldname, trim($fields['value'][$fieldname]), $fields['multiselect'][$i]);
                            break;
                        case 'view':
                            $filtervalue = idtoname($fields['value'][$fieldname], $mode = 'course');
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $filtervalue);
                            break;
                    }
                    break;
                case 'hidden_field':
                    $hiddenid = $fields['hidden_field'][$i]['hiddenid'];
                    $hiddenname = $fieldname;
                    global $SUNSHINE_USER_NAME_VAR, $SUNSHINE_USER_DEPT_VAR, $SUNSHINE_USER_DEPT_VAR, $SUNSHINE_USER_ID_VAR, $_SESSION, $SUNSHINE_USER_DEPT_VAR;
                    switch ($fields['hidden_field'][$i]['hiddentype']) {
                        case 'dept':
                            $fields['value'][$fieldname] = $_SESSION['USER_DEPT'];
                            break;
                        case 'name':
                            $fields['value'][$fieldname] = $_SESSION['LOGIN_USER_ID'];
                            break;
                        case 'realname':
                            $fields['value'][$fieldname] = $_SESSION['LOGIN_USER_NAME'];
                            break;
                        case 'id':
                            $fields['value'][$fieldname] = $_SESSION['LOGIN_USER_ID'];
                            break;
                        case 'value':
                            $fields['value'][$fieldname] = $hiddenid;
                            break;
                        case 'get':
                            $fields['value'][$fieldname] = $_GET[$fieldname];
                            break;
                        case 'post':
                            $fields['value'][$fieldname] = $_POST[$fieldname];
                            break;
                        case 'field':
                            //$fields['value'][$fieldname]=$fields['value'][$fieldname];
                            break;
                    }
                    //print $SUNSHINE_USER_NAME_VAR;
                    //print $fields['value'][$fieldname];
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            switch ($_GET['action']) {
                                case 'edit_reply':
                                    print_hidden($_SESSION[$SUNSHINE_USER_NAME_VAR], $hiddenname);
                                    break;
                                case 'edit_forward':
                                    print_hidden($fields['value'][$hiddenname], $hiddenname);
                                    break;
                                default:
                                    print_hidden($fields['value'][$hiddenname], $hiddenname);
                            }
                            break;
                        case 'view':
                            break;
                    }
                    $global_hidden_field = $fields['value'][$hiddenname];
                    break;
                case 'system_datetime':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            print_hidden(date("Y-m-d H:i:s"), $fieldname);
                            break;
                        case 'view':
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", trim($fields['value'][$fieldname]));
                            break;
                    }
                    break;
                case 'attchmentid':
                    switch ($mode) {
                        case 'add':
                            print_file($html_etc[$tablename][$fieldname] . ":", $fieldname);
                            break;
                        case 'edit':
                            $attachmentid_merge = trim($fields['value'][$fieldname]);
                            print_hidden($attachmentid_merge, $fieldname);
                            //print_file($html_etc[$tablename][$fieldname].":",$fieldname);
                            break;
                        case 'view':
                            break;
                    }
                    break;
                case 'attchmentname':
                    switch ($mode) {
                        case 'add':
                            print_hidden('', $fieldname);
                            break;
                        case 'edit':
                            //判断文件所在路径
                            $PHP_SELF_ARRAY = explode('/', $_SERVER['PHP_SELF']);
                            $IndexNumber = sizeof($PHP_SELF_ARRAY) - 2;
                            $DirNameSelf = $PHP_SELF_ARRAY[$IndexNumber];
                            if ($DirNameSelf != "Framework") {
                                $DirFilePath = "../../Framework/";
                            } else {
                                $DirFilePath = "./";
                            }
                            //判断结束
                            $attachmentname_merge = trim($fields['value'][$fieldname]);
                            $fileurl = returnfileurl($attachmentid_merge, $attachmentname_merge);
                            $span = "<SPAN id=new_file></SPAN><BR>\n";
                            $index_html = $span . "<iframe name=uploadfile frameborder=0 width=100% height=40 scrolling=no src=" . $DirFilePath . "uploadfile.php></iframe>\n";
                            print_text_tr($html_etc[$tablename][$fieldname] . ":", $index_html);
                            print_hidden($attachmentname_merge, $fieldname);
                            print "<script>\n";
                            print "new_file.innerHTML+=\"{$fileurl}\";\n";
                            print "</script>\n";
                            break;
                        case 'view':
                            break;
                    }
                    break;
                case 'userdefine':
                    switch ($mode) {
                        case 'add':
                        case 'edit':
                            $functionName = trim($fields['userdefine'][$i]);
                            $fileName = $functionName . ".php";
                            $fileName0 = "userdefine/{$fileName}";
                            $fileName = "../../Enginee/userdefine/{$fileName}";
                            if (file_exists($fileName0)) {
                                require_once $fileName0;
                                $functionName = $functionName . "_add";
                                if (function_exists($functionName)) {
                                    $filtervalue = $functionName($fields, $i);
                                    print $filtervalue;
                                }
                            } else {
                                if (file_exists($fileName)) {
                                    require_once $fileName;
                                    $functionName = $functionName . "_add";
                                    if (function_exists($functionName)) {
                                        $filtervalue = $functionName($fields, $i);
                                        print $filtervalue;
                                    } else {
                                        print "函数名称[{$functionName}]不存在!";
                                    }
                                } else {
                                    print "没有相应文件,文件名:{$fileName}";
                                }
                            }
                            break;
                        case 'view':
                            if ($colflag == 0) {
                                $colspan = 5;
                            }
                            if ($colflag == 1 || $colflag == 0) {
                                print "<tr>\n";
                            }
                            $functionName = trim($fields['userdefine'][$i]);
                            $fileName = $functionName . ".php";
                            $fileName0 = "userdefine/{$fileName}";
                            $fileName = "../../Enginee/userdefine/{$fileName}";
                            if (file_exists($fileName0)) {
                                require_once $fileName0;
                                $functionName = $functionName . "_view";
                                if (function_exists($functionName)) {
                                    $filtervalue = $functionName($fields, $i);
                                    print $filtervalue;
                                }
                            } else {
                                if (file_exists($fileName)) {
                                    require_once $fileName;
                                    $functionName = $functionName . "_view";
                                    if (function_exists($functionName)) {
                                        $filtervalue = $functionName($fields, $i);
                                        print $filtervalue;
                                    } else {
                                        print "函数名称[{$functionName}]不存在!";
                                    }
                                } else {
                                    print "没有相应文件,文件名:{$fileName}";
                                }
                            }
                            if ($colflag == 2 || $colflag == 0) {
                                print "</tr>\n";
                            }
                            break;
                    }
                    //end userdefine
            }
            //end switch
        } else {
        }
    }
    //光标定位
    //print_R($fields['filter']);
    for ($i = 0; $i < sizeof($fields['filter']); $i++) {
        if ($fields['filter'][$i] == '') {
            $index = $i;
            break;
        }
    }
    $focusname = $fields['name'][$index];
    switch ($mode) {
        case 'add':
        case 'edit':
            if ($focusname != "") {
                print "<script>\n\t\tfunction Object_focus(Object)\n\t\t{\n\t\t var strFloat=Object.legth;\n\t\t Object.focus();\n\t\t}\n\t\tObject_focus(" . $fields['form']['name'] . "." . $focusname . ");\n\t\t</script>";
            }
            break;
        case 'view':
            break;
    }
    //记录子表选项列表模块
    global $subtableArray;
    //Foreign Key Value
    $parent_value = $_GET[$primarykey_index];
    if ($mode == "view") {
        for ($i = 0; $i < sizeof($subtableArray); $i++) {
            $mainkey2 = $subtableArray[$i]['maintable_key'];
            if ($mainkey2 != '') {
                $parent_valueX = returntablefield($tablename, $primarykey_index, $parent_value, $mainkey2);
            } else {
                $parent_valueX = $parent_value;
            }
            ViewChildTableList($subtableArray[$i], $parent_valueX);
        }
    }
    //表单提交按钮部分模块
    switch ($mode) {
        case 'add':
        case 'edit':
            show_submit_element($action_submit, 'left');
            //            echo $action_submit;//by cwf
            break;
        case 'view':
            show_submit_element($action_submit, 'left');
            break;
    }
    table_end();
    if ($form_attribute != 'hidden') {
        form_end();
    }
    global $parse_filename, $tablename;
    //用户自定义设计部分,此部分允许自己定义某些显示特性
    $允许自定义的类型列表 = array("init_default", "init_customer", "add_default", "edit_default", "view_default");
    if (in_array($_GET['action'], $允许自定义的类型列表) && $_SESSION['LOGIN_USER_ID'] == 'admin') {
        if ($parse_filename == "") {
            $parse_filename = $tablename;
        }
        $PHP_SELF_ARRAY = explode('/', $_SERVER['PHP_SELF']);
        //print_R($PHP_SELF_ARRAY);
        $FILE_SELF_NAME = array_pop($PHP_SELF_ARRAY);
        $FileDirName = array_pop($PHP_SELF_ARRAY);
        $是否是接口目录 = array_pop($PHP_SELF_ARRAY);
        if ($是否是接口目录 == "Interface" && $FileDirName != "PGSQL") {
            //print "<BR><div align=center><a href=\"../CONFIG/config.php?XX=XX&action=".$_GET['action']."&Tablename=$tablename&FileIniname=$parse_filename&FileDirName=$FileDirName&actionconfig=config&GOBACKFILENAME=$FILE_SELF_NAME\" title='配置当前页面显示参数 $执行时间TEXT'>配置当前页面显示参数</a>&nbsp;<a href=\"http://www.tongda2000.com/edu/book/index.php?action=add\" target=_blank title='将问题反馈给开发商进行解决'>问题反馈</a></div>";
        }
    }
}
                     } else {
                         if ($extra_arg2 > 0 && in_array($extra_arg1[$j], $extraSelectArr)) {
                             echo $selected;
                         }
                     }
                 } else {
                     echo $j == 0 ? $selected : '';
                 }
                 echo '>' . $extra_arg1[$j] . '</option>';
             }
         }
         echo '
               </select>';
     } elseif ($extra_type == EXTRA_RADIO) {
         // Show custom radio selections.
         echo print_radio($extra_name, $extra_arg1, '', $defIdx);
     } elseif ($extra_type == EXTRA_CHECKBOX) {
         // Show custom checkbox option.
         echo print_checkbox(array($extra_name, $extra_arg1, '', $defIdx));
     }
     echo '
             </td>
           </tr>';
 }
 if ($site_extracnt) {
     echo '
       </table>' . (empty($site_extras[0]['FIELDSET']) ? '' : '
     </fieldset>
   </div>');
 }
 // end site-specific extra fields