Completed
Push — master ( cd8f65...e1eb39 )
by Sherif
27:44
created
src/Modules/V1/Reporting/Repositories/ReportRepository.php 1 patch
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -4,66 +4,66 @@
 block discarded – undo
4 4
 
5 5
 class ReportRepository extends AbstractRepository
6 6
 {
7
-    /**
8
-     * Return the model full namespace.
9
-     * 
10
-     * @return string
11
-     */
12
-    protected function getModel()
13
-    {
14
-        return 'App\Modules\V1\Reporting\Report';
15
-    }
7
+	/**
8
+	 * Return the model full namespace.
9
+	 * 
10
+	 * @return string
11
+	 */
12
+	protected function getModel()
13
+	{
14
+		return 'App\Modules\V1\Reporting\Report';
15
+	}
16 16
 
17
-    /**
18
-     * Render the given report db view based on the given
19
-     * condition.
20
-     *
21
-     * @param  string  $reportName
22
-     * @param  array   $conditions array of conditions
23
-     * @param  integer $perPage
24
-     * @param  array   $relations
25
-     * @return object
26
-     */
27
-    public function getReport($reportName, $conditions = false, $perPage = 0, $relations = [])
28
-    {
29
-        /**
30
-         * Fetch the report from db.
31
-         */
32
-        $reportConditions = $this->constructConditions(['report_name' => $reportName]);
33
-        $report           = call_user_func_array("{$this->getModel()}::with", array($relations))->whereRaw($reportConditions['conditionString'], $reportConditions['conditionValues'])->first();
17
+	/**
18
+	 * Render the given report db view based on the given
19
+	 * condition.
20
+	 *
21
+	 * @param  string  $reportName
22
+	 * @param  array   $conditions array of conditions
23
+	 * @param  integer $perPage
24
+	 * @param  array   $relations
25
+	 * @return object
26
+	 */
27
+	public function getReport($reportName, $conditions = false, $perPage = 0, $relations = [])
28
+	{
29
+		/**
30
+		 * Fetch the report from db.
31
+		 */
32
+		$reportConditions = $this->constructConditions(['report_name' => $reportName]);
33
+		$report           = call_user_func_array("{$this->getModel()}::with", array($relations))->whereRaw($reportConditions['conditionString'], $reportConditions['conditionValues'])->first();
34 34
         
35
-        /**
36
-         * Check report existance and permission.
37
-         */
38
-        if ( ! $report) 
39
-        {
40
-            \ErrorHandler::notFound('report');
41
-        }
42
-        else if ( ! \Core::users()->can($report->view_name, 'reports'))
43
-        {
44
-            \ErrorHandler::noPermissions();
45
-        }
35
+		/**
36
+		 * Check report existance and permission.
37
+		 */
38
+		if ( ! $report) 
39
+		{
40
+			\ErrorHandler::notFound('report');
41
+		}
42
+		else if ( ! \Core::users()->can($report->view_name, 'reports'))
43
+		{
44
+			\ErrorHandler::noPermissions();
45
+		}
46 46
 
47
-        /**
48
-         * Fetch data from the report based on the given conditions.
49
-         */
50
-        $report = \DB::table($report->view_name);
51
-        unset($conditions['page']);
52
-        if (count($conditions))
53
-        {
54
-            $conditions = $this->constructConditions($conditions);
55
-            $report->whereRaw($conditions['conditionString'], $conditions['conditionValues']);   
56
-        }
57
-        /**
58
-         * Paginate or all data.
59
-         */
60
-        if ($perPage) 
61
-        {
62
-            return $report->paginate($perPage);
63
-        }
64
-        else
65
-        {
66
-            return $report->get();  
67
-        }
68
-    }
47
+		/**
48
+		 * Fetch data from the report based on the given conditions.
49
+		 */
50
+		$report = \DB::table($report->view_name);
51
+		unset($conditions['page']);
52
+		if (count($conditions))
53
+		{
54
+			$conditions = $this->constructConditions($conditions);
55
+			$report->whereRaw($conditions['conditionString'], $conditions['conditionValues']);   
56
+		}
57
+		/**
58
+		 * Paginate or all data.
59
+		 */
60
+		if ($perPage) 
61
+		{
62
+			return $report->paginate($perPage);
63
+		}
64
+		else
65
+		{
66
+			return $report->get();  
67
+		}
68
+	}
69 69
 }
Please login to merge, or discard this patch.
src/Modules/V1/Reporting/Http/Controllers/ReportsController.php 1 patch
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -7,33 +7,33 @@
 block discarded – undo
7 7
 
8 8
 class ReportsController extends BaseApiController
9 9
 {
10
-    /**
11
-     * The name of the model that is used by the base api controller 
12
-     * to preform actions like (add, edit ... etc).
13
-     * @var string
14
-     */
15
-    protected $model               = 'reports';
10
+	/**
11
+	 * The name of the model that is used by the base api controller 
12
+	 * to preform actions like (add, edit ... etc).
13
+	 * @var string
14
+	 */
15
+	protected $model               = 'reports';
16 16
 
17
-    /**
18
-     * List of all route actions that the base api controller
19
-     * will skip permissions check for them.
20
-     * @var array
21
-     */
22
-    protected $skipPermissionCheck = ['getReport'];
17
+	/**
18
+	 * List of all route actions that the base api controller
19
+	 * will skip permissions check for them.
20
+	 * @var array
21
+	 */
22
+	protected $skipPermissionCheck = ['getReport'];
23 23
 
24
-    /**
25
-     * Render the total income report db view between the given two dates.
26
-     *
27
-     * @param  \Illuminate\Http\Request  $request
28
-     * @param  string  $reportName
29
-     * @param  integer $perPage
30
-     * @return \Illuminate\Http\Response
31
-     */
32
-    public function getReport(Request $request, $reportName, $perPage = 0) 
33
-    {
34
-        if ($this->model) 
35
-        {
36
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->getReport($reportName, $request->all(), $perPage), 200);
37
-        }
38
-    }
24
+	/**
25
+	 * Render the total income report db view between the given two dates.
26
+	 *
27
+	 * @param  \Illuminate\Http\Request  $request
28
+	 * @param  string  $reportName
29
+	 * @param  integer $perPage
30
+	 * @return \Illuminate\Http\Response
31
+	 */
32
+	public function getReport(Request $request, $reportName, $perPage = 0) 
33
+	{
34
+		if ($this->model) 
35
+		{
36
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->getReport($reportName, $request->all(), $perPage), 200);
37
+		}
38
+	}
39 39
 }
