当前位置: 首页>>代码示例>>PHP>>正文


PHP get_enabled_auth_plugins函数代码示例

本文整理汇总了PHP中get_enabled_auth_plugins函数的典型用法代码示例。如果您正苦于以下问题:PHP get_enabled_auth_plugins函数的具体用法?PHP get_enabled_auth_plugins怎么用?PHP get_enabled_auth_plugins使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了get_enabled_auth_plugins函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: list_enabled_auth_plugins

 private function list_enabled_auth_plugins()
 {
     $plugins = get_enabled_auth_plugins();
     echo "\nList of enabled auth plugins:\n\n";
     for ($i = 0; $i < count($plugins); $i++) {
         echo $i + 1 . ". " . $plugins[$i] . "\n";
     }
 }
开发者ID:dariogs,项目名称:moosh,代码行数:8,代码来源:AuthList.php

示例2: __logout

 function __logout()
 {
     $authsequence = get_enabled_auth_plugins();
     // auths, in sequence
     foreach ($authsequence as $authname) {
         $authplugin = get_auth_plugin($authname);
         $authplugin->logoutpage_hook();
     }
     require_logout();
 }
开发者ID:vinoth4891,项目名称:clinique,代码行数:10,代码来源:clinique_logout.php

示例3: execute

 public function execute()
 {
     global $CFG;
     $action = $this->arguments[0];
     $pluginname = $this->arguments[1];
     // Does the authentication module exist?
     if (!exists_auth_plugin($pluginname)) {
         print_error('pluginnotinstalled', 'auth', '', $pluginname);
     }
     // Get enabled plugins.
     $authsenabled = get_enabled_auth_plugins(true);
     if (empty($CFG->auth)) {
         $authsenabled = array();
     } else {
         $authsenabled = explode(',', $CFG->auth);
     }
     switch ($action) {
         case 'disable':
             $key = array_search($pluginname, $authsenabled);
             if ($key !== false) {
                 unset($authsenabled[$key]);
                 set_config('auth', implode(',', $authsenabled));
             }
             break;
         case 'down':
             $key = array_search($pluginname, $authsenabled);
             if ($key !== false && $key < count($authsenabled) - 1) {
                 $fsave = $authsenabled[$key];
                 $authsenabled[$key] = $authsenabled[$key + 1];
                 $authsenabled[$key + 1] = $fsave;
                 set_config('auth', implode(',', $authsenabled));
             }
         case 'enable':
             if (!in_array($pluginname, $authsenabled)) {
                 $authsenabled[] = $pluginname;
                 $authsenabled = array_unique($authsenabled);
                 set_config('auth', implode(',', $authsenabled));
             }
             break;
         case 'up':
             $key = array_search($pluginname, $authsenabled);
             if ($key !== false && $key >= 1) {
                 $fsave = $authsenabled[$key];
                 $authsenabled[$key] = $authsenabled[$key - 1];
                 $authsenabled[$key - 1] = $fsave;
                 set_config('auth', implode(',', $authsenabled));
             }
             break;
     }
     echo "Auth modules enabled: " . implode(',', $authsenabled) . "\n";
 }
开发者ID:dariogs,项目名称:moosh,代码行数:51,代码来源:AuthManage.php

示例4: __construct

 public function __construct()
 {
     global $CFG, $SESSION, $OUTPUT;
     // Get all alternative login methods and add to potentialipds array.
     $authsequence = get_enabled_auth_plugins(true);
     $potentialidps = [];
     foreach ($authsequence as $authname) {
         if (isset($SESSION->snapwantsurl)) {
             $urltogo = $SESSION->snapwantsurl;
         } else {
             $urltogo = $CFG->wwwroot . '/';
         }
         unset($SESSION->snapwantsurl);
         $authplugin = get_auth_plugin($authname);
         $potentialidps = array_merge($potentialidps, $authplugin->loginpage_idp_list($urltogo));
     }
     if (!empty($potentialidps)) {
         foreach ($potentialidps as $idp) {
             $this->potentialidps[] = (object) ['url' => $idp['url']->out(), 'name' => $idp['name'], 'icon' => $OUTPUT->pix_url($idp['icon']->pix)];
         }
     }
 }
开发者ID:pramithkm,项目名称:moodle-theme_snap,代码行数:22,代码来源:login_alternative_methods.php

示例5: optional_param

