예제 #1
0
 /**
  * @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();
 }
예제 #2
0
    /**
     * 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();
        }
    }