Example #1
0
 protected function _contactUs()
 {
     $success = false;
     if ($this->isPost()) {
         if (!zbase_captcha_verify()) {
             return $this->buildFailedValidationResponse(zbase_request(), ['ReCAPTCHA Validation failed.']);
         }
         $validatorMessages = ['email.required' => _zt('Email Address is required.'), 'email.email' => _zt('Invalid email address.'), 'comment.required' => _zt('Message is required.'), 'name.required' => _zt('Name is required.')];
         $rules = ['email' => 'required|email', 'comment' => 'required', 'name' => 'required'];
         $valid = $this->validateInputs(zbase_request_inputs(), $rules, $validatorMessages);
         if (!empty($valid)) {
             $data = zbase_request_inputs();
             $success = zbase_messenger_email('contactus', zbase_request_input('email'), _zt(zbase_site_name() . ' - Contact Us Form - ' . zbase_request_input('name')), zbase_view_file_contents('email.contactus'), $data);
             if (!empty($success)) {
                 zbase_alert('success', _zt('Message sent!'));
                 zbase()->json()->setVariable('contact_success', 1);
                 if (!zbase_is_json()) {
                     return redirect(zbase_url_previous());
                 }
             } else {
                 zbase_alert('error', _zt('There was a problem sending your message. Kindly try again!'));
             }
         }
     }
 }
Example #2
0
/**
 * Error Messenger
 * Send error to developer
 *
 * @param array $options
 *
 * @retur null
 */
function zbase_messenger_error($options = [])
{
    $viewOptions = [];
    if (!empty($options['title'])) {
        $viewOptions['title'] = 'ErrorLog: ' . zbase_site_name() . ' - ' . $options['title'];
    }
    if (!empty($options['error'])) {
        $viewOptions['error'] = $options['error'];
    }
    if (!empty($options['message'])) {
        $viewOptions['message'] = $options['message'];
    }
    zbase_messenger_email('developer', 'noreply', !empty($title) ? $title : zbase_site_name() . ' Error', zbase_view_file_contents('email.exceptions'), $viewOptions);
}
Example #3
0
 * routes.home.view.name = view name
 * routes.home.view.enable = true|false
 * routes.home.view.layout = true|false, to return with layout
 * routes.home.method = defaultMethod
 * routes.home.method.post = postMethod
 * routes.home.method.get = getMethod
 * routes.home.form.enable = true|false
 * routes.home.url = /
 * routes.home.params = []
 * routes.home.middleware =
 * routes.home.navIndex = The Index name relative to nav.front.main or nav.main
 * routes.home.middleware.guest = true|false,
 * routes.home.middleware.guestOnly = true|false,
 * routes.home.middleware.auth = true|false,
 * routes.home.middleware.admin = Admin only
 * routes.home.middleware.access = If this !empty(), then, user will be check if he has this access/role. Specific access check zbase_auth_is($access)
 * routes.home.enable = true|false
 * routes.home.httpverb = [get,post, put, patch, delete, options]
 * routes.home.children = child routes.
 * routes.home.backend = true|false, if to be loaded on backend
 * routes.adminkey
 * routes.adminkey.enable = FALSE, should always be false, so system will not process this
 * routes.adminkey.key = admin base URL e.g. domain.com/admin or domain.com/zadamin; default is admin
 */
