예제 #1
0
function gettext_userdetails_actions()
{
    global $CFG, $USER, $messages;
    $action = optional_param('action');
    $id = optional_param('id', 0, PARAM_INT);
    $lang = optional_param('lang', $CFG->defaultlocale, PARAM_ALPHAEXT);
    $lang_db = user_flag_get('language', $id);
    if ($lang == 'default') {
        $lang = $CFG->defaultlocale;
    }
    if (logged_on && !empty($action) && run("permissions:check", array("userdetails:change", $id)) && $action == "userdetails:update") {
        if (!empty($lang)) {
            if ($lang != $lang_db) {
                if (user_flag_set('language', $lang, $id)) {
                    $_SESSION['locale'] = $lang;
                    $USER->locale = $lang;
                    $messages[] .= __gettext("Preferred language") . " " . __gettext("saved") . ".";
                }
            }
        }
    }
}
<?php

// Get the user preferences for the editor
// Userid
$id = (int) $parameter;
// Editor is enabled by default
$value = "yes";
// Query result
if ($result = user_flag_get('visualeditor', $id)) {
    $value = $result;
} else {
    // No result, store a default value
    user_flag_set('visualeditor', $value, $id);
}
$run_result = $value;
예제 #3
0
<?php

// Flag functions: set
// Ben Werdmuller, Sept 05
/* Parameters:

[0] - name of the flag
[1] - user ID
[2] - value to set
    
*/
user_flag_set($parameter[0], $parameter[2], $parameter[1]);
예제 #4
0
function pages_actions()
{
    global $CFG, $messages;
    $action = optional_param('action');
    $do_action = optional_param('do');
    $owner = (int) page_owner();
    $owner = $owner > 0 ? $owner : -1;
    if ((defined('context') && context == 'pages' || defined('pages_external')) && $action == 'pages:edit' && $do_action == 'edit' && permissions_check('pages::edit', $owner)) {
        $submit = optional_param('submit');
        // get page id
        $page_id = optional_param('page');
        if ($submit == __gettext('Save page')) {
            // default values
            $page = pages_input_override(null, $owner);
            // set owner
            // if noerrors
            if (empty($messages)) {
                if ($page->name == 'New page' || $page->title == 'New page') {
                    $messages[] = __gettext('You cannot use "New page" as page title or menu title.');
                }
                // name record exists?
                if ($test = get_record_sql("SELECT ident FROM {$CFG->prefix}pages WHERE name = ? AND owner=?", array($page->name, $owner))) {
                    if (empty($page->ident) || $test->ident != $page->ident) {
                        $messages[] = __gettext('Menu title not available, please choose another.');
                    } else {
                        // update current record uri
                        $page->uri = pages_build_uri($page->name);
                        if (empty($page->uri)) {
                            $messages[] = __gettext('Menu title not available, please choose another.');
                        } elseif ($test = get_record_sql("SELECT ident FROM {$CFG->prefix}pages WHERE uri = ? AND owner=?", array($page->uri, $owner))) {
                            if (empty($page->ident) || $test->ident != $page->ident) {
                                $messages[] = __gettext('Menu title not available, please choose another.');
                            }
                        }
                    }
                } else {
                    // new uri
                    $page->uri = pages_build_uri($page->name);
                    if (empty($page->uri)) {
                        $messages[] = __gettext('Menu title not available, please choose another.');
                    } elseif ($test = get_record_sql("SELECT ident FROM {$CFG->prefix}pages WHERE uri = ? AND owner=?", array($page->uri, $owner))) {
                        if (empty($page->ident) || $test->ident != $page->ident) {
                            $messages[] = __gettext('Menu title not available, please choose another.');
                        }
                    }
                }
                if ($page->parent > 0 && !pages_exists((int) $page->parent, $owner)) {
                    $messages[] = __gettext('Invalid parent menu.');
                }
            }
            if (empty($messages)) {
                // set page owner if empty
                if (empty($page->owner)) {
                    $page->owner = $owner;
                }
                // let's insert the data
                if (empty($page->ident)) {
                    $rs = insert_record('pages', $page);
                    if ($rs) {
                        $messages[] = __gettext('Page created successfully');
                        $page->ident = intval($rs);
                    } else {
                        $messages[] = __gettext('Error creating new page. Please try again.');
                        $page->ident = null;
                    }
                } else {
                    // last chance to verify integrity
                    if (!pages_exists((int) $page->ident, $owner)) {
                        $messages[] = __gettext('Error on update. That page does not exist.');
                        $rs = true;
                    } else {
                        $oldparent = get_field('pages', 'parent', 'ident', $page->ident);
                        $rs = update_record('pages', $page);
                        if ($rs) {
                            $messages[] = __gettext('Page updated successfully');
                            // check parent menu changes
                            // If it's top menu, update childs
                            if ($page->parent != $oldparent && $oldparent == 0) {
                                // set childs' parent to 0 (top menu)
                                execute_sql("UPDATE {$CFG->prefix}pages SET parent=0 WHERE parent={$page->ident} AND owner={$owner}", false);
                            }
                        } else {
                            $messages[] = __gettext('Error updating the page. Please try again.');
                        }
                    }
                }
                // data inserted/updated?
                if ($rs) {
                    // make default?
                    $default = optional_param('page-default');
                    if ($default) {
                        user_flag_set('pages_default', $page->ident, $owner);
                    }
                    pages_header_redirect(pages_url(intval($page->ident), 'pages::page', $owner));
                }
            }
        }
        if ($submit == __gettext('Delete')) {
            // page exists?
            if ($_page = get_record('pages', 'uri', $page_id, 'owner', $owner)) {
                // delete
                delete_records('pages', 'ident', $_page->ident);
                // update childs
                execute_sql("UPDATE {$CFG->prefix}pages SET parent=0 WHERE parent={$_page->ident} AND owner={$owner}", false);
                $messages[] = sprintf(__gettext('Page %s deleted successful.'), $page_id);
                // redirect
                pages_header_redirect(pages_url($owner, 'pages::'));
            } else {
                trigger_error(__FUNCTION__ . ": Trying to delete an non-existent page (page id: {$page_id}, owner: {$owner})", E_USER_NOTICE);
            }
        }
    }
}
             update_record('users', $u);
             $messages[] = sprintf(__gettext("Icon quota was changed to %d."), $change_iconquota);
         }
         // Alter flags for users, including granting and denying admin access,
         // banning users etc
         $flags = optional_param('flag');
         if (empty($flags)) {
             $flags = array();
         }
         if (!is_array($flags)) {
             $flags = array($flags);
         }
         foreach ($flags as $flag => $value) {
             $flag = trim($flag);
             $value = trim($value);
             user_flag_set($flag, $value, $id);
             //$messages[] = sprintf(__gettext("User flag '%s' set to '%s'"), $flag, $value);
         }
     }
     break;
     // Antispam save
 // Antispam save
 case "admin:antispam:save":
     $antispam = trim(optional_param('antispam'));
     $d = new StdClass();
     $d->name = 'antispam';
     $d->value = $antispam;
     delete_records('datalists', 'name', 'antispam');
     insert_record('datalists', $d);
     $messages[] = __gettext("Spam list updated.");
     break;