Please login to merge, or discard this patch.
src/Modules/V1/Core/Http/Controllers/BaseApiController.php 1 patch
Indentation   +233 added lines, -233 removed lines patch added patch discarded remove patch
@@ -6,239 +6,239 @@
 block discarded – undo
6 6
 
7 7
 class BaseApiController extends Controller
8 8
 {
9
-    /**
10
-     * The model implementation.
11
-     * 
12
-     * @var model
13
-     */
14
-    protected $model;
15
-
16
-    /**
17
-     * The config implementation.
18
-     * 
19
-     * @var config
20
-     */
21
-    protected $config;
22
-
23
-    public function __construct()
24
-    {
25
-        \Session::set('timeZoneDiff', \Request::header('time-zone-diff') ?: 0);
26
-
27
-        $locale = \Request::header('locale');
28
-        switch ($locale) 
29
-        {
30
-            case 'en':
31
-            \App::setLocale('en');
32
-            \Session::set('locale', 'en');
33
-            break;
34
-
35
-            case 'ar':
36
-            \App::setLocale('ar');
37
-            \Session::set('locale', 'ar');
38
-            break;
39
-
40
-            case 'all':
41
-            \App::setLocale('en');
42
-            \Session::set('locale', 'all');
43
-            break;
44
-
45
-            default:
46
-            \App::setLocale('en');
47
-            \Session::set('locale', 'en');
48
-            break;
49
-        }
9
+	/**
10
+	 * The model implementation.
11
+	 * 
12
+	 * @var model
13
+	 */
14
+	protected $model;
15
+
16
+	/**
17
+	 * The config implementation.
18
+	 * 
19
+	 * @var config
20
+	 */
21
+	protected $config;
22
+
23
+	public function __construct()
24
+	{
25
+		\Session::set('timeZoneDiff', \Request::header('time-zone-diff') ?: 0);
26
+
27
+		$locale = \Request::header('locale');
28
+		switch ($locale) 
29
+		{
30
+			case 'en':
31
+			\App::setLocale('en');
32
+			\Session::set('locale', 'en');
33
+			break;
34
+
35
+			case 'ar':
36
+			\App::setLocale('ar');
37
+			\Session::set('locale', 'ar');
38
+			break;
39
+
40
+			case 'all':
41
+			\App::setLocale('en');
42
+			\Session::set('locale', 'all');
43
+			break;
44
+
45
+			default:
46
+			\App::setLocale('en');
47
+			\Session::set('locale', 'en');
48
+			break;
49
+		}
50 50
         
51
-        $this->config              = \CoreConfig::getConfig();
52
-        $this->model               = property_exists($this, 'model') ? $this->model : false;
53
-        $this->validationRules     = property_exists($this, 'validationRules') ? $this->validationRules : false;
54
-        $this->skipPermissionCheck = property_exists($this, 'skipPermissionCheck') ? $this->skipPermissionCheck : [];
55
-        $this->skipLoginCheck      = property_exists($this, 'skipLoginCheck') ? $this->skipLoginCheck : [];
56
-        $this->relations           = array_key_exists($this->model, $this->config['relations']) ? $this->config['relations'][$this->model] : false;
57
-        $route                     = explode('@',\Route::currentRouteAction())[1];
58
-        $this->checkPermission($route);
59
-    }
60
-
61
-    /**
62
-     * Fetch all records with relations from model repository.
63
-     * 
64
-     * @return \Illuminate\Http\Response
65
-     */
66
-    public function index() 
67
-    {
68
-        if ($this->model)
69
-        {
70
-            $relations = $this->relations && $this->relations['all'] ? $this->relations['all'] : [];
71
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->all($relations), 200);
72
-        }
73
-    }
74
-
75
-    /**
76
-     * Fetch the single object with relations from model repository.
77
-     * 
78
-     * @param  integer $id
79
-     * @return \Illuminate\Http\Response
80
-     */
81
-    public function find($id) 
82
-    {
83
-        if ($this->model) 
84
-        {
85
-            $relations = $this->relations && $this->relations['find'] ? $this->relations['find'] : [];
86
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->find($id, $relations), 200);
87
-        }
88
-    }
89
-
90
-    /**
91
-     * Paginate all records with relations from model repository
92
-     * that matche the given query.
93
-     * 
94
-     * @param  string  $query
95
-     * @param  integer $perPage
96
-     * @param  string  $sortBy
97
-     * @param  boolean $desc
98
-     * @return \Illuminate\Http\Response
99
-     */
100
-    public function search($query = '', $perPage = 15, $sortBy = 'created_at', $desc = 1) 
101
-    {
102
-        if ($this->model) 
103
-        {
104
-            $relations = $this->relations && $this->relations['search'] ? $this->relations['search'] : [];
105
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->search($query, $perPage, $relations, $sortBy, $desc), 200);
106
-        }
107
-    }
108
-
109
-    /**
110
-     * Fetch records from the storage based on the given
111
-     * condition.
112
-     * 
113
-     * @param  \Illuminate\Http\Request  $request
114
-     * @param  string  $sortBy
115
-     * @param  boolean $desc
116
-     * @return \Illuminate\Http\Response
117
-     */
118
-    public function findby(Request $request, $sortBy = 'created_at', $desc = 1) 
119
-    {
120
-        if ($this->model) 
121
-        {
122
-            $relations = $this->relations && $this->relations['findBy'] ? $this->relations['findBy'] : [];
123
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->findBy($request->all(), $relations, $sortBy, $desc), 200);
124
-        }
125
-    }
126
-
127
-    /**
128
-     * Fetch the first record from the storage based on the given
129
-     * condition.
130
-     * 
131
-     * @param  \Illuminate\Http\Request  $request
132
-     * @return \Illuminate\Http\Response
133
-     */
134
-    public function first(Request $request) 
135
-    {
136
-        if ($this->model) 
137
-        {
138
-            $relations = $this->relations && $this->relations['first'] ? $this->relations['first'] : [];
139
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->first($request->all(), $relations), 200);
140
-        }
141
-    }
142
-
143
-    /**
144
-     * Paginate all records with relations from model repository.
145
-     * 
146
-     * @param  integer $perPage
147
-     * @param  string  $sortBy
148
-     * @param  boolean $desc
149
-     * @return \Illuminate\Http\Response
150
-     */
151
-    public function paginate($perPage = 15, $sortBy = 'created_at', $desc = 1) 
152
-    {
153
-        if ($this->model) 
154
-        {
155
-            $relations = $this->relations && $this->relations['paginate'] ? $this->relations['paginate'] : [];
156
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->paginate($perPage, $relations, $sortBy, $desc), 200);
157
-        }
158
-    }
159
-
160
-    /**
161
-     * Fetch all records with relations based on
162
-     * the given condition from storage in pages.
163
-     * 
164
-     * @param  \Illuminate\Http\Request  $request
165
-     * @param  integer $perPage
166
-     * @param  string  $sortBy
167
-     * @param  boolean $desc
168
-     * @return \Illuminate\Http\Response
169
-     */
170
-    public function paginateby(Request $request, $perPage = 15, $sortBy = 'created_at', $desc = 1) 
171
-    {
172
-        if ($this->model) 
173
-        {
174
-            $relations = $this->relations && $this->relations['paginateBy'] ? $this->relations['paginateBy'] : [];
175
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->paginateBy($request->all(), $perPage, $relations, $sortBy, $desc), 200);
176
-        }
177
-    }
178
-
179
-    /**
180
-     * Save the given model to repository.
181
-     * 
182
-     * @param  \Illuminate\Http\Request  $request
183
-     * @return \Illuminate\Http\Response
184
-     */
185
-    public function save(Request $request) 
186
-    {
187
-        foreach ($this->validationRules as &$rule) 
188
-        {
189
-            if (strpos($rule, 'exists') && ! strpos($rule, 'deleted_at,NULL')) 
190
-            {
191
-                $rule .= ',deleted_at,NULL';
192
-            }
193
-
194
-            if ($request->has('id')) 
195
-            {
196
-                $rule = str_replace('{id}', $request->get('id'), $rule);
197
-            }
198
-            else
199
-            {
200
-                $rule = str_replace(',{id}', '', $rule);
201
-            }
202
-        }
51
+		$this->config              = \CoreConfig::getConfig();
52
+		$this->model               = property_exists($this, 'model') ? $this->model : false;
53
+		$this->validationRules     = property_exists($this, 'validationRules') ? $this->validationRules : false;
54
+		$this->skipPermissionCheck = property_exists($this, 'skipPermissionCheck') ? $this->skipPermissionCheck : [];
55
+		$this->skipLoginCheck      = property_exists($this, 'skipLoginCheck') ? $this->skipLoginCheck : [];
56
+		$this->relations           = array_key_exists($this->model, $this->config['relations']) ? $this->config['relations'][$this->model] : false;
57
+		$route                     = explode('@',\Route::currentRouteAction())[1];
58
+		$this->checkPermission($route);
59
+	}
60
+
61
+	/**
62
+	 * Fetch all records with relations from model repository.
63
+	 * 
64
+	 * @return \Illuminate\Http\Response
65
+	 */
66
+	public function index() 
67
+	{
68
+		if ($this->model)
69
+		{
70
+			$relations = $this->relations && $this->relations['all'] ? $this->relations['all'] : [];
71
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->all($relations), 200);
72
+		}
73
+	}
74
+
75
+	/**
76
+	 * Fetch the single object with relations from model repository.
77
+	 * 
78
+	 * @param  integer $id
79
+	 * @return \Illuminate\Http\Response
80
+	 */
81
+	public function find($id) 
82
+	{
83
+		if ($this->model) 
84
+		{
85
+			$relations = $this->relations && $this->relations['find'] ? $this->relations['find'] : [];
86
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->find($id, $relations), 200);
87
+		}
88
+	}
89
+
90
+	/**
91
+	 * Paginate all records with relations from model repository
92
+	 * that matche the given query.
93
+	 * 
94
+	 * @param  string  $query
95
+	 * @param  integer $perPage
96
+	 * @param  string  $sortBy
97
+	 * @param  boolean $desc
98
+	 * @return \Illuminate\Http\Response
99
+	 */
100
+	public function search($query = '', $perPage = 15, $sortBy = 'created_at', $desc = 1) 
101
+	{
102
+		if ($this->model) 
103
+		{
104
+			$relations = $this->relations && $this->relations['search'] ? $this->relations['search'] : [];
105
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->search($query, $perPage, $relations, $sortBy, $desc), 200);
106
+		}
107
+	}
108
+
109
+	/**
110
+	 * Fetch records from the storage based on the given
111
+	 * condition.
112
+	 * 
113
+	 * @param  \Illuminate\Http\Request  $request
114
+	 * @param  string  $sortBy
115
+	 * @param  boolean $desc
116
+	 * @return \Illuminate\Http\Response
117
+	 */
118
+	public function findby(Request $request, $sortBy = 'created_at', $desc = 1) 
119
+	{
120
+		if ($this->model) 
121
+		{
122
+			$relations = $this->relations && $this->relations['findBy'] ? $this->relations['findBy'] : [];
123
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->findBy($request->all(), $relations, $sortBy, $desc), 200);
124
+		}
125
+	}
126
+
127
+	/**
128
+	 * Fetch the first record from the storage based on the given
129
+	 * condition.
130
+	 * 
131
+	 * @param  \Illuminate\Http\Request  $request
132
+	 * @return \Illuminate\Http\Response
133
+	 */
134
+	public function first(Request $request) 
135
+	{
136
+		if ($this->model) 
137
+		{
138
+			$relations = $this->relations && $this->relations['first'] ? $this->relations['first'] : [];
139
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->first($request->all(), $relations), 200);
140
+		}
141
+	}
142
+
143
+	/**
144
+	 * Paginate all records with relations from model repository.
145
+	 * 
146
+	 * @param  integer $perPage
147
+	 * @param  string  $sortBy
148
+	 * @param  boolean $desc
149
+	 * @return \Illuminate\Http\Response
150
+	 */
151
+	public function paginate($perPage = 15, $sortBy = 'created_at', $desc = 1) 
152
+	{
153
+		if ($this->model) 
154
+		{
155
+			$relations = $this->relations && $this->relations['paginate'] ? $this->relations['paginate'] : [];
156
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->paginate($perPage, $relations, $sortBy, $desc), 200);
157
+		}
158
+	}
159
+
160
+	/**
161
+	 * Fetch all records with relations based on
162
+	 * the given condition from storage in pages.
163
+	 * 
164
+	 * @param  \Illuminate\Http\Request  $request
165
+	 * @param  integer $perPage
166
+	 * @param  string  $sortBy
167
+	 * @param  boolean $desc
168
+	 * @return \Illuminate\Http\Response
169
+	 */
170
+	public function paginateby(Request $request, $perPage = 15, $sortBy = 'created_at', $desc = 1) 
171
+	{
172
+		if ($this->model) 
173
+		{
174
+			$relations = $this->relations && $this->relations['paginateBy'] ? $this->relations['paginateBy'] : [];
175
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->paginateBy($request->all(), $perPage, $relations, $sortBy, $desc), 200);
176
+		}
177
+	}
178
+
179
+	/**
180
+	 * Save the given model to repository.
181
+	 * 
182
+	 * @param  \Illuminate\Http\Request  $request
183
+	 * @return \Illuminate\Http\Response
184
+	 */
185
+	public function save(Request $request) 
186
+	{
187
+		foreach ($this->validationRules as &$rule) 
188
+		{
189
+			if (strpos($rule, 'exists') && ! strpos($rule, 'deleted_at,NULL')) 
190
+			{
191
+				$rule .= ',deleted_at,NULL';
192
+			}
193
+
194
+			if ($request->has('id')) 
195
+			{
196
+				$rule = str_replace('{id}', $request->get('id'), $rule);
197
+			}
198
+			else
199
+			{
200
+				$rule = str_replace(',{id}', '', $rule);
201
+			}
202
+		}
203 203
         
204
-        $this->validate($request, $this->validationRules);
205
-
206
-        if ($this->model) 
207
-        {
208
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->save($request->all()), 200);
209
-        }
210
-    }
211
-
212
-    /**
213
-     * Delete by the given id from model repository.
214
-     * 
215
-     * @param  integer  $id
216
-     * @return \Illuminate\Http\Response
217
-     */
218
-    public function delete($id) 
219
-    {
220
-        if ($this->model) 
221
-        {
222
-            return \Response::json(call_user_func_array("\Core::{$this->model}", [])->delete($id), 200);
223
-        }
224
-    }
225
-
226
-    /**
227
-     * Check if the logged in user can do the given permission.
228
-     * 
229
-     * @param  string $permission
230
-     * @return void
231
-     */
232
-    private function checkPermission($permission)
233
-    {
234
-        $permission = $permission !== 'index' ? $permission : 'list';
235
-        if ( ! in_array($permission, $this->skipLoginCheck)) 
236
-        {
237
-            \JWTAuth::parseToken()->authenticate();
238
-            if ( ! in_array($permission, $this->skipPermissionCheck) && ! \Core::users()->can($permission, $this->model))
239
-            {
240
-                \ErrorHandler::noPermissions();
241
-            }
242
-        }
243
-    }
204
+		$this->validate($request, $this->validationRules);
205
+
206
+		if ($this->model) 
207
+		{
208
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->save($request->all()), 200);
209
+		}
210
+	}
211
+
212
+	/**
213
+	 * Delete by the given id from model repository.
214
+	 * 
215
+	 * @param  integer  $id
216
+	 * @return \Illuminate\Http\Response
217
+	 */
218
+	public function delete($id) 
219
+	{
220
+		if ($this->model) 
221
+		{
222
+			return \Response::json(call_user_func_array("\Core::{$this->model}", [])->delete($id), 200);
223
+		}
224
+	}
225
+
226
+	/**
227
+	 * Check if the logged in user can do the given permission.
228
+	 * 
229
+	 * @param  string $permission
230
+	 * @return void
231
+	 */
232
+	private function checkPermission($permission)
233
+	{
234
+		$permission = $permission !== 'index' ? $permission : 'list';
235
+		if ( ! in_array($permission, $this->skipLoginCheck)) 
236
+		{
237
+			\JWTAuth::parseToken()->authenticate();
238
+			if ( ! in_array($permission, $this->skipPermissionCheck) && ! \Core::users()->can($permission, $this->model))
239
+			{
240
+				\ErrorHandler::noPermissions();
241
+			}
242
+		}
243
+	}
244 244
 }
