function methodProcessForm() { $aForm = $this->loadForm(); //var_dump($aForm["form"]); if (!$this->validateForm($aForm["form"])) { FlexiLogger::error(__METHOD__, "Validation failed"); $this->addMessage("Validation failed", "error"); return $this->renderForm($aForm); } //var_dump($this->getRequest("txtListKey")); $oModel = $this->getModelFromForm("RepositoryListValuesTable", $aForm["form"]); if (!$oModel->isValid()) { FlexiLogger::error(__METHOD__, "Validation failed."); $this->addMessage("Validation failed.", "error"); return $this->runControl("form"); } try { $oModel->replace(); //$this->oView->addVar("message", "saved."); $this->addMessage("Saved", "success"); return $this->redirectControl(null, "default"); } catch (Exception $e) { FlexiLogger::error(__METHOD__, "Save failed:" . $e->getMessage()); return $this->runControl("form"); } }
public function render($sView, $aVariables = null, $asPath = null) { if (!is_null($aVariables)) { $vars = FlexiArrayUtil::cloneArray($aVariables); } else { //var_dump($this->aVariables); $vars = FlexiArrayUtil::cloneArray($this->aVariables); } $vars["#viewpath"] = $asPath; $vars["#css"] = $this->aHeader["css"]; $vars["#js"] = $this->aHeader["js"]; $vars["#template"] = $this->sTemplate; $sViewFile = ""; //final file $sViewFile = $this->getViewFile($sView, $asPath); if (empty($sViewFile)) { FlexiLogger::error(__METHOD__, "View: " . $sView . " is missing..."); return null; } //echo "rendering view: " . $sViewFile; ob_start(); //FlexiLogger::info(__METHOD__, "found view: " . $sViewFile); require $sViewFile; $sResult = ob_get_contents(); @ob_end_clean(); return $sResult; }
public function getMe() { if (is_null($this->me)) { $this->startSession(); try { $this->me = $this->facebook->api('/me'); //var_dump($this->me); } catch (FacebookApiException $e) { FlexiLogger::error(__METHOD__, "failed"); } } return $this->me; }
/** * Check if login session is same as last login in db */ public function checkLoginSession() { $iUserId = $this->getLoggedInUserId(); $oModel = FlexiModelUtil::getDBQuery("ModxWebUserAttributes", "flexiphp/base/FlexiAdminUser")->where("internalKey=?", array($iUserId))->fetchOne(); if ($oModel !== false && $oModel != null) { //check session $sSessionId = session_id(); if ($sSessionId != $oModel->sessionid) { FlexiLogger::error(__METHOD__, "Login expired: " . $sSessionId . " vs " . $oModel->sessionid); $this->onLogout(); return false; } } return true; }
public function onLogin(&$asLoginId, &$asLoginPass, &$asConfig = array()) { global $modx; $sDBPass = md5($asLoginPass); FlexiLogger::debug(__METHOD__, "Trying to login: "******", " . $asLoginPass . "(" . $sDBPass . ")"); $aParams = array("loginid" => &$asLoginId, "password" => &$asLoginPass, "config" => &$asConfig); FlexiEvent::triggerEvent("preLogin", $aParams); $sType = $asConfig["type"]; if ($sType == "user") { $bean = FlexiModelUtil::getInstance()->getRedbeanFetchOne("select * from " . FlexiConfig::$sDBPrefix . "users" . " where user_name=:user_name and password=:password AND deleted = 'N'", array(":user_name" => $asLoginId, ":password" => $sDBPass)); if (empty($bean["user_id"])) { FlexiLogger::error(__METHOD__, "User Id: " . $iUserId . "({$sType}) not found"); } else { $bStatus = true; } } else { if ($sType == "seller") { $bean = FlexiModelUtil::getInstance()->getRedbeanFetchOne("select * from " . FlexiConfig::$sDBPrefix . "artists" . " where artist_name=:user_name and password=:password AND deleted = 'N'", array(":user_name" => $asLoginId, ":password" => $sDBPass)); if (empty($bean["artist_id"])) { FlexiLogger::error(__METHOD__, "User Id: " . $iUserId . "({$sType}) not found"); } else { $bStatus = true; } } } $mReturn = array("msg" => ""); $aParams = array("status" => &$bStatus, "user" => &$bean, "loginid" => &$asLoginId, "password" => &$asLoginPass, "config" => &$asConfig, "return" => &$mReturn); FlexiEvent::triggerEvent("postLogin", $aParams); if ($bStatus) { FlexiLogger::debug(__METHOD__, "Login Success: " . $asLoginId . "({$sType})"); if ($sType == "user") { $_SESSION["sess_username"] = $bean["user_name"]; $_SESSION["sess_userid"] = $bean["user_id"]; } else { if ($sType == "seller") { $_SESSION["sess_artistname"] = $bean["artist_name"]; $_SESSION["sess_artistid"] = $bean["artist_id"]; } } if ($bean["user_id"] == FlexiConfig::$iAdminId) { $adminbean = FlexiModelUtil::getInstance()->getRedbeanFetchOne("select * from " . FlexiConfig::$sDBPrefix . "settings limit 1"); $_SESSION["sess_adminname"] = $adminbean["admin_name"]; } return true; } FlexiLogger::debug(__METHOD__, "Login Failed: " . $asLoginId); return false; }
public function informError($sMsg) { //echo, write to file, and mail? $aLine = explode("\n", $sMsg); $sResult = ""; foreach ($aLine as $sLine) { $sResult .= "[" . get_class($this) . "]:" . $sLine . "<br/>\n"; } echo $sResult; FlexiLogger::error(__METHOD__, $sResult); if (!empty($this->sInformEmail)) { $sHeader = "From: " . FlexiConfig::$sSupportEmail . "\n" . "Reply-to: " . FlexiConfig::$sSupportEmail; $oMail = FlexiMailer::getInstance(); $oMail->mail(FlexiConfig::$sBaseURLDir . ":Error", $sResult, $this->sInformEmail, "text"); } }
public function onUpdate($oModel) { FlexiLogger::error(__METHOD__, "Model: " . $oModel->id); $aForm = self::getFormFields(); FlexiModelUtil::validateForm($aForm, $oModel); }
public function onLogin(&$asLoginId, &$asLoginPass, &$asConfig = array()) { global $modx; $sDBPass = md5($asLoginPass); $aParams = array("loginid" => &$asLoginId, "password" => &$asLoginPass, "config" => &$asConfig); FlexiEvent::triggerEvent("preLogin", $aParams); $aWhere = array("username" => $asLoginId, "password" => $sDBPass); $oQuery = $modx->newQuery("modUser")->where($aWhere); $oUser = $modx->getObject("modUser", $oQuery); if (is_null($oUser)) { return false; } $bStatus = false; if (FlexiConfig::$bRequireEmailVerification) { $oProfile = $oUser->getOne("Profile"); if ($oProfile) { $oExtend = $oProfile->get("extend"); if (!empty($oExtend)) { if ($oExtend->get("verified") != 1) { FlexiLogger::error(__METHOD__, "Account not verified: " . $oUser->get("id")); return false; } } //if extend has value } //if profile exists $bStatus = true; } else { $bStatus = true; } FlexiLogger::info(__METHOD__, "after verification"); $mReturn = array("msg" => ""); $aParams = array("status" => &$bStatus, "user" => &$oUser, "loginid" => &$asLoginId, "password" => &$asLoginPass, "config" => &$asConfig, "return" => &$mReturn); FlexiEvent::triggerEvent("postLogin", $aParams); if ($bStatus) { FlexiLogger::info(__METHOD__, "Login Success: " . $asLoginId . ", op context: " . $asConfig["context"]); $additionalContext = ""; $loginContext = !empty($asConfig["context"]) ? $asConfig["context"] : "web"; if (strpos($loginContext, ",") !== false) { $contexts = explode(",", $loginContext); $loginContext = array_shift($contexts); $additionalContext = implode(",", $contexts); } /* set default POST vars if not in form */ $scriptProperties = array("username" => $asLoginId, "password" => $asLoginPass, "rememberme" => isset($asConfig["rememberme"]) ? $asConfig["rememberme"] : false, "session_cookie_lifetime" => isset($asConfig["session_cookie_lifetime"]) ? $asConfig["session_cookie_lifetime"] : null, "login_context" => $loginContext); if (!empty($additionalContext)) { $scriptProperties["add_contexts"] = $additionalContext; } FlexiLogger::debug(__METHOD__, "Login: "******"Trying to login: "******"url: " . $response['object']['url']; if (!empty($response) && is_array($response)) { if (!empty($response['success']) && isset($response['object'])) { FlexiLogger::info(__METHOD__, "Modx2.Login Success: " . $asLoginId); FlexiLogger::info(__METHOD__, "groups: " . implode(",", $modx->getAuthenticatedUser($loginContext)->getResourceGroups())); } else { FlexiLogger::error(__METHOD__, "Modx2.Login Failed: " . $asLoginId . ", " . print_r($response, true)); } } //success // $_SESSION["webValidated"] = 1; // $_SESSION["webInternalKey"] = $oUser->get("id"); // $_SESSION['webShortname'] = $oUser->get("username"); // $_SESSION['userid'] = $oUser->get("id"); // // //getting group names // FlexiLogger::info(__METHOD__, "Logged in: " . $_SESSION['webShortname']); // $aGroupModel = $oUser->getMany("UserGroupMembers"); // FlexiLogger::info(__METHOD__, "Doc groups: " . count($aGroupModel)); // $aGroup = array(); // foreach($aGroupModel as $oGroup) { // foreach($oGroup->GroupAccess as $oAccess) { // $aGroup[] = $oGroup->getOne("UserGroup")->get("name"); // } // } // $_SESSION['webDocgroups'] = $aGroup; return true; } FlexiLogger::debug(__METHOD__, "Login Failed: " . $asLoginId); return false; }
public function methodLogin() { $sUserId = $this->getPost("txtLogin"); $sPassword = $this->getPost("txtPassword"); $sRedirect = $this->getRequest("refurl"); $iStandalone = $this->getRequest("standalone", 0); $sRemember = $this->getRequest("rememberme", false); $sContext = $this->getRequest("context", ""); if (FlexiConfig::$sFramework == "modx") { $sLoginMode = $this->getRequest("webloginmode"); if (!empty($sLoginMode)) { //logout of modx core... //so we redirect to main $this->setViewName("returnhome"); return false; } } //is logout if (FlexiConfig::$sFramework == "modx2") { if ($this->getRequest("service") == "logout") { $this->setViewName("returnhome"); return false; } } //FlexiLogger::info(__METHOD__, "Attemptng to login: "******", pwd: " . $sPassword); $sRedirect = empty($sRedirect) ? "" : FlexiCryptUtil::b64Decrypt($sRedirect); if (FlexiConfig::$sFramework == "modx2") { $sRedirect = str_replace(array('?service=logout', '&service=logout', '&service=logout'), '', $sRedirect); } $aOption = array("url" => $sRedirect); $aOption["standalone"] = $iStandalone == 1 ? true : false; $aOption["rememberme"] = empty($sRemember) ? false : true; $aOption["context"] = empty($sContext) ? null : $sContext; //die("url: " . $sRedirect); $oLogin = FlexiConfig::getLoginHandler(); if (!$oLogin->existsUser($sUserId)) { $sMessage = flexiT("Login fail", "first"); $this->addMessage($sMessage, "error"); $aOption["error"] = $sMessage; FlexiLogger::error(__METHOD__, $sMessage); $sURL = FlexiConfig::getLoginHandler()->getLoginURL($sUserId, $sPassword, $aOption); //return $this->redirectURL(FlexiPlatformHandler::getReferrerURL()); return $this->redirectURL($sURL); } //FlexiLogger::error(__METHOD__, "b4"); if (FlexiConfig::$bRequireEmailVerification && !$oLogin->getIsVerified($sUserId)) { $sMessage = flexiT("Sorry, please verify your email first", "first"); FlexiLogger::error(__METHOD__, $sMessage); $this->addMessage($sMessage, "error"); $this->addMessage("<a href='" . $this->url(array("txtLogin" => $sUserId), "resendVerify") . "'>Click here to resend your verification</a>", "error"); $aOption["error"] = 1; $sURL = FlexiConfig::getLoginHandler()->getLoginURL($sUserId, $sPassword, $aOption); //return $this->redirectURL(FlexiPlatformHandler::getReferrerURL()); return $this->redirectURL($sURL); } //FlexiLogger::error(__METHOD__, "after"); $bResult = $oLogin->doLogin($sUserId, $sPassword, $aOption); if ($bResult) { FlexiLogger::debug(__METHOD__, "login ok"); $this->oView->addVar("url", $sRedirect); return true; } else { $sMessage = flexiT("Login fail", "first"); FlexiLogger::error(__METHOD__, $sMessage); $this->addMessage($sMessage, "error"); $aOption["error"] = $sMessage; //die("redirect: " . $sRedirect); $sURL = FlexiConfig::getLoginHandler()->getLoginURL($sUserId, $sPassword, $aOption); //return $this->redirectURL(FlexiPlatformHandler::getReferrerURL()); return $this->redirectURL($sURL); } }
/** * Run control with custom view variable name or no render view * @param String $asMethod * @param String $asModule * @param String $asRenderViewName * @return boolean */ public function _runControl($asMethod, $asModule = null, $asRenderViewName = "") { $sMethod = "method" . ucfirst($asMethod); $sModule = get_class($this); if (!empty($asModule) && $sModule != $asModule . "Controller") { FlexiLogger::debug(__METHOD__, "Calling other class: " . $sModule . "::" . $sMethod); $aResult = FlexiController::getInstance()->_run($asModule, $asMethod, $this->oView); return $aResult["return"]; } FlexiLogger::debug(__METHOD__, "Calling: " . $sModule . "::" . $sMethod); if (!method_exists($this, $sMethod)) { FlexiLogger::error(__METHOD__, "module: " . $sModule . ", method: " . $asMethod . " is missing."); die("method: " . $asMethod . " of module: " . $sModule . " does not exists"); return false; } $this->setViewName($asMethod); //Flexilogger::info(__METHOD__, "Setting Render view var name: " . $asRenderViewName); //echo "setting render view: " . $asRenderViewName . "<Br/>\n"; $this->setRenderViewName($asRenderViewName); //Flexilogger::info(__METHOD__, "Checking permission: " . $asMethod); $this->checkPermission($asMethod); Flexilogger::debug(__METHOD__, "Permission (OK): " . $asMethod); //Flexilogger::debug(__METHOD__, "Setted view"); $sModuleName = substr($sModule, 0, -10); $this->oView->addVar("#module", $sModuleName); $this->oView->addVar("#method", $asMethod); $sModulePath = FlexiController::getControllerPath($sModuleName); //+1 due to extra / //$this->oView->addVar("#modulepath", substr($sModulePath, strlen(FlexiConfig::$sRootDir)+1)); $this->oView->addVar("#modulepath", $sModulePath); //if (FlexiConfig::$bIsAdminPath) echo "root: " . FlexiConfig::$sRootDir . "\r\n<br/>"; //if (FlexiConfig::$bIsAdminPath) echo "modpath: " . $sModulePath . "\r\n<br/>"; if ((FlexiConfig::$sFramework == "modx" || FlexiConfig::$sFramework == "modx2") && FlexiConfig::$bIsAdminPath) { $sRootDir = dirname(FlexiConfig::$sRootDir); $this->oView->addVar("#moduleurl", (FlexiConfig::$sFramework == "modx2" ? "../" : "") . substr($sModulePath, strlen($sRootDir) + 1)); } else { $sRootDir = FlexiConfig::$sRootDir; $this->oView->addVar("#moduleurl", substr($sModulePath, strlen($sRootDir) + 1)); } //Flexilogger::debug(__METHOD__, "Calling beforeControl: " . $asMethod); if (!$this->beforeControl($asMethod)) { return false; } //Flexilogger::debug(__METHOD__, "Running method: " . $sMethod); //echo "b4: " . $this->sLayoutTemplate; $bReturn = $this->{$sMethod}(); //echo "after: " . $this->sLayoutTemplate; //die(); //FlexiLogger::debug(__METHOD__, "Return: " . $sModuleName . "::" . $sMethod . ": " . serialize($bReturn)); if (is_null($bReturn)) { throw new FlexiException("No return after for: " . $sModuleName . "::" . $sMethod, ERROR_RETURNVALUE); } $this->afterControl($asMethod, $bReturn); //echo "getting view var: " . $asRenderViewName . "<Br/>\n"; if (!empty($this->sRenderViewName)) { //Flexilogger::info(__METHOD__, "Rendering View: " . $this->sRenderViewName . ":" . $this->sViewName . " method:" . $asMethod); //echo __METHOD__ . "Rendering View: " . $this->sRenderViewName . ", tpl: " . $this->sViewName . ", method:" . $asMethod . "<br/>\n"; //only render if view name exists if (!empty($this->sViewName)) { $this->oView->addVar($this->sRenderViewName, $this->renderView()); } } else { Flexilogger::debug(__METHOD__, "No view to render: " . $this->sRenderViewName); } //FlexiLogger::info(__METHOD__, "rendered output: " . $this->oView->getVar($this->sRenderViewName)); return $bReturn; }
public function verifyUser($iId, $sCode) { $oModel = FlexiModelUtil::getDBQuery("ModxWebUsers", "flexiphp/base/FlexiAdminUser")->where("id=?", array($iId))->fetchOne(); if ($oModel === false) { return false; } //echo "Comparing: " . $sCode . " vs " . $oModel->Extend->verifycode; try { //echo "same :)"; if ($oModel->Extend->verifycode == $sCode) { $oModel->Extend->verified = 1; $oModel->Extend->replace(); return true; } } catch (Exception $e) { //echo "error: " . $e->getMessage(); FlexiLogger::error(__METHOD__, "Unable to save User verification"); return false; } }
/** * @param string message * @param int code: * 0: uncategoriesed code, 1: invalid class type */ public function __construct($message = "", $code = 0) { FlexiLogger::error(__METHOD__, $code . ":" . $message); parent::__construct($message, $code); }
function methodModXProcessform() { $iId = $this->getRequest("rid"); $aForm = $this->loadForm(); if (!empty($iId)) { $oModel = $this->getDBQuery("ModxWebUsers")->where("id=?", array($iId))->fetchOne(); if ($oModel === false) { FlexiLogger::error(__METHOD__, "Record not found."); $this->addMessage("Record not found", "error"); return $this->renderForm($aForm); } $oModel = $this->getModelFromForm($oModel, $aForm["form"]); } else { $oModel = $this->getModelFromForm("ModxWebUsers", $aForm["form"]); } $oModel->Attributes->fullname = $aForm["form"]["txtFullName"]["#value"]; //$oModel->dob = "1980-01-01"; if (!$this->validateFormByModel($aForm["form"], $oModel) || !$this->validateForm($aForm["form"])) { FlexiLogger::error(__METHOD__, "Validation failed: " . $oModel->getErrorStackAsString()); $this->addMessage("Validation failed", "error"); return $this->renderForm($aForm); } FlexiLogger::debug(__METHOD__, "ok"); try { $oModel->replace(); $oGroupModel = $this->getModelInstance("ModxWebGroups"); $oGroupModel->webuser = $oModel->id; $oGroupModel->webgroup = 2; //hardcoded to registered user $oGroupModel->replace(); //$this->oView->addVar("message", "saved."); $this->addMessage("Saved", "success"); return $this->runControl("default"); } catch (Exception $e) { FlexiLogger::error(__METHOD__, "Save failed:" . $e->getMessage()); $this->addMessage("Error saving: " . $e->getMessage(), "error"); return $this->runControl("form"); } }
public static function includeModelFile($asName, $asPath) { $sModelClass = $asName; if (!class_exists($sModelClass)) { $oInstance = self::getInstance(); $sModelFile = $oInstance->getModelFile($sModelClass, $asPath); if (is_null($sModelFile)) { FlexiLogger::error(__METHOD__, "Model: " . $asName . " of " . $asPath . " is missing..."); throw new FlexiException("Model: " . $asName . " of " . $asPath . " is missing..."); } else { FlexiLogger::debug(__METHOD__, "Including model: " . $sModelFile); require_once $sModelFile; return; } } }
public function checkPermission($sTitle) { if (!$this->hasAccessToContent($sTitle)) { FlexiLogger::error(__METHOD__, "Permission denied: " . get_class($this) . ":" . $sTitle); FlexiController::getInstance()->redirectURL(FlexiConfig::$sBaseURL . "?" . FlexiConfig::getRequestModuleVarName() . "=FlexiLogin&" . FlexiConfig::getRequestMethodVarName() . "=denied"); } FlexiPlatformHandler::getPlatformHandler()->forceDie(); }
public function getNewController($sControl, $oView, $sMethodName, $sModulePath) { $sClassName = $sControl . "Controller"; $sBaseDir = $this->env["basedir"]; $sModulePath = ""; //echo "trying: " . $sControl; FlexiLogger::debug(__METHOD__, "Env.BaseDir: " . $sBaseDir . ", cwd: " . getcwd() . ", modpath: " . FlexiConfig::$sModulePath); FlexiLogger::debug(__METHOD__, "Checking sModulePath: " . FlexiConfig::$sModulePath . "/" . $sControl); FlexiLogger::debug(__METHOD__, "Checking sModulePath: " . $sBaseDir . "/modules/" . $sControl); FlexiLogger::debug(__METHOD__, "Checking sModulePath: " . $sBaseDir . "/base/" . $sControl); if (is_file(FlexiConfig::$sModulePath . "/" . $sControl . "/controller.php")) { $sModulePath = FlexiConfig::$sModulePath . "/" . $sControl; require_once $sModulePath . "/controller.php"; } else { if (is_file(FlexiConfig::$sModulePath . "/" . strtolower($sControl) . "/controller.php")) { $sModulePath = FlexiConfig::$sModulePath . "/" . strtolower($sControl); require_once $sModulePath . "/controller.php"; } else { if (is_file($sBaseDir . "/modules/" . $sControl . "/controller.php")) { $sModulePath = $sBaseDir . "/modules/" . $sControl; FlexiLogger::debug(__METHOD__, "Checking sModulePath: " . $sModulePath); require_once $sModulePath . "/controller.php"; } else { if (is_file($sBaseDir . "/modules/" . strtolower($sControl) . "/controller.php")) { $sModulePath = $sBaseDir . "/modules/" . strtolower($sControl); FlexiLogger::debug(__METHOD__, "Checking sModulePath: " . $sModulePath); require_once $sModulePath . "/controller.php"; } else { if (is_file($sBaseDir . "/base/" . $sControl . "/controller.php")) { $sModulePath = $sBaseDir . "/base/" . $sControl; FlexiLogger::debug(__METHOD__, "Checking sModulePath: " . $sModulePath); require_once $sModulePath . "/controller.php"; } else { if (is_file($sBaseDir . "/base/" . strtolower($sControl) . "/controller.php")) { $sModulePath = $sBaseDir . "/base/" . strtolower($sControl); FlexiLogger::debug(__METHOD__, "Checking sModulePath: " . $sModulePath); require_once $sModulePath . "/controller.php"; } } } } } } if (!class_exists($sClassName)) { //echo "not found: " . $sClassName; FlexiLogger::error(__METHOD__, "module: " . $sControl . " is missing."); throw new Exception("No such class: " . $sClassName); return; } FlexiLogger::debug(__METHOD__, "found module: " . $sControl . " at " . $sModulePath); //echo "found module: " . $sControl . " at " . $sModulePath; //echo "setting controllerpath: " . $sControl . "=>" . $sModulePath; $this->aControllerPath[strtolower($sControl)] = $sModulePath; //echo "initialising class: " . $sClassName; $oClass = new $sClassName($oView, $sMethodName, $sModulePath); //echo "xxxx"; if (!is_subclass_of($oClass, "FlexiBaseController")) { //echo "no class of: " . $sClassName; throw new FlexiException("Class: " . $sClassName . " is not of type FlexiBaseController", 500); } //echo "ok: " .$sClassName; return $oClass; }
public static function doLockFile($sPath) { $fp = fopen($sPath, "w"); if (flock($fp, LOCK_EX)) { // do an exclusive lock ftruncate($fp, 0); // truncate file fwrite($fp, "Lock"); $bResult = true; self::$aLocks[$sPath] = $fp; FlexiLogger::error(__METHOD__, "Locked file: " . $sPath); //flock($fp, LOCK_UN); // release the lock } else { FlexiLogger::error(__METHOD__, "Unable to lock file: " . $sPath); $bResult = false; } return $bResult; }
/** * (non-PHPdoc) * @see RedBean/RedBean_Driver#Execute() */ public function Execute($sql, $aValues = array()) { //FlexiLogger::error(__METHOD__, "SQL: " . $sql); $this->exc = 0; if ($this->debug) { echo "<HR>" . $sql . print_r($aValues, 1); } try { if (strpos("pgsql", $this->dsn) === 0) { $s = $this->pdo->prepare($sql, array(PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT => true)); } else { $s = $this->pdo->prepare($sql); } $s->execute($aValues); $this->affected_rows = $s->rowCount(); return $this->affected_rows; } catch (PDOException $e) { //Unfortunately the code field is supposed to be int by default (php) //So we need a property to convey the SQL State code. FlexiLogger::error(__METHOD__, "SQL: " . $sql . ", error: " . $e->getMessage()); if (version_compare(PHP_VERSION, '5.3.0', '<')) { $x = new RedBean_Exception_SQL($e->getMessage(), 0); } else { $x = new RedBean_Exception_SQL($e->getMessage(), 0, $e); } $x->setSQLState($e->getCode()); throw $x; } // }
public function verifyUser($iId, $sCode) { global $modx; $oModel = $modx->getObject("modUser", $iId); if (is_null($oModel)) { return false; } $oUserExtend = FlexiModelUtil::Instance()->getRedbeanFetchOne("select * from modx_userextend where userid=:userid", array(":userid" => $iId)); if (!empty($oUserExtend->id)) { $sVerifyCode = $oUserExtend->verifycode; if ($sCode == $sVerifyCode) { return true; } } FlexiLogger::error(__METHOD__, "Unable to save User verification"); return false; }