$acc = $accountDAO->getUrlAndLocation(); $location = $acc->location; $url = $acc->url; } if ($accountDAO->accountNameExists((string) $formData->accountName, $url)) { $formErrors[] = get_string('erroraccountexists', 'block_moodletxt'); } else { if ($formData->accountCtxtInstance !== TxttoolsAccount::$UK_LOCATION && $formData->accountCtxtInstance !== TxttoolsAccount::$US_LOCATION && ($formData->accountCtxtInstance !== 'URL' && $formData->accountUrl)) { $formErrors[] = get_string('errorinvalidlocationorurl', 'block_moodletxt'); } else { $encrypter = new MoodletxtEncryption(); $key = get_config('moodletxt', 'EK'); $xmlController = MoodletxtOutboundControllerFactory::getOutboundController(MoodletxtOutboundControllerFactory::$CONTROLLER_TYPE_XML); $defaultUser = $userDAO->getUserById($formData->accountDefaultInbox); $txttoolsAccount = new TxttoolsAccount((string) $formData->accountName, (string) $formData->accountDescription, $defaultUser, $url, $location); $txttoolsAccount->setEncryptedPassword($encrypter->encrypt($key, $formData->accountPassword1, 20)); if ($location === 'URL') { $location = $xmlController->getServerLocation($txttoolsAccount); $txttoolsAccount->setLocation($location); } $txttoolsAccount = $xmlController->updateAccountInfo($txttoolsAccount); $accountDAO->saveTxttoolsAccount($txttoolsAccount); redirect($CFG->wwwroot . '/blocks/moodletxt/settings_accounts.php', get_string('redirectaccountsfound', 'block_moodletxt')); } } } catch (MoodletxtRemoteProcessingException $ex) { $connErrors['remoteError'] = $ex->getCode(); } catch (Exception $ex) { $connErrors['connectError'] = $ex->getCode(); } }
/** * Takes the vanilla object returned as a database row and creates a full-fledged * sent message object from it, complete with dependent beans, methods, the works * @param stdClass $stdObject Raw database-level data object * @return MoodletxtOutboundMessage Constructed message object * @version 2015062901 * @since 2011081101 */ private function convertStandardClassToBean($stdObject) { $defaultUser = new MoodletxtBiteSizedUser($stdObject->defaultuser, $stdObject->defaultusername, $stdObject->defaultfirst, $stdObject->defaultlast); $txttoolsAccount = new TxttoolsAccount($stdObject->txttoolsuser, $stdObject->description, $defaultUser, $stdObject->url, $stdObject->location); if (isset($stdObject->encrypted)) { $txttoolsAccount->setEncryptedPassword($stdObject->encrypted); } $messageOwner = new MoodletxtBiteSizedUser($stdObject->moodleuserid, $stdObject->moodleuser, $stdObject->firstname, $stdObject->lastname); $outboundMessage = new MoodletxtOutboundMessage($txttoolsAccount, $messageOwner, $stdObject->messagetext, $stdObject->timesent, $stdObject->type); if (isset($stdObject->scheduledfor)) { $outboundMessage->setScheduledTime($stdObject->scheduledfor); } if (isset($stdObject->id)) { $outboundMessage->setId($stdObject->id); } $eventCreated = $stdObject->fromevent == '1' ? true : false; $outboundMessage->setEventCreated($eventCreated); return $outboundMessage; }
/** * Converts a basic object returned from the * Moodle DB layer into a full data type * @param object $standardClass DB record object * @return txttoolsAccount Converted acount * @version 2015062901 * @since 2011042601 */ private function convertStandardClassToBean($standardClass) { $defaultUser = new MoodletxtBiteSizedUser($standardClass->defaultuser, $standardClass->defaultusername, $standardClass->firstname, $standardClass->lastname); $txttoolsAccount = new TxttoolsAccount($standardClass->username, $standardClass->description, $defaultUser, $standardClass->url, $standardClass->location, $standardClass->creditsused, $standardClass->creditsremaining, $standardClass->outboundenabled, $standardClass->inboundenabled, $standardClass->accounttype, $standardClass->lastupdate, $standardClass->id); $txttoolsAccount->setEncryptedPassword($standardClass->password); return $txttoolsAccount; }