Please login to merge, or discard this patch.
src/ApiSkeletonServiceProvider.php 1 patch
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -6,27 +6,27 @@
 block discarded – undo
6 6
 
7 7
 class ApiSkeletonServiceProvider extends ServiceProvider
8 8
 {
9
-    /**
10
-     * Perform post-registration booting of services.
11
-     *
12
-     * @return void
13
-     */
14
-    public function boot()
15
-    {
16
-        $this->publishes([
17
-            __DIR__.'/Modules'               => app_path('Modules'),
18
-            __DIR__.'/Modules/V1/Acl/emails' => base_path('resources/views/auth/emails'),
19
-            __DIR__.'/lang'                  => base_path('resources/lang'),
20
-            ]);
21
-    }
9
+	/**
10
+	 * Perform post-registration booting of services.
11
+	 *
12
+	 * @return void
13
+	 */
14
+	public function boot()
15
+	{
16
+		$this->publishes([
17
+			__DIR__.'/Modules'               => app_path('Modules'),
18
+			__DIR__.'/Modules/V1/Acl/emails' => base_path('resources/views/auth/emails'),
19
+			__DIR__.'/lang'                  => base_path('resources/lang'),
20
+			]);
21
+	}
22 22
 
23
-    /**
24
-     * Register any package services.
25
-     *
26
-     * @return void
27
-     */
28
-    public function register()
29
-    {
30
-        //
31
-    }
23
+	/**
24
+	 * Register any package services.
25
+	 *
26
+	 * @return void
27
+	 */
28
+	public function register()
29
+	{
30
+		//
31
+	}
32 32
 }