return ['routes' => ['adminkey' => ['enable' => false, 'key' => zbase_admin_key()], zbase_admin_key() => ['controller' => ['name' => 'backend', 'method' => 'index', 'enable' => true], 'page' => ['title' => function () {
    return zbase_site_name();
}], 'url' => '/' . zbase_admin_key(), 'middleware' => ['admin' => true], 'enable' => true, 'backend' => true, 'children' => ['login' => ['controller' => ['name' => 'auth', 'method' => 'login', 'enable' => true], 'middleware' => ['guestOnly' => true], 'page' => ['headTitle' => function () {
    return 'Login';
}], 'form' => ['enable' => true], 'backend' => true, 'enable' => true], 'logout' => ['controller' => ['name' => 'auth', 'method' => 'logout', 'enable' => true], 'middleware' => ['auth' => true], 'backend' => true, 'enable' => true], 'file' => ['controller' => ['name' => 'post', 'method' => 'file', 'enable' => true, 'params' => ['table' => null, 'action' => null, 'id' => null, 'file' => null]], 'middleware' => ['auth' => true], 'httpVerb' => ['post', 'get'], 'url' => 'post-file/{table?}/{action?}/{id?}/{file?}', 'backend' => true, 'enable' => true], 'filetmp' => ['controller' => ['name' => 'post', 'method' => 'filetmp', 'enable' => true, 'params' => ['table' => null, 'action' => null, 'id' => null, 'file' => null]], 'middleware' => ['auth' => true], 'httpVerb' => ['post', 'get'], 'url' => 'post-file/{table?}/{action?}/{file?}', 'backend' => true, 'enable' => true]]], 'index' => ['controller' => ['name' => 'page', 'method' => 'index', 'enable' => true], 'url' => '/', 'enable' => true], 'home' => ['controller' => ['name' => 'page', 'method' => 'home', 'enable' => true], 'page' => ['title' => null, 'headTitle' => 'Home', 'subTitle' => null], 'url' => '/home', 'middleware' => ['auth' => true], 'enable' => true], 'login' => ['controller' => ['name' => 'auth', 'method' => 'login', 'enable' => true], 'page' => ['title' => 'Login', 'headTitle' => 'Login', 'subTitle' => null, 'breadcrumbs' => [['label' => 'Login', 'link' => '#']]], 'form' => ['enable' => true], 'url' => '/login', 'middleware' => ['guestOnly' => true], 'enable' => true], 'logout' => ['controller' => ['name' => 'auth', 'method' => 'logout', 'enable' => true], 'url' => '/logout', 'middleware' => ['auth' => true], 'enable' => true], 'register' => ['controller' => ['name' => 'auth', 'method' => 'register', 'enable' => true], 'page' => ['title' => 'Register', 'headTitle' => 'Register', 'subTitle' => null, 'breadcrumbs' => [['label' => 'Register', 'link' => '#']]], 'form' => ['enable' => true], 'url' => '/register', 'middleware' => ['guestOnly' => true], 'enable' => true], 'password' => ['controller' => ['name' => 'password', 'method' => 'index', 'enable' => true], 'form' => ['enable' => true], 'page' => ['title' => 'Reset Password', 'headTitle' => 'Reset Password', 'subTitle' => null, 'breadcrumbs' => [['label' => 'Reset Password', 'link' => '#']]], 'url' => '/password', 'middleware' => ['guestOnly' => true], 'enable' => true], 'password-reset' => ['usernameroute' => false, 'controller' => ['name' => 'password', 'method' => 'reset', 'enable' => true], 'page' => ['title' => 'Reset Password', 'headTitle' => 'Reset Password', 'subTitle' => null, 'breadcrumbs' => [['label' => 'Reset Password', 'link' => '#']]], 'form' => ['enable' => true], 'url' => '/password/reset/{token?}', 'middleware' => ['guestOnly' => true], 'enable' => true], 'email-verify' => ['usernameroute' => false, 'controller' => ['name' => 'auth', 'method' => 'emailVerify', 'enable' => true, 'params' => ['email' => null, 'token' => null]], 'page' => ['title' => 'Verify Email Address', 'headTitle' => 'Verify Email Address', 'subTitle' => null, 'breadcrumbs' => [['label' => 'Verify Email Address', 'link' => '#']]], 'url' => '/email-address/verify/{email?}/{token?}', 'enable' => true], 'update-email-request' => ['usernameroute' => false, 'controller' => ['name' => 'auth', 'method' => 'emailUpdateRequestVerify', 'enable' => true, 'params' => ['email' => null, 'token' => null]], 'page' => ['title' => 'Email Update Request', 'headTitle' => 'Email Update Request', 'subTitle' => null, 'breadcrumbs' => [['label' => 'Email Update Request', 'link' => '#']]], 'url' => '/email-addres-update/request/{email?}/{token?}', 'enable' => true], 'phpinfo' => ['command' => function () {
    return phpinfo();
}, 'url' => '/phpinfo', 'enable' => true], 'contact' => ['controller' => ['name' => 'page', 'method' => 'contact', 'enable' => true], 'form' => ['enable' => true], 'url' => '/contact-us', 'enable' => true, 'page' => ['title' => 'Contact Us', 'headTitle' => 'Contact Us', 'subTitle' => null, 'breadcrumbs' => [['label' => 'Contact Us', 'link' => '#']]]], 'userImage' => ['controller' => ['name' => 'user', 'method' => 'image', 'enable' => true], 'url' => '/user/img/{id?}/{image?}/{w?}/{h?}/{q?}.{ext?}', 'enable' => true], 'nodeImage' => ['controller' => ['name' => 'node', 'method' => 'image', 'enable' => true], 'url' => '/img/{node?}/{id?}/{w?}/{h?}/{q?}.{ext?}', 'enable' => true], 'nodeCategoryImage' => ['controller' => ['name' => 'node', 'method' => 'imageCategory', 'enable' => true], 'url' => '/img-category/{node?}/{id?}/{w?}/{h?}/{q?}.{ext?}', 'enable' => true], 'api' => ['usernameroute' => false, 'controller' => ['name' => 'api', 'method' => 'index', 'enable' => true], 'httpVerb' => ['get', 'post', 'put', 'patch'], 'url' => '/api/{username}/{key}/{format}/{module}/{object}/{method}/{paramOne?}/{paramTwo?}/{paramThree?}/{paramFour?}/{paramFive?}/{paramSix?}', 'enable' => true], 'telegramhook' => ['usernameroute' => false, 'controller' => ['name' => 'telegram', 'method' => 'telegramHook', 'enable' => true], 'httpVerb' => ['post'], 'url' => '/telegram/hook', 'enable' => true], 'file' => ['controller' => ['name' => 'post', 'method' => 'file', 'enable' => true, 'params' => ['table' => null, 'action' => null, 'id' => null, 'file' => null]], 'httpVerb' => ['post', 'get'], 'url' => 'post-file/{table?}/{action?}/{id?}/{file?}', 'enable' => true], 'filetmp' => ['controller' => ['name' => 'post', 'method' => 'filetmp', 'enable' => true, 'params' => ['table' => null, 'action' => null, 'id' => null, 'file' => null]], 'httpVerb' => ['post', 'get'], 'url' => 'post-file-tmp/{table?}/{action?}/{file?}', 'enable' => true]]];
Example #4
0
    ?>
