コード例 #1
0
 /**
  * Validation routine for account form
  * @param array $formdata Submitted data from form
  * @param object $files File uploads from form
  * @return Array of errors, if any found
  * @version 2015062901
  * @since 2011042601
  */
 public function validation($formdata, $files = null)
 {
     $accountDAO = new TxttoolsAccountDAO();
     $accountCount = $accountDAO->countTxttoolsRecords();
     $err = array();
     $formdata['accountCtxtInstance'] = trim($formdata['accountCtxtInstance']);
     $formdata['accountUrl'] = trim($formdata['accountUrl']);
     $formdata['accountName'] = trim($formdata['accountName']);
     $formdata['accountPassword1'] = trim($formdata['accountPassword1']);
     $formdata['accountPassword2'] = trim($formdata['accountPassword2']);
     $formdata['accountDescription'] = trim($formdata['accountDescription']);
     $formdata['accountDefaultInbox'] = trim($formdata['accountDefaultInbox']);
     if ($formdata['accountPassword1'] !== $formdata['accountPassword2']) {
         $err['accountPassword1'] = get_string('errornopasswordmatch', 'block_moodletxt');
     }
     if ($accountCount < 1 && $formdata['accountCtxtInstance'] === 'URL' && !$formdata['accountUrl']) {
         $err['accountUrl'] = get_string('errornourl', 'block_moodletxt');
     }
     return $err;
 }
コード例 #2
0
 */
require_once '../../config.php';
require_once $CFG->libdir . '/adminlib.php';
require_once $CFG->dirroot . '/blocks/moodletxt/dao/TxttoolsAccountDAO.php';
require_once $CFG->dirroot . '/blocks/moodletxt/dao/MoodletxtMoodleUserDAO.php';
require_once $CFG->dirroot . '/blocks/moodletxt/forms/NewTxttoolsAccountForm.php';
require_once $CFG->dirroot . '/blocks/moodletxt/lib/MoodletxtEncryption.php';
require_once $CFG->dirroot . '/blocks/moodletxt/connect/MoodletxtOutboundControllerFactory.php';
require_login();
require_capability('block/moodletxt:adminsettings', context_system::instance());
// OK, so you're legit. Let's load DAOs
$accountDAO = new TxttoolsAccountDAO();
$userDAO = new MoodletxtMoodleUserDAO();
// Check for txttools accounts - if there are no accounts in the system, we'll
// display the "new installation" page introduction, rather than the standard one
$numberOfAccounts = $accountDAO->countTxttoolsRecords();
admin_externalpage_setup('manageblocks');
// Shortcut function sets up page for block admin
$PAGE->set_url('/blocks/moodletxt/settings_accounts_new.php');
$PAGE->set_button('');
// Clear editing button
$PAGE->set_focuscontrol('id_accountName');
// Focus username field on load
$PAGE->set_docs_path('admin/setting/moodletxtaccountsnew');
// External admin pages get their MoodleDocs links messed up
$PAGE->navbar->add(get_string('navmoodletxt', 'block_moodletxt'), $CFG->wwwroot . '/admin/settings.php?section=blocksettingmoodletxt', navigation_node::TYPE_CUSTOM, 'moodletxt');
$PAGE->navbar->add(get_string('navaccounts', 'block_moodletxt'), $CFG->wwwroot . '/blocks/moodletxt/settings_accounts.php', navigation_node::TYPE_CUSTOM, 'moodletxt');
if ($numberOfAccounts == 0) {
    $PAGE->set_heading(get_string('headernewinstall', 'block_moodletxt'));
    $PAGE->set_title(get_string('titlenewinstall', 'block_moodletxt'));
    $PAGE->navbar->add(get_string('navnewaccount', 'block_moodletxt'), null, navigation_node::TYPE_CUSTOM, 'moodletxt');