33 33
\ No newline at end of file
Please login to merge, or discard this patch.
src/lang/ar/pagination.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -2,7 +2,7 @@  discard block
 block discarded – undo
2 2
 
3 3
 return [
4 4
 
5
-    /*
5
+	/*
6 6
     |--------------------------------------------------------------------------
7 7
     | Pagination Language Lines
8 8
     |--------------------------------------------------------------------------
@@ -13,7 +13,7 @@  discard block
 block discarded – undo
13 13
     |
14 14
     */
15 15
 
16
-    'previous' => '« السابق',
17
-    'next'     => 'التالي »',
16
+	'previous' => '« السابق',
17
+	'next'     => 'التالي »',
18 18
 
19 19
 ];
Please login to merge, or discard this patch.
src/lang/ar/auth.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -2,7 +2,7 @@  discard block
 block discarded – undo
2 2
 
3 3
 return [
4 4
 
5
-    /*
5
+	/*
6 6
     |--------------------------------------------------------------------------
7 7
     | Authentication Language Lines
8 8
     |--------------------------------------------------------------------------
@@ -13,7 +13,7 @@  discard block
 block discarded – undo
13 13
     |
14 14
     */
15 15
 
16
-    'failed'   => 'بيانات الاعتماد هذه غير متطابقة مع البيانات المسجلة لدينا.',
17
-    'throttle' => 'عدد كبير جدا من محاولات الدخول. يرجى المحاولة مرة أخرى بعد :seconds ثانية.',
16
+	'failed'   => 'بيانات الاعتماد هذه غير متطابقة مع البيانات المسجلة لدينا.',
17
+	'throttle' => 'عدد كبير جدا من محاولات الدخول. يرجى المحاولة مرة أخرى بعد :seconds ثانية.',
18 18
 
19 19
 ];
