/** * @group entity * @group Userentity */ public function testUpdatePassword() { $user = zbase_entity('user')->repository()->by('username', 'adminx')->first(); $user->password = zbase_bcrypt('password'); $user->unsetAllOptions(); $user->save(); zbase_alerts_reset(); $newPassword = '******'; $user->updateRequestPassword($newPassword); $this->assertTrue(zbase_alerts_has('info')); $this->assertFalse(empty($user->getDataOption('password_update_code', []))); $user->updatePassword($newPassword); $this->assertTrue(zbase_bcrypt_check($newPassword, $user->password)); $user->password = zbase_bcrypt('password'); $user->unsetAllOptions(); $user->save(); }
/** * Prepare * - all objects that needed to be passed to the placeholder * * @return void */ public function prepare() { if (empty($this->prepared)) { $jsVars = []; $mobileDetector = zbase()->mobile()->detector(); $isMobile = $mobileDetector->isMobile(); if (!$mobileDetector->isMobileTheme()) { $jsVars[] = 'isMobile=' . ($isMobile ? 'true;' : 'false;'); $jsVars[] = 'isMobileTablet=' . ($mobileDetector->isTablet() ? 'true' : 'false'); $jsVars[] = 'isMobileIOS=' . ($mobileDetector->isIos() ? 'true' : 'false'); $jsVars[] = 'isMobileAndroid=' . ($mobileDetector->isAndroidOs() ? 'true' : 'false'); $jsVars[] = 'screenWidth=window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName(\'body\')[0].clientWidth'; $jsVars[] = 'screenHeight=window.innerHeight|| document.documentElement.clientHeight|| document.getElementsByTagName(\'body\')[0].clientHeight'; $jQueryResize = 'window.onresize = function(){' . 'if (typeof (window.innerWidth) == \'number\') { screenWidth = window.innerWidth; screenHeight = window.innerHeight; } else { if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { screenWidth = document.documentElement.clientWidth; screenHeight = document.documentElement.clientHeight; } else { if (document.body && (document.body.clientWidth || document.body.clientHeight)) { screenWidth = document.body.clientWidth; screenHeight = document.body.clientHeight; } } } };'; // $jsVarsLoad = [ // 'id' => 'mobileDetect', // 'type' => \Zbase\Models\View::SCRIPT, // 'enable' => true, // 'script' => '<script type="text/javascript">var ' . implode(',', $jsVars) . ';' . $jQueryResize . '</script>', // 'placeholder' => 'head_scripts', // ]; // $this->add(self::SCRIPT, $jsVarsLoad); } $controller = zbase_request_controller(); if (!empty($controller)) { $controllerName = $controller->getName(); $this->placeholders['body_class']['controller'] = 'controller-' . $controllerName; $this->placeholders['body_class']['controller-action'] = 'controller-' . $controllerName . '-' . zbase()->controller()->getActionName(); if (zbase_alerts_has('error')) { $this->placeholders['body_class']['error'] = 'page-error'; } } $this->_preparePlaceholders(); } }