Exemple #1
0
    }
}
/// First create the form
$editform = new key_form();
$editform->set_data($key);
if ($editform->is_cancelled()) {
    redirect($returnurl);
} elseif ($data = $editform->get_data()) {
    if ($data->id) {
        $record = new object();
        $record->id = $data->id;
        $record->iprestriction = $data->iprestriction;
        $record->validuntil = $data->validuntil;
        update_record('user_private_key', $record);
    } else {
        create_user_key('grade/export', $USER->id, $course->id, $data->iprestriction, $data->validuntil);
    }
    redirect($returnurl);
}
$strkeys = get_string('userkeys', 'userkey');
$strgrades = get_string('grades');
if ($id) {
    $strheading = get_string('edituserkey', 'userkey');
} else {
    $strheading = get_string('createuserkey', 'userkey');
}
$navlinks = array(array('name' => $strgrades, 'link' => $CFG->wwwroot . '/grade/index.php?id=' . $courseid, 'type' => 'misc'), array('name' => $strkeys, 'link' => $CFG->wwwroot . '/grade/export/keymanager.php?id=' . $courseid, 'type' => 'misc'), array('name' => $strheading, 'link' => '', 'type' => 'misc'));
$navigation = build_navigation($navlinks);
/// Print header
print_header_simple($strkeys, ': ' . $strkeys, $navigation, '', '', true, '', navmenu($course));
$editform->display();
 /**
  * Init object based using data from form
  * @param object $formdata
  */
 function process_form($formdata)
 {
     global $USER;
     $this->columns = array();
     if (!empty($formdata->itemids)) {
         foreach ($formdata->itemids as $itemid => $selected) {
             if ($selected and array_key_exists($itemid, $this->grade_items)) {
                 $this->columns[$itemid] =& $this->grade_items[$itemid];
             }
         }
     } else {
         foreach ($this->grade_items as $itemid => $unused) {
             $this->columns[$itemid] =& $this->grade_items[$itemid];
         }
     }
     if (isset($formdata->key)) {
         if ($formdata->key == 1 && isset($formdata->iprestriction) && isset($formdata->validuntil)) {
             // Create a new key
             $formdata->key = create_user_key('grade/export', $USER->id, $this->course->id, $formdata->iprestriction, $formdata->validuntil);
         }
         $this->userkey = $formdata->key;
     }
     if (isset($formdata->export_letters)) {
         $this->export_letters = $formdata->export_letters;
     }
     if (isset($formdata->export_feedback)) {
         $this->export_feedback = $formdata->export_feedback;
     }
     if (isset($formdata->previewrows)) {
         $this->previewrows = $formdata->previewrows;
     }
 }
Exemple #3
0
 /**
  * Init object based using data from form
  * @param object $formdata
  */
 function process_form($formdata)
 {
     global $USER;
     $this->columns = array();
     if (!empty($formdata->itemids)) {
         if ($formdata->itemids == '-1') {
             //user deselected all items
         } else {
             foreach ($formdata->itemids as $itemid => $selected) {
                 if ($selected and array_key_exists($itemid, $this->grade_items)) {
                     $this->columns[$itemid] =& $this->grade_items[$itemid];
                 }
             }
         }
     } else {
         foreach ($this->grade_items as $itemid => $unused) {
             $this->columns[$itemid] =& $this->grade_items[$itemid];
         }
     }
     if (isset($formdata->key)) {
         if ($formdata->key == 1 && isset($formdata->iprestriction) && isset($formdata->validuntil)) {
             // Create a new key
             $formdata->key = create_user_key('grade/export', $USER->id, $this->course->id, $formdata->iprestriction, $formdata->validuntil);
         }
         $this->userkey = $formdata->key;
     }
     if (isset($formdata->decimals)) {
         $this->decimalpoints = $formdata->decimals;
     }
     if (isset($formdata->export_letters)) {
         $this->export_letters = $formdata->export_letters;
     }
     if (isset($formdata->export_feedback)) {
         $this->export_feedback = $formdata->export_feedback;
     }
     if (isset($formdata->export_onlyactive)) {
         $this->onlyactive = $formdata->export_onlyactive;
     }
     if (isset($formdata->previewrows)) {
         $this->previewrows = $formdata->previewrows;
     }
     if (isset($formdata->display)) {
         $this->displaytype = $formdata->display;
         // Used by grade exports which accept multiple display types.
         // If the checkbox value is 0 (unchecked) then remove it.
         if (is_array($formdata->display)) {
             $this->displaytype = array_filter($formdata->display);
         }
     }
     if (isset($formdata->updatedgradesonly)) {
         $this->updatedgradesonly = $formdata->updatedgradesonly;
     }
 }
Exemple #4
0
/**
 * Gets a private user access key (and creates one if one doesn't exist).
 *
 * @param string $script unique target identifier
 * @param int $userid
 * @param int $instance optional instance id
 * @param string $iprestriction optional ip restricted access
 * @param int $validuntil key valid only until given date
 * @return string access key value
 */
function get_user_key($script, $userid, $instance = null, $iprestriction = null, $validuntil = null)
{
    global $DB;
    if ($key = $DB->get_record('user_private_key', array('script' => $script, 'userid' => $userid, 'instance' => $instance, 'iprestriction' => $iprestriction, 'validuntil' => $validuntil))) {
        return $key->value;
    } else {
        return create_user_key($script, $userid, $instance, $iprestriction, $validuntil);
    }
}
Exemple #5
0
 /**
  * Creates an auto-login key for the current user, this key is restricted by time and ip address.
  *
  * @return string the key
  * @since Moodle 3.2
  */
 public static function get_autologin_key()
 {
     global $USER;
     // Delete previous keys.
     delete_user_key('tool_mobile', $USER->id);
     // Create a new key.
     $iprestriction = getremoteaddr();
     $validuntil = time() + self::LOGIN_KEY_TTL;
     return create_user_key('tool_mobile', $USER->id, null, $iprestriction, $validuntil);
 }