Please login to merge, or discard this patch.
src/lang/ar/passwords.php 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -2,7 +2,7 @@  discard block
 block discarded – undo
2 2
 
3 3
 return [
4 4
 
5
-    /*
5
+	/*
6 6
     |--------------------------------------------------------------------------
7 7
     | Password Reminder Language Lines
8 8
     |--------------------------------------------------------------------------
@@ -13,10 +13,10 @@  discard block
 block discarded – undo
13 13
     |
14 14
     */
15 15
 
16
-    'password' => 'يجب أن لا يقل طول كلمة السر عن ستة أحرف، كما يجب أن تتطابق مع حقل التأكيد',
17
-    'reset'    => 'تمت إعادة تعيين كلمة السر',
18
-    'sent'     => 'تم إرسال تفاصيل استعادة كلمة السر الخاصة بك إلى بريدك الإلكتروني',
19
-    'token'    => '.رمز استعادة كلمة السر الذي أدخلته غير صحيح',
20
-    'user'     => 'لم يتم العثور على أيّ حسابٍ بهذا العنوان الإلكتروني',
16
+	'password' => 'يجب أن لا يقل طول كلمة السر عن ستة أحرف، كما يجب أن تتطابق مع حقل التأكيد',
17
+	'reset'    => 'تمت إعادة تعيين كلمة السر',
18
+	'sent'     => 'تم إرسال تفاصيل استعادة كلمة السر الخاصة بك إلى بريدك الإلكتروني',
19
+	'token'    => '.رمز استعادة كلمة السر الذي أدخلته غير صحيح',
20
+	'user'     => 'لم يتم العثور على أيّ حسابٍ بهذا العنوان الإلكتروني',
21 21
 
22 22
 ];
Please login to merge, or discard this patch.
src/lang/ar/validation.php 1 patch
Indentation   +107 added lines, -107 removed lines patch added patch discarded remove patch
@@ -2,7 +2,7 @@  discard block
 block discarded – undo
2 2
 