</span>
	<br />
	<br />
	<a href="<?php 
    echo zbase_url_from_route('login');
    ?>
">Login Here</a>
<?php 
} else {
    ?>
	<?php 
    if (!empty($emailVerificationEnabled)) {
        ?>
		<h1>Welcome to <?php 
        echo zbase_site_name();
        ?>
</h1>

		<p>Below is your Email verification code</p>
		<span>Email: <?php 
        echo $entity->email();
        ?>
</span>
		<br />
		<span>Code: <?php 
        echo $code;
        ?>
</span>
		<br />
		<br />
Example #5
0
 /**
  * SEnd the welcome message
  * @param array $attributes The Original Attributes
  */
 public function sendWelcomeMessage($attributes)
 {
     zbase_db_transaction_start();
     try {
         $code = null;
         if ($this->passwordAutoGenerate()) {
             zbase_alert('info', _zt('We sent an email to %email% with your login information.', ['%email%' => $this->email()]));
         } else {
             if ($this->emailVerificationEnabled()) {
                 $code = zbase_generate_code();
                 $this->setDataOption('email_verification_code', $code);
                 zbase_alert('info', _zt('We sent an email to %email% with a link to complete your registration.', ['%email%' => $this->email()]));
                 $this->save();
             }
         }
         $subject = zbase_config_get('email.account.new.subject', _zt('Welcome to ' . zbase_site_name() . '!'));
         zbase_messenger_email($this->email(), 'account-noreply', $subject, zbase_view_file_contents('email.account.new'), ['entity' => $this, 'code' => $code, 'attributes' => $attributes]);
         zbase_db_transaction_commit();
         return true;
     } catch (\Zbase\Exceptions\RuntimeException $e) {
         zbase_db_transaction_rollback();
         return false;
     }
 }
Example #6
0
 /**
  * Return a new user Code
  *
  * @return string
  */
 public function checkUserCode(User $user)
 {
     $userCode = \DB::table('user_tokens')->where(['taggable_type' => 'telegram', 'user_id' => $user->id()])->first();
     if (!empty($userCode)) {
         $codeFile = zbase_storage_path() . '/tg/' . $userCode->token;
         if (file_exists($codeFile)) {
             $chatId = trim(file_get_contents($codeFile));
             if (!empty($chatId)) {
                 $user->setDataOption('telegram_chat_id', $chatId);
                 $user->save();
                 $user->clearEntityCacheById();
                 $this->send($user, 'Welcome, you have successfully enabled ' . zbase_site_name() . ' notifications.');
                 unlink($codeFile);
                 return true;
             }
         }
     }
     return false;
 }