*/
require_once '../../config.php';
require_once 'lib.php';
require_once $CFG->libdir . '/adminlib.php';
$confirm = optional_param('confirm', 0, PARAM_BOOL);
require_login();
admin_externalpage_setup('userbulk');
require_capability('moodle/user:update', get_context_instance(CONTEXT_SYSTEM));
$return = $CFG->wwwroot . '/' . $CFG->admin . '/user/user_bulk.php';
if (empty($SESSION->bulk_users)) {
    redirect($return);
}
echo $OUTPUT->header();
if ($confirm and confirm_sesskey()) {
    // only force password change if user may actually change the password
    $authsavailable = get_enabled_auth_plugins();
    $changeable = array();
    foreach ($authsavailable as $authplugin) {
        if (!($auth = get_auth_plugin($authplugin))) {
            continue;
        }
        if ($auth->is_internal() and $auth->can_change_password()) {
            $changeable[$authplugin] = true;
        }
    }
    $parts = array_chunk($SESSION->bulk_users, 300);
    foreach ($parts as $users) {
        list($in, $params) = $DB->get_in_or_equal($users);
        if ($rs = $DB->get_recordset_select('user', "id {$in}", $params)) {
            foreach ($rs as $user) {
                if (!empty($changeable[$user->auth])) {
开发者ID:vuchannguyen,项目名称:web,代码行数:31,代码来源:user_bulk_forcepasswordchange.php

示例6: gc

 /**
  * Periodic timed-out session cleanup.
  */
 public static function gc()
 {
     global $CFG, $DB;
     // This may take a long time...
     \core_php_time_limit::raise();
     $maxlifetime = $CFG->sessiontimeout;
     try {
         // Kill all sessions of deleted and suspended users without any hesitation.
         $rs = $DB->get_recordset_select('sessions', "userid IN (SELECT id FROM {user} WHERE deleted <> 0 OR suspended <> 0)", array(), 'id DESC', 'id, sid');
         foreach ($rs as $session) {
             self::kill_session($session->sid);
         }
         $rs->close();
         // Kill sessions of users with disabled plugins.
         $auth_sequence = get_enabled_auth_plugins(true);
         $auth_sequence = array_flip($auth_sequence);
         unset($auth_sequence['nologin']);
         // No login means user cannot login.
         $auth_sequence = array_flip($auth_sequence);
         list($notplugins, $params) = $DB->get_in_or_equal($auth_sequence, SQL_PARAMS_QM, '', false);
         $rs = $DB->get_recordset_select('sessions', "userid IN (SELECT id FROM {user} WHERE auth {$notplugins})", $params, 'id DESC', 'id, sid');
         foreach ($rs as $session) {
             self::kill_session($session->sid);
         }
         $rs->close();
         // Now get a list of time-out candidates - real users only.
         $sql = "SELECT u.*, s.sid, s.timecreated AS s_timecreated, s.timemodified AS s_timemodified\n                      FROM {user} u\n                      JOIN {sessions} s ON s.userid = u.id\n                     WHERE s.timemodified < :purgebefore AND u.id <> :guestid";
         $params = array('purgebefore' => time() - $maxlifetime, 'guestid' => $CFG->siteguest);
         $authplugins = array();
         foreach ($auth_sequence as $authname) {
             $authplugins[$authname] = get_auth_plugin($authname);
         }
         $rs = $DB->get_recordset_sql($sql, $params);
         foreach ($rs as $user) {
             foreach ($authplugins as $authplugin) {
                 /** @var \auth_plugin_base $authplugin*/
                 if ($authplugin->ignore_timeout_hook($user, $user->sid, $user->s_timecreated, $user->s_timemodified)) {
                     continue;
                 }
             }
             self::kill_session($user->sid);
         }
         $rs->close();
         // Delete expired sessions for guest user account, give them larger timeout, there is no security risk here.
         $params = array('purgebefore' => time() - $maxlifetime * 5, 'guestid' => $CFG->siteguest);
         $rs = $DB->get_recordset_select('sessions', 'userid = :guestid AND timemodified < :purgebefore', $params, 'id DESC', 'id, sid');
         foreach ($rs as $session) {
             self::kill_session($session->sid);
         }
         $rs->close();
         // Delete expired sessions for userid = 0 (not logged in), better kill them asap to release memory.
         $params = array('purgebefore' => time() - $maxlifetime);
         $rs = $DB->get_recordset_select('sessions', 'userid = 0 AND timemodified < :purgebefore', $params, 'id DESC', 'id, sid');
         foreach ($rs as $session) {
             self::kill_session($session->sid);
         }
         $rs->close();
         // Cleanup letfovers from the first browser access because it may set multiple cookies and then use only one.
         $params = array('purgebefore' => time() - 60 * 3);
         $rs = $DB->get_recordset_select('sessions', 'userid = 0 AND timemodified = timecreated AND timemodified < :purgebefore', $params, 'id ASC', 'id, sid');
         foreach ($rs as $session) {
             self::kill_session($session->sid);
         }
         $rs->close();
     } catch (\Exception $ex) {
         debugging('Error gc-ing sessions: ' . $ex->getMessage(), DEBUG_NORMAL, $ex->getTrace());
     }
 }
开发者ID:alanaipe2015,项目名称:moodle,代码行数:71,代码来源:manager.php

示例7: cron_run


//.........这里部分代码省略.........
                } else {
                    trigger_error("Could not create and mail new user password!");
                }
            }
        }
        if (!empty($CFG->usetags)) {
            require_once $CFG->dirroot . '/tag/lib.php';
            tag_cron();
            mtrace('Executed tag cron');
        }
        // Accesslib stuff
        cleanup_contexts();
        mtrace('Cleaned up contexts');
        gc_cache_flags();
        mtrace('Cleaned cache flags');
        // If you suspect that the context paths are somehow corrupt
        // replace the line below with: build_context_path(true);
        build_context_path();
        mtrace('Built context paths');
        if (!empty($CFG->messagingdeletereadnotificationsdelay)) {
            $notificationdeletetime = time() - $CFG->messagingdeletereadnotificationsdelay;
            $DB->delete_records_select('message_read', 'notification=1 AND timeread<:notificationdeletetime', array('notificationdeletetime' => $notificationdeletetime));
            mtrace('Cleaned up read notifications');
        }
        mtrace("Finished clean-up tasks...");
    }
    // End of occasional clean-up tasks
    // Run automated backups if required.
    require_once $CFG->dirroot . '/backup/util/includes/backup_includes.php';
    require_once $CFG->dirroot . '/backup/util/helper/backup_cron_helper.class.php';
    backup_cron_automated_helper::run_automated_backup();
    /// Run the auth cron, if any
    /// before enrolments because it might add users that will be needed in enrol plugins
    $auths = get_enabled_auth_plugins();
    mtrace("Running auth crons if required...");
    foreach ($auths as $auth) {
        $authplugin = get_auth_plugin($auth);
        if (method_exists($authplugin, 'cron')) {
            mtrace("Running cron for auth/{$auth}...");
            $authplugin->cron();
            if (!empty($authplugin->log)) {
                mtrace($authplugin->log);
            }
        }
        unset($authplugin);
    }
    mtrace("Running enrol crons if required...");
    $enrols = enrol_get_plugins(true);
    foreach ($enrols as $ename => $enrol) {
        // do this for all plugins, disabled plugins might want to cleanup stuff such as roles
        if (!$enrol->is_cron_required()) {
            continue;
        }
        mtrace("Running cron for enrol_{$ename}...");
        $enrol->cron();
        $enrol->set_config('lastcron', time());
    }
    if (!empty($CFG->enablestats) and empty($CFG->disablestatsprocessing)) {
        require_once $CFG->dirroot . '/lib/statslib.php';
        // check we're not before our runtime
        $timetocheck = stats_get_base_daily() + $CFG->statsruntimestarthour * 60 * 60 + $CFG->statsruntimestartminute * 60;
        if (time() > $timetocheck) {
            // process configured number of days as max (defaulting to 31)
            $maxdays = empty($CFG->statsruntimedays) ? 31 : abs($CFG->statsruntimedays);
            if (stats_cron_daily($maxdays)) {
                if (stats_cron_weekly()) {
开发者ID:vuchannguyen,项目名称:web,代码行数:67,代码来源:cronlib.php

示例8: print_string

    <td><?php 
print_string("auth_saml_supportcourses_description", "auth_saml");
?>
</td>
</tr>

<tr valign="top">
    <td class="right"><?php 
print_string('auth_saml_syncusersfrom', 'auth_saml');
?>
:</td>
    <td>
        <select name="syncusersfrom">
        <option name="none" value="">Disabled</option>
        <?php 
foreach (get_enabled_auth_plugins() as $name) {
    $plugin = get_auth_plugin($name);
    if (method_exists($plugin, 'sync_users')) {
        print '<option name="' . $name . '" value ="' . $name . '" ' . ($config->syncusersfrom == $name ? 'selected="selected"' : '') . '>' . $name . '</option>';
    }
}
?>
        </select>
    </td>
    <td><?php 
print_string("auth_saml_syncusersfrom_description", "auth_saml");
?>
</td>
</tr>

<tr valign="top" class="required" id="samlcourses_tr" <?php 
开发者ID:blionut,项目名称:elearning,代码行数:31,代码来源:config.php

示例9: cm_jasper_link_enabled

/**
 * Specifies whether the CM system should link to a Jasper
 * reporting server
 *
 * @return  boolean  true if applicable, otherwise false
 */
function cm_jasper_link_enabled()
{
    $show_jasper_link = false;
    //check the necessary auth plugins
    $auths_enabled = get_enabled_auth_plugins();
    $mnet_auth_enabled = in_array('mnet', $auths_enabled);
    $elis_auth_enabled = in_array('elis', $auths_enabled);
    if ($mnet_auth_enabled && $elis_auth_enabled) {
        //check the necessary config data
        $jasper_shortname = get_config('auth/elis', 'jasper_shortname');
        $jasper_wwwroot = get_config('auth/elis', 'jasper_wwwroot');
        if ($jasper_shortname !== false && $jasper_wwwroot !== false) {
            //don't respond to bogus data
            $jasper_shortname = trim($jasper_shortname);
            $jasper_wwwroot = trim($jasper_wwwroot);
            if (strlen($jasper_shortname) > 0 && strlen($jasper_wwwroot) > 0) {
                $show_jasper_link = true;
            }
        }
    }
    return $show_jasper_link;
}
开发者ID:jamesmcq,项目名称:elis,代码行数:28,代码来源:deprecatedlib.php

示例10: authenticate_user_login

/**
 * Authenticates a user against the chosen authentication mechanism
 *
 * Given a username and password, this function looks them
 * up using the currently selected authentication mechanism,
 * and if the authentication is successful, it returns a
 * valid $user object from the 'user' table.
 *
 * Uses auth_ functions from the currently active auth module
 *
 * After authenticate_user_login() returns success, you will need to
 * log that the user has logged in, and call complete_user_login() to set
 * the session up.
 *
 * Note: this function works only with non-mnet accounts!
 *
 * @param string $username  User's username
 * @param string $password  User's password
 * @return user|flase A {@link $USER} object or false if error
 */
function authenticate_user_login($username, $password)
{
    global $CFG, $DB;
    $authsenabled = get_enabled_auth_plugins();
    if ($user = get_complete_user_data('username', $username, $CFG->mnet_localhost_id)) {
        $auth = empty($user->auth) ? 'manual' : $user->auth;
        // use manual if auth not set
        if (!empty($user->suspended)) {
            add_to_log(SITEID, 'login', 'error', 'index.php', $username);
            error_log('[client ' . getremoteaddr() . "]  {$CFG->wwwroot}  Suspended Login:  {$username}  " . $_SERVER['HTTP_USER_AGENT']);
            return false;
        }
        if ($auth == 'nologin' or !is_enabled_auth($auth)) {
            add_to_log(SITEID, 'login', 'error', 'index.php', $username);
            error_log('[client ' . getremoteaddr() . "]  {$CFG->wwwroot}  Disabled Login:  {$username}  " . $_SERVER['HTTP_USER_AGENT']);
            return false;
        }
        $auths = array($auth);
    } else {
        // check if there's a deleted record (cheaply)
        if ($DB->get_field('user', 'id', array('username' => $username, 'deleted' => 1))) {
            error_log('[client ' . getremoteaddr() . "]  {$CFG->wwwroot}  Deleted Login:  {$username}  " . $_SERVER['HTTP_USER_AGENT']);
            return false;
        }
        // User does not exist
        $auths = $authsenabled;
        $user = new stdClass();
        $user->id = 0;
    }
    foreach ($auths as $auth) {
        $authplugin = get_auth_plugin($auth);
        // on auth fail fall through to the next plugin
        if (!$authplugin->user_login($username, $password)) {
            continue;
        }
        // successful authentication
        if ($user->id) {
            // User already exists in database
            if (empty($user->auth)) {
                // For some reason auth isn't set yet
                $DB->set_field('user', 'auth', $auth, array('username' => $username));
                $user->auth = $auth;
            }
            if (empty($user->firstaccess)) {
                //prevent firstaccess from remaining 0 for manual account that never required confirmation
                $DB->set_field('user', 'firstaccess', $user->timemodified, array('id' => $user->id));
                $user->firstaccess = $user->timemodified;
            }
            update_internal_user_password($user, $password);
            // just in case salt or encoding were changed (magic quotes too one day)
            if ($authplugin->is_synchronised_with_external()) {
                // update user record from external DB
                $user = update_user_record($username);
            }
        } else {
            // if user not found, create him
            $user = create_user_record($username, $password, $auth);
        }
        $authplugin->sync_roles($user);
        foreach ($authsenabled as $hau) {
            $hauth = get_auth_plugin($hau);
            $hauth->user_authenticated_hook($user, $username, $password);
        }
        if (empty($user->id)) {
            return false;
        }
        if (!empty($user->suspended)) {
            // just in case some auth plugin suspended account
            add_to_log(SITEID, 'login', 'error', 'index.php', $username);
            error_log('[client ' . getremoteaddr() . "]  {$CFG->wwwroot}  Suspended Login:  {$username}  " . $_SERVER['HTTP_USER_AGENT']);
            return false;
        }
        return $user;
    }
    // failed if all the plugins have failed
    add_to_log(SITEID, 'login', 'error', 'index.php', $username);
    if (debugging('', DEBUG_ALL)) {
        error_log('[client ' . getremoteaddr() . "]  {$CFG->wwwroot}  Failed Login:  {$username}  " . $_SERVER['HTTP_USER_AGENT']);
    }
    return false;
//.........这里部分代码省略.........
开发者ID:hitphp,项目名称:moodle,代码行数:101,代码来源:moodlelib.php

示例11: defined

// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
/**
 * @package    enrol_attributes
 * @author     Nicolas Dunand <Nicolas.Dunand@unil.ch>
 * @copyright  2012-2015 Université de Lausanne (@link http://www.unil.ch}
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
defined('MOODLE_INTERNAL') || die;
if ($ADMIN->fulltree) {
    // 1. Default role
    $options = get_default_enrol_roles(context_system::instance());
    $student = get_archetype_roles('student');
    $student_role = array_shift($student);
    //    $settings->add(new admin_setting_heading('enrol_myunil_defaults', get_string('enrolinstancedefaults', 'admin'),
    //            ''));
    $settings->add(new admin_setting_configselect('enrol_attributes/default_roleid', get_string('defaultrole', 'enrol_attributes'), get_string('defaultrole_desc', 'enrol_attributes'), $student_role->id, $options));
    // 2. Fields to use in the selector
    $customfieldrecords = $DB->get_records('user_info_field');
    if ($customfieldrecords) {
        $customfields = [];
        foreach ($customfieldrecords as $customfieldrecord) {
            $customfields[$customfieldrecord->shortname] = $customfieldrecord->name;
        }
        asort($customfields);
        $settings->add(new admin_setting_configmultiselect('enrol_attributes/profilefields', get_string('profilefields', 'enrol_attributes'), get_string('profilefields_desc', 'enrol_attributes'), [], $customfields));
    }
    // 3. Fields to update via Shibboleth login
    if (in_array('shibboleth', get_enabled_auth_plugins())) {
        $settings->add(new admin_setting_configtextarea('enrol_attributes/mappings', get_string('mappings', 'enrol_attributes'), get_string('mappings_desc', 'enrol_attributes'), '', PARAM_TEXT, 60, 10));
    }
}
开发者ID:ndunand,项目名称:moodle-enrol_attributes,代码行数:31,代码来源:settings.php

示例12: output_html

    /**
     * Return XHTML to display control
     *
     * @param mixed $data Unused
     * @param string $query
     * @return string highlight
     */
    public function output_html($data, $query='') {
        global $CFG, $OUTPUT, $DB;

        // display strings
        $txt = get_strings(array('authenticationplugins', 'users', 'administration',
            'settings', 'edit', 'name', 'enable', 'disable',
            'up', 'down', 'none', 'users'));
        $txt->updown = "$txt->up/$txt->down";
        $txt->uninstall = get_string('uninstallplugin', 'core_admin');
        $txt->testsettings = get_string('testsettings', 'core_auth');

        $authsavailable = core_component::get_plugin_list('auth');
        get_enabled_auth_plugins(true); // fix the list of enabled auths
        if (empty($CFG->auth)) {
            $authsenabled = array();
        } else {
            $authsenabled = explode(',', $CFG->auth);
        }

        // construct the display array, with enabled auth plugins at the top, in order
        $displayauths = array();
        $registrationauths = array();
        $registrationauths[''] = $txt->disable;
        $authplugins = array();
        foreach ($authsenabled as $auth) {
            $authplugin = get_auth_plugin($auth);
            $authplugins[$auth] = $authplugin;
            /// Get the auth title (from core or own auth lang files)
            $authtitle = $authplugin->get_title();
            /// Apply titles
            $displayauths[$auth] = $authtitle;
            if ($authplugin->can_signup()) {
                $registrationauths[$auth] = $authtitle;
            }
        }

        foreach ($authsavailable as $auth => $dir) {
            if (array_key_exists($auth, $displayauths)) {
                continue; //already in the list
            }
            $authplugin = get_auth_plugin($auth);
            $authplugins[$auth] = $authplugin;
            /// Get the auth title (from core or own auth lang files)
            $authtitle = $authplugin->get_title();
            /// Apply titles
            $displayauths[$auth] = $authtitle;
            if ($authplugin->can_signup()) {
                $registrationauths[$auth] = $authtitle;
            }
        }

        $return = $OUTPUT->heading(get_string('actauthhdr', 'auth'), 3, 'main');
        $return .= $OUTPUT->box_start('generalbox authsui');

        $table = new html_table();
        $table->head  = array($txt->name, $txt->users, $txt->enable, $txt->updown, $txt->settings, $txt->testsettings, $txt->uninstall);
        $table->colclasses = array('leftalign', 'centeralign', 'centeralign', 'centeralign', 'centeralign', 'centeralign', 'centeralign');
        $table->data  = array();
        $table->attributes['class'] = 'admintable generaltable';
        $table->id = 'manageauthtable';

        //add always enabled plugins first
        $displayname = $displayauths['manual'];
        $settings = "<a href=\"auth_config.php?auth=manual\">{$txt->settings}</a>";
        //$settings = "<a href=\"settings.php?section=authsettingmanual\">{$txt->settings}</a>";
        $usercount = $DB->count_records('user', array('auth'=>'manual', 'deleted'=>0));
        $table->data[] = array($displayname, $usercount, '', '', $settings, '', '');
        $displayname = $displayauths['nologin'];
        $settings = "<a href=\"auth_config.php?auth=nologin\">{$txt->settings}</a>";
        $usercount = $DB->count_records('user', array('auth'=>'nologin', 'deleted'=>0));
        $table->data[] = array($displayname, $usercount, '', '', $settings, '', '');


        // iterate through auth plugins and add to the display table
        $updowncount = 1;
        $authcount = count($authsenabled);
        $url = "auth.php?sesskey=" . sesskey();
        foreach ($displayauths as $auth => $name) {
            if ($auth == 'manual' or $auth == 'nologin') {
                continue;
            }
            $class = '';
            // hide/show link
            if (in_array($auth, $authsenabled)) {
                $hideshow = "<a href=\"$url&amp;action=disable&amp;auth=$auth\">";
                $hideshow .= "<img src=\"" . $OUTPUT->pix_url('t/hide') . "\" class=\"iconsmall\" alt=\"disable\" /></a>";
                // $hideshow = "<a href=\"$url&amp;action=disable&amp;auth=$auth\"><input type=\"checkbox\" checked /></a>";
                $enabled = true;
                $displayname = $name;
            }
            else {
                $hideshow = "<a href=\"$url&amp;action=enable&amp;auth=$auth\">";
                $hideshow .= "<img src=\"" . $OUTPUT->pix_url('t/show') . "\" class=\"iconsmall\" alt=\"enable\" /></a>";
//.........这里部分代码省略.........
开发者ID:EsdrasCaleb,项目名称:moodle,代码行数:101,代码来源:adminlib.php

示例13: RWSPCReqs

function RWSPCReqs()
{
    global $RWSESL3;
    global $RWSCRURL;
    $r_rwc = RWSGSOpt("rwscas", PARAM_ALPHANUM);
    if ($r_rwc === false || strlen($r_rwc) == 0) {
        return;
    }
    if ($r_rwc != "1" && $r_rwc != "2" && $r_rwc != "3") {
        return;
    }
    $r_ver = RWSGSOpt("version", PARAM_ALPHANUMEXT);
    if ($r_ver === false || strlen($r_ver) == 0) {
        return;
    }
    $r_rwu = RWSGSOpt("rwsuser", PARAM_RAW);
    if ($r_rwu === false || strlen($r_rwu) == 0) {
        unset($r_rwu);
    }
    $r_rwp = RWSGSOpt("rwspass", PARAM_RAW);
    if ($r_rwp === false || strlen($r_rwp) == 0) {
        unset($r_rwp);
    }
    $r_tkt = RWSGSOpt("ticket", PARAM_RAW);
    if ($r_tkt === false || strlen($r_tkt) == 0) {
        unset($r_tkt);
    }
    $r_pid = RWSGSOpt("pgtId", PARAM_RAW);
    if ($r_pid === false || strlen($r_pid) == 0) {
        unset($r_pid);
    }
    $r_piou = RWSGSOpt("pgtIou", PARAM_RAW);
    if ($r_piou === false || strlen($r_piou) == 0) {
        unset($r_piou);
    }
    $r_aus = get_enabled_auth_plugins();
    foreach ($r_aus as $r_aun) {
        $r_aup = get_auth_plugin($r_aun);
        if (strcasecmp($r_aup->authtype, RWSCAS) == 0) {
            $r_csp = $r_aup;
            break;
        }
    }
    if (!isset($r_csp)) {
        return;
    }
    if (empty($r_csp->config->hostname)) {
        return;
    }
    list($r_v1, $r_v2, $r_v3) = explode(".", phpCAS::getVersion());
    $r_csp->connectCAS();
    if ($r_rwc == "1") {
        if (isset($r_tkt)) {
            RWSRHXml();
            echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n";
            echo "<rwscas>\r\n";
            echo "\t<st>";
            echo utf8_encode(htmlspecialchars(trim($r_tkt)));
            echo "\t</st>\r\n";
            echo "</rwscas>\r\n";
            exit;
        } else {
            if ($_SERVER['REQUEST_METHOD'] == "GET") {
                $r_ok = phpCAS::checkAuthentication();
                if (!isset($r_rwu)) {
                    $r_rwu = phpCAS::getUser();
                }
                if (!isset($r_rwp)) {
                    $r_rwp = "passwdCas";
                }
                RWSLIMUser($r_rwu, $r_rwp, $r_ok);
            } else {
                if ($_SERVER['REQUEST_METHOD'] == "POST") {
                    $r_psd = urldecode(file_get_contents("php://input"));
                    if (stripos($r_psd, "<samlp:LogoutRequest ") !== false) {
                        RWSAOLog();
                    }
                }
            }
        }
    } else {
        if ($r_rwc == "2") {
            if (isset($r_pid) && isset($r_piou)) {
                if ($r_csp->config->proxycas) {
                    phpCAS::checkAuthentication();
                }
            } else {
                if ($_SERVER['REQUEST_METHOD'] == "POST") {
                    $r_psd = urldecode(file_get_contents("php://input"));
                    if (stripos($r_psd, "<samlp:LogoutRequest ") !== false) {
                        RWSAOLog();
                    }
                }
            }
        } else {
            if ($r_rwc == "3") {
                if (isset($r_tkt)) {
                    if (strlen($RWSCRURL) > 0) {
                        $r_svu = $RWSCRURL;
                    } else {
//.........这里部分代码省略.........
开发者ID:MoodleMetaData,项目名称:MoodleMetaData,代码行数:101,代码来源:servicelib.php

示例14: process_login

 public static function process_login(\core\event\user_loggedin $event)
 {
     global $CFG, $DB;
     // we just received the event from the authentication system; check if well-formed:
     if (!$event->userid) {
         // didn't get an user ID, return as there is nothing we can do
         return true;
     }
     if (in_array('shibboleth', get_enabled_auth_plugins()) && $_SERVER['SCRIPT_FILENAME'] == $CFG->dirroot . '/auth/shibboleth/index.php') {
         // we did get this event from the Shibboleth authentication plugin,
         // so let's try to make the relevant mappings, ensuring that necessary profile fields exist and Shibboleth attributes are provided:
         $customfieldrecords = $DB->get_records('user_info_field');
         $customfields = array();
         foreach ($customfieldrecords as $customfieldrecord) {
             $customfields[] = $customfieldrecord->shortname;
         }
         $mapping = array();
         $mappings_str = explode("\n", str_replace("\r", '', get_config('enrol_attributes', 'mappings')));
         foreach ($mappings_str as $mapping_str) {
             if (preg_match('/^\\s*([^: ]+)\\s*:\\s*([^: ]+)\\s*$/', $mapping_str, $matches) && in_array($matches[2], $customfields) && array_key_exists($matches[1], $_SERVER)) {
                 $mapping[$matches[1]] = $matches[2];
             }
         }
         if (count($mapping)) {
             // now update user profile data from Shibboleth params received as part of the event:
             $user = $DB->get_record('user', ['id' => $event->userid], '*', MUST_EXIST);
             foreach ($mapping as $shibattr => $fieldname) {
                 if (isset($_SERVER[$shibattr])) {
                     $propertyname = 'profile_field_' . $fieldname;
                     $user->{$propertyname} = $_SERVER[$shibattr];
                 }
             }
             require_once $CFG->dirroot . '/user/profile/lib.php';
             profile_save_data($user);
         }
     }
     // last, process the actual enrolments, whether we're using Shibboleth authentication or not:
     self::process_enrolments($event);
 }
开发者ID:ndunand,项目名称:moodle-enrol_attributes,代码行数:39,代码来源:lib.php

示例15: get_content

 function get_content()
 {
     global $USER, $CFG, $SESSION, $OUTPUT;
     require_once $CFG->libdir . '/authlib.php';
     $wwwroot = '';
     $signup = '';
     if ($this->content !== NULL) {
         return $this->content;
     }
     if (empty($CFG->loginhttps)) {
         $wwwroot = $CFG->wwwroot;
     } else {
         // This actually is not so secure ;-), 'cause we're
         // in unencrypted connection...
         $wwwroot = str_replace("http://", "https://", $CFG->wwwroot);
     }
     if (signup_is_enabled()) {
         $signup = $wwwroot . '/login/signup.php';
     }
     // TODO: now that we have multiauth it is hard to find out if there is a way to change password
     $forgot = $wwwroot . '/login/forgot_password.php';
     if (!empty($CFG->loginpasswordautocomplete)) {
         $autocomplete = 'autocomplete="off"';
     } else {
         $autocomplete = '';
     }
     $username = get_moodle_cookie();
     $this->content = new stdClass();
     $this->content->footer = '';
     $this->content->text = '';
     if (!isloggedin() or isguestuser()) {
         // Show the block
         if (empty($CFG->authloginviaemail)) {
             $strusername = get_string('username');
         } else {
             $strusername = get_string('usernameemail');
         }
         $this->content->text .= "\n" . '<form class="loginform" id="login" method="post" action="' . get_login_url() . '" ' . $autocomplete . '>';
         $this->content->text .= '<div class="form-group"><label for="login_username">' . $strusername . '</label>';
         $this->content->text .= '<input type="text" name="username" id="login_username" class="form-control" value="' . s($username) . '" /></div>';
         $this->content->text .= '<div class="form-group"><label for="login_password">' . get_string('password') . '</label>';
         $this->content->text .= '<input type="password" name="password" id="login_password" class="form-control" value="" ' . $autocomplete . ' /></div>';
         if (isset($CFG->rememberusername) and $CFG->rememberusername == 2) {
             $checked = $username ? 'checked="checked"' : '';
             $this->content->text .= '<div class="form-check">';
             $this->content->text .= '<label class="form-check-label">';
             $this->content->text .= '<input type="checkbox" name="rememberusername" id="rememberusername"
                     class="form-check-input" value="1" ' . $checked . '/> ';
             $this->content->text .= get_string('rememberusername', 'admin') . '</label>';
             $this->content->text .= '</div>';
         }
         $this->content->text .= '<div class="form-group">';
         $this->content->text .= '<input type="submit" class="btn btn-primary btn-block" value="' . get_string('login') . '" />';
         $this->content->text .= '</div>';
         $this->content->text .= "</form>\n";
         if (!empty($signup)) {
             $this->content->text .= '<div><a href="' . $signup . '">' . get_string('startsignup') . '</a></div>';
         }
         if (!empty($forgot)) {
             $this->content->text .= '<div><a href="' . $forgot . '">' . get_string('forgotaccount') . '</a></div>';
         }
         $authsequence = get_enabled_auth_plugins(true);
         // Get all auths, in sequence.
         $potentialidps = array();
         foreach ($authsequence as $authname) {
             $authplugin = get_auth_plugin($authname);
             $potentialidps = array_merge($potentialidps, $authplugin->loginpage_idp_list($this->page->url->out(false)));
         }
         if (!empty($potentialidps)) {
             $this->content->text .= '<div class="potentialidps">';
             $this->content->text .= '<h6>' . get_string('potentialidps', 'auth') . '</h6>';
             $this->content->text .= '<div class="potentialidplist">';
             foreach ($potentialidps as $idp) {
                 $this->content->text .= '<div class="potentialidp"><a href="' . $idp['url']->out() . '" title="' . s($idp['name']) . '">';
                 $this->content->text .= $OUTPUT->render($idp['icon'], $idp['name']) . s($idp['name']) . '</a></div>';
             }
             $this->content->text .= '</div>';
             $this->content->text .= '</div>';
         }
     }
     return $this->content;
 }
开发者ID:EsdrasCaleb,项目名称:moodle,代码行数:82,代码来源:block_login.php


注:本文中的get_enabled_auth_plugins函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。