3 3
 return [
4 4
 
5
-    /*
5
+	/*
6 6
     |--------------------------------------------------------------------------
7 7
     | Validation Language Lines
8 8
     |--------------------------------------------------------------------------
@@ -13,76 +13,76 @@  discard block
 block discarded – undo
13 13
     |
14 14
     */
15 15
 
16
-    'accepted'             => 'يجب قبول الحقل :attribute',
17
-    'active_url'           => 'الحقل :attribute لا يُمثّل رابطًا صحيحًا',
18
-    'after'                => 'يجب على الحقل :attribute أن يكون تاريخًا لاحقًا للتاريخ :date.',
19
-    'alpha'                => 'يجب أن لا يحتوي الحقل :attribute سوى على حروف',
20
-    'alpha_dash'           => 'يجب أن لا يحتوي الحقل :attribute على حروف، أرقام ومطّات.',
21
-    'alpha_num'            => 'يجب أن يحتوي :attribute على حروفٍ وأرقامٍ فقط',
22
-    'array'                => 'يجب أن يكون الحقل :attribute ًمصفوفة',
23
-    'before'               => 'يجب على الحقل :attribute أن يكون تاريخًا سابقًا للتاريخ :date.',
24
-    'between'              => [
25
-        'numeric' => 'يجب أن تكون قيمة :attribute محصورة ما بين :min و :max.',
26
-        'file'    => 'يجب أن يكون حجم الملف :attribute محصورًا ما بين :min و :max كيلوبايت.',
27
-        'string'  => 'يجب أن يكون عدد حروف النّص :attribute محصورًا ما بين :min و :max',
28
-        'array'   => 'يجب أن يحتوي :attribute على عدد من العناصر محصورًا ما بين :min و :max',
29
-    ],
30
-    'boolean'              => 'يجب أن تكون قيمة الحقل :attribute إما true أو false ',
31
-    'confirmed'            => 'حقل التأكيد غير مُطابق للحقل :attribute',
32
-    'date'                 => 'الحقل :attribute ليس تاريخًا صحيحًا',
33
-    'date_format'          => 'لا يتوافق الحقل :attribute مع الشكل :format.',
34
-    'different'            => 'يجب أن يكون الحقلان :attribute و :other مُختلفان',
35
-    'digits'               => 'يجب أن يحتوي الحقل :attribute على :digits رقمًا/أرقام',
36
-    'digits_between'       => 'يجب أن يحتوي الحقل :attribute ما بين :min و :max رقمًا/أرقام ',
37
-    'dimensions'           => 'The :attribute has invalid image dimensions.',
38
-    'distinct'             => 'للحقل :attribute قيمة مُكرّرة.',
39
-    'email'                => 'يجب أن يكون :attribute عنوان بريد إلكتروني صحيح البُنية',
40
-    'exists'               => 'الحقل :attribute لاغٍ',
41
-    'file'                 => 'The :attribute must be a file.',
42
-    'filled'               => 'الحقل :attribute إجباري',
43
-    'image'                => 'يجب أن يكون الحقل :attribute صورةً',
44
-    'in'                   => 'الحقل :attribute لاغٍ',
45
-    'in_array'             => 'الحقل :attribute غير موجود في :other.',
46
-    'integer'              => 'يجب أن يكون الحقل :attribute عددًا صحيحًا',
47
-    'ip'                   => 'يجب أن يكون الحقل :attribute عنوان IP ذي بُنية صحيحة',
48
-    'json'                 => 'يجب أن يكون الحقل :attribute نصآ من نوع JSON.',
49
-    'max'                  => [
50
-        'numeric' => 'يجب أن تكون قيمة الحقل :attribute أصغر من :max.',
51
-        'file'    => 'يجب أن يكون حجم الملف :attribute أصغر من :max كيلوبايت',
52
-        'string'  => 'يجب أن لا يتجاوز طول النّص :attribute :max حروفٍ/حرفًا',
53
-        'array'   => 'يجب أن لا يحتوي الحقل :attribute على أكثر من :max عناصر/عنصر.',
54
-    ],
55
-    'mimes'                => 'يجب أن يكون الحقل ملفًا من نوع : :values.',
56
-    'min'                  => [
57
-        'numeric' => 'يجب أن تكون قيمة الحقل :attribute أكبر من :min.',
58
-        'file'    => 'يجب أن يكون حجم الملف :attribute أكبر من :min كيلوبايت',
59
-        'string'  => 'يجب أن يكون طول النص :attribute أكبر من :min حروفٍ/حرفًا',
60
-        'array'   => 'يجب أن يحتوي الحقل :attribute على الأقل على :min عُنصرًا/عناصر',
61
-    ],
62
-    'not_in'               => 'الحقل :attribute لاغٍ',
63
-    'numeric'              => 'يجب على الحقل :attribute أن يكون رقمًا',
64
-    'present'              => 'The :attribute field must be present.',
65
-    'regex'                => 'صيغة الحقل :attribute .غير صحيحة',
66
-    'required'             => 'الحقل :attribute مطلوب.',
67
-    'required_if'          => 'الحقل :attribute مطلوب في حال ما إذا كان :other يساوي :value.',
68
-    'required_unless'      => 'الحقل :attribute مطلوب في حال ما لم يكن :other يساوي :values.',
69
-    'required_with'        => 'الحقل :attribute إذا توفّر :values.',
70
-    'required_with_all'    => 'الحقل :attribute إذا توفّر :values.',
71
-    'required_without'     => 'الحقل :attribute إذا لم يتوفّر :values.',
72
-    'required_without_all' => 'الحقل :attribute إذا لم يتوفّر :values.',
73
-    'same'                 => 'يجب أن يتطابق الحقل :attribute مع :other',
74
-    'size'                 => [
75
-        'numeric' => 'يجب أن تكون قيمة :attribute أكبر من :size.',
76
-        'file'    => 'يجب أن يكون حجم الملف :attribute أكبر من :size كيلو بايت.',
77
-        'string'  => 'يجب أن يحتوي النص :attribute عن ما لا يقل عن  :size حرفٍ/أحرف.',
78
-        'array'   => 'يجب أن يحتوي الحقل :attribute عن ما لا يقل عن:min عنصرٍ/عناصر',
79
-    ],
80
-    'string'               => 'يجب أن يكون الحقل :attribute نصآ.',
81
-    'timezone'             => 'يجب أن يكون :attribute نطاقًا زمنيًا صحيحًا',
82
-    'unique'               => 'قيمة الحقل :attribute مُستخدمة من قبل',
83
-    'url'                  => 'صيغة الرابط :attribute غير صحيحة',
16
+	'accepted'             => 'يجب قبول الحقل :attribute',
17
+	'active_url'           => 'الحقل :attribute لا يُمثّل رابطًا صحيحًا',
18
+	'after'                => 'يجب على الحقل :attribute أن يكون تاريخًا لاحقًا للتاريخ :date.',
19
+	'alpha'                => 'يجب أن لا يحتوي الحقل :attribute سوى على حروف',
20
+	'alpha_dash'           => 'يجب أن لا يحتوي الحقل :attribute على حروف، أرقام ومطّات.',
21
+	'alpha_num'            => 'يجب أن يحتوي :attribute على حروفٍ وأرقامٍ فقط',
22
+	'array'                => 'يجب أن يكون الحقل :attribute ًمصفوفة',
23
+	'before'               => 'يجب على الحقل :attribute أن يكون تاريخًا سابقًا للتاريخ :date.',
24
+	'between'              => [
25
+		'numeric' => 'يجب أن تكون قيمة :attribute محصورة ما بين :min و :max.',
26
+		'file'    => 'يجب أن يكون حجم الملف :attribute محصورًا ما بين :min و :max كيلوبايت.',
27
+		'string'  => 'يجب أن يكون عدد حروف النّص :attribute محصورًا ما بين :min و :max',
28
+		'array'   => 'يجب أن يحتوي :attribute على عدد من العناصر محصورًا ما بين :min و :max',
29
+	],
30
+	'boolean'              => 'يجب أن تكون قيمة الحقل :attribute إما true أو false ',
31
+	'confirmed'            => 'حقل التأكيد غير مُطابق للحقل :attribute',
32
+	'date'                 => 'الحقل :attribute ليس تاريخًا صحيحًا',
33
+	'date_format'          => 'لا يتوافق الحقل :attribute مع الشكل :format.',
34
+	'different'            => 'يجب أن يكون الحقلان :attribute و :other مُختلفان',
35
+	'digits'               => 'يجب أن يحتوي الحقل :attribute على :digits رقمًا/أرقام',
36
+	'digits_between'       => 'يجب أن يحتوي الحقل :attribute ما بين :min و :max رقمًا/أرقام ',
37
+	'dimensions'           => 'The :attribute has invalid image dimensions.',
38
+	'distinct'             => 'للحقل :attribute قيمة مُكرّرة.',
39
+	'email'                => 'يجب أن يكون :attribute عنوان بريد إلكتروني صحيح البُنية',
40
+	'exists'               => 'الحقل :attribute لاغٍ',
41
+	'file'                 => 'The :attribute must be a file.',
42
+	'filled'               => 'الحقل :attribute إجباري',
43
+	'image'                => 'يجب أن يكون الحقل :attribute صورةً',
44
+	'in'                   => 'الحقل :attribute لاغٍ',
45
+	'in_array'             => 'الحقل :attribute غير موجود في :other.',
46
+	'integer'              => 'يجب أن يكون الحقل :attribute عددًا صحيحًا',
47
+	'ip'                   => 'يجب أن يكون الحقل :attribute عنوان IP ذي بُنية صحيحة',
48
+	'json'                 => 'يجب أن يكون الحقل :attribute نصآ من نوع JSON.',
49
+	'max'                  => [
50
+		'numeric' => 'يجب أن تكون قيمة الحقل :attribute أصغر من :max.',
51
+		'file'    => 'يجب أن يكون حجم الملف :attribute أصغر من :max كيلوبايت',
52
+		'string'  => 'يجب أن لا يتجاوز طول النّص :attribute :max حروفٍ/حرفًا',
53
+		'array'   => 'يجب أن لا يحتوي الحقل :attribute على أكثر من :max عناصر/عنصر.',
54
+	],
55
+	'mimes'                => 'يجب أن يكون الحقل ملفًا من نوع : :values.',
56
+	'min'                  => [
57
+		'numeric' => 'يجب أن تكون قيمة الحقل :attribute أكبر من :min.',
58
+		'file'    => 'يجب أن يكون حجم الملف :attribute أكبر من :min كيلوبايت',
59
+		'string'  => 'يجب أن يكون طول النص :attribute أكبر من :min حروفٍ/حرفًا',
60
+		'array'   => 'يجب أن يحتوي الحقل :attribute على الأقل على :min عُنصرًا/عناصر',
61
+	],
62
+	'not_in'               => 'الحقل :attribute لاغٍ',
63
+	'numeric'              => 'يجب على الحقل :attribute أن يكون رقمًا',
64
+	'present'              => 'The :attribute field must be present.',
65
+	'regex'                => 'صيغة الحقل :attribute .غير صحيحة',
66
+	'required'             => 'الحقل :attribute مطلوب.',
67
+	'required_if'          => 'الحقل :attribute مطلوب في حال ما إذا كان :other يساوي :value.',
68
+	'required_unless'      => 'الحقل :attribute مطلوب في حال ما لم يكن :other يساوي :values.',
69
+	'required_with'        => 'الحقل :attribute إذا توفّر :values.',
70
+	'required_with_all'    => 'الحقل :attribute إذا توفّر :values.',
71
+	'required_without'     => 'الحقل :attribute إذا لم يتوفّر :values.',
72
+	'required_without_all' => 'الحقل :attribute إذا لم يتوفّر :values.',
73
+	'same'                 => 'يجب أن يتطابق الحقل :attribute مع :other',
74
+	'size'                 => [
75
+		'numeric' => 'يجب أن تكون قيمة :attribute أكبر من :size.',
76
+		'file'    => 'يجب أن يكون حجم الملف :attribute أكبر من :size كيلو بايت.',
77
+		'string'  => 'يجب أن يحتوي النص :attribute عن ما لا يقل عن  :size حرفٍ/أحرف.',
78
+		'array'   => 'يجب أن يحتوي الحقل :attribute عن ما لا يقل عن:min عنصرٍ/عناصر',
79
+	],
80
+	'string'               => 'يجب أن يكون الحقل :attribute نصآ.',
81
+	'timezone'             => 'يجب أن يكون :attribute نطاقًا زمنيًا صحيحًا',
82
+	'unique'               => 'قيمة الحقل :attribute مُستخدمة من قبل',
83
+	'url'                  => 'صيغة الرابط :attribute غير صحيحة',
84 84
 
85
-    /*
85
+	/*
86 86
     |--------------------------------------------------------------------------
87 87
     | Custom Validation Language Lines
88 88
     |--------------------------------------------------------------------------
@@ -93,13 +93,13 @@  discard block
 block discarded – undo
93 93
     |
94 94
     */
95 95
 
96
-    'custom'               => [
97
-        'attribute-name' => [
98
-            'rule-name' => 'custom-message',
99
-        ],
100
-    ],
96
+	'custom'               => [
97
+		'attribute-name' => [
98
+			'rule-name' => 'custom-message',
99
+		],
100
+	],
101 101
 
102
-    /*
102
+	/*
103 103
     |--------------------------------------------------------------------------
104 104
     | Custom Validation Attributes
105 105
     |--------------------------------------------------------------------------
@@ -110,36 +110,36 @@  discard block
 block discarded – undo
110 110
     |
111 111
     */
112 112
 
113
-    'attributes'           => [
114
-        'name'                  => 'الاسم',
115
-        'username'              => 'اسم المُستخدم',
116
-        'email'                 => 'البريد الالكتروني',
117
-        'first_name'            => 'الاسم',
118
-        'last_name'             => 'اسم العائلة',
119
-        'password'              => 'كلمة السر',
120
-        'password_confirmation' => 'تأكيد كلمة السر',
121
-        'city'                  => 'المدينة',
122
-        'country'               => 'الدولة',
123
-        'address'               => 'العنوان',
124
-        'phone'                 => 'الهاتف',
125
-        'mobile'                => 'الجوال',
126
-        'age'                   => 'العمر',
127
-        'sex'                   => 'الجنس',
128
-        'gender'                => 'النوع',
129
-        'day'                   => 'اليوم',
130
-        'month'                 => 'الشهر',
131
-        'year'                  => 'السنة',
132
-        'hour'                  => 'ساعة',
133
-        'minute'                => 'دقيقة',
134
-        'second'                => 'ثانية',
135
-        'title'                 => 'اللقب',
136
-        'content'               => 'المُحتوى',
137
-        'description'           => 'الوصف',
138
-        'excerpt'               => 'المُلخص',
139
-        'date'                  => 'التاريخ',
140
-        'time'                  => 'الوقت',
141
-        'available'             => 'مُتاح',
142
-        'size'                  => 'الحجم',
143
-    ],
113
+	'attributes'           => [
114
+		'name'                  => 'الاسم',
115
+		'username'              => 'اسم المُستخدم',
116
+		'email'                 => 'البريد الالكتروني',
117
+		'first_name'            => 'الاسم',
118
+		'last_name'             => 'اسم العائلة',
119
+		'password'              => 'كلمة السر',
120
+		'password_confirmation' => 'تأكيد كلمة السر',
121
+		'city'                  => 'المدينة',
122
+		'country'               => 'الدولة',
123
+		'address'               => 'العنوان',
124
+		'phone'                 => 'الهاتف',
125
+		'mobile'                => 'الجوال',
126
+		'age'                   => 'العمر',
127
+		'sex'                   => 'الجنس',
128
+		'gender'                => 'النوع',
129
+		'day'                   => 'اليوم',
130
+		'month'                 => 'الشهر',
131
+		'year'                  => 'السنة',
132
+		'hour'                  => 'ساعة',
133
+		'minute'                => 'دقيقة',
134
+		'second'                => 'ثانية',
135
+		'title'                 => 'اللقب',
136
+		'content'               => 'المُحتوى',
137
+		'description'           => 'الوصف',
138
+		'excerpt'               => 'المُلخص',
139
+		'date'                  => 'التاريخ',
140
+		'time'                  => 'الوقت',
141
+		'available'             => 'مُتاح',
142
+		'size'                  => 'الحجم',
143
+	],
144 144
 
145 145
 ];
