예제 #1
0
 public function getAdminInfo()
 {
     $admin = $this->getAdmin();
     $adminData = $admin->toPublicArray();
     if (!empty($adminData['role'])) {
         $adminData['_role'] = $admin->role;
         $role = $admin->is_superadmin ? 'superadmin' : $admin->role;
         $adminData['role'] = CmfConfig::transCustom('.admins.role.' . $role);
     }
     return response()->json($adminData);
 }
<?php

/**
 * @var array $user
 * @var string $url
 */
echo \PeskyCMF\Config\CmfConfig::transCustom('.forgot_password.email_content', ['url' => $url] + \Swayok\Utils\Set::flatten($user));
예제 #3
0
 public function getAdminInfo()
 {
     $admin = $this->getAdmin()->toPublicArray();
     if (!empty($admin['role'])) {
         $admin['_role'] = $admin['role'];
         $admin['role'] = CmfConfig::transCustom('.admins.role.' . $admin['role']);
     }
     return response()->json($admin);
 }
예제 #4
0
 /**
  * @param array $data
  * @param array $validators - supports inserts in format "{{id}}" where "id" can be any key from $data
  * @param array $messages
  * @param bool $isRevalidation
  * @param bool $isBulkEdit
  * @return array|string|bool
  * @throws \LogicException
  *
  * @throws ScaffoldActionException
  */
 public function validateData(array $data, array $validators, array $messages = [], $isRevalidation = false, $isBulkEdit = false)
 {
     $success = $this->beforeValidate($data, $isRevalidation);
     if ($success !== true) {
         return $success;
     }
     if (!is_array($validators)) {
         throw new ScaffoldActionException($this, '$validators must be an array');
     }
     if (empty($validators)) {
         return [];
     }
     if (empty($messages)) {
         $messages = CmfConfig::transCustom('.' . $this->getModel()->getTableName() . '.form.validation');
     }
     if (!is_array($messages)) {
         $messages = [];
     } else {
         $messages = Set::flatten($messages);
     }
     $arrayFields = [];
     foreach ($validators as $key => &$value) {
         if (is_string($value)) {
             $value = StringUtils::insert($value, $data, ['before' => '{{', 'after' => '}}']);
             if (preg_match('%(^|\\|)array%i', $value)) {
                 $arrayFields[] = $key;
             }
         } else {
             if (is_array($value)) {
                 foreach ($value as &$validator) {
                     if (is_string($validator)) {
                         $validator = StringUtils::insert($value, $data, ['before' => '{{', 'after' => '}}']);
                     }
                     if ($validator === 'array') {
                         $arrayFields[] = $key;
                     }
                 }
                 unset($validator);
             }
         }
     }
     unset($value);
     $validator = \Validator::make($data, $validators, $messages);
     if ($validator->fails()) {
         $errors = $validator->getMessageBag()->toArray();
         foreach ($errors as $field => $error) {
             if (in_array($field, $arrayFields, true)) {
                 $errors[$field . '[]'] = $error;
                 unset($errors[$field]);
             }
         }
         return $errors;
     }
     $success = $this->onValidationSuccess($data, $isRevalidation, $isBulkEdit);
     if ($success !== true) {
         return $success;
     }
     return [];
 }
예제 #5
0
 /**
  * @param array $data
  * @param array $validators
  * @param array $messages
  * @param bool $isRevalidation
  * @return array
  * @throws ScaffoldActionException
  */
 public function validateData(array $data, array $validators, array $messages = [], $isRevalidation = false)
 {
     $success = $this->beforeValidate($data, $isRevalidation);
     if ($success !== true) {
         return $success;
     }
     if (!is_array($validators)) {
         throw new ScaffoldActionException($this, '$validators must be an array');
     }
     if (empty($validators)) {
         return [];
     }
     if (empty($messages)) {
         $messages = CmfConfig::transCustom('.' . $this->getModel()->getTableName() . '.form.validation');
     }
     if (!is_array($messages)) {
         $messages = [];
     } else {
         $messages = Set::flatten($messages);
     }
     array_walk($validators, function (&$value, $key) use($data) {
         if (is_string($value)) {
             $value = StringUtils::insert($value, $data, ['before' => '{{', 'after' => '}}']);
         }
     });
     $validator = \Validator::make($data, $validators, $messages);
     if ($validator->fails()) {
         return $validator->getMessageBag()->toArray();
     }
     $success = $this->onValidationSuccess($data, $isRevalidation);
     if ($success !== true) {
         return $success;
     }
     return [];
 }