Please login to merge, or discard this patch.
src/Modules/V1/Core/ModelObservers/SettingsObserver.php 1 patch
Indentation   +54 added lines, -54 removed lines patch added patch discarded remove patch
@@ -5,59 +5,59 @@
 block discarded – undo
5 5
  */
6 6
 class SettingsObserver {
7 7
 
8
-    public function saving($model)
9
-    {
10
-        //
11
-    }
12
-
13
-    public function saved($model)
14
-    {
15
-        //
16
-    }
17
-
18
-    /**
19
-     * Prevent the creating of the settings.
20
-     * 
21
-     * @param  object $model the model beign created.
22
-     * @return void
23
-     */
24
-    public function creating($model)
25
-    {
26
-        \ErrorHandler::cannotCreateSetting();
27
-    }
28
-
29
-    public function created($model)
30
-    {
31
-        //
32
-    }
33
-
34
-    /**
35
-     * Prevent updating of the setting key.
36
-     * 
37
-     * @param  object $model the model beign updated.
38
-     * @return void
39
-     */
40
-    public function updating($model)
41
-    {
42
-        if ($model->getOriginal('key') !== $model->key) 
43
-        {
44
-            \ErrorHandler::cannotUpdateSettingKey();
45
-        }
46
-    }
47
-
48
-    public function updated($model)
49
-    {
50
-        //
51
-    }
52
-
53
-    public function deleting($model)
54
-    {
55
-        //
56
-    }
57
-
58
-    public function deleted($model)
59
-    {
60
-        //
61
-    }
8
+	public function saving($model)
9
+	{
10
+		//
11
+	}
12
+
13
+	public function saved($model)
14
+	{
15
+		//
16
+	}
17
+
18
+	/**
19
+	 * Prevent the creating of the settings.
20
+	 * 
21
+	 * @param  object $model the model beign created.
22
+	 * @return void
23
+	 */
24
+	public function creating($model)
25
+	{
26
+		\ErrorHandler::cannotCreateSetting();
27
+	}
28
+
29
+	public function created($model)
30
+	{
31
+		//
32
+	}
33
+
34
+	/**
35
+	 * Prevent updating of the setting key.
36
+	 * 
37
+	 * @param  object $model the model beign updated.
38
+	 * @return void
39
+	 */
40
+	public function updating($model)
41
+	{
42
+		if ($model->getOriginal('key') !== $model->key) 
43
+		{
44
+			\ErrorHandler::cannotUpdateSettingKey();
45
+		}
46
+	}
47
+
48
+	public function updated($model)
49
+	{
50
+		//
51
+	}
52
+
53
+	public function deleting($model)
54
+	{
55
+		//
56
+	}
57
+
58
+	public function deleted($model)
59
+	{
60
+		//
61
+	}
62 62
 
63 63
 }
64 64
\ No newline at end of file
Please login to merge, or discard this patch.