/home/techb158/ileadtechnology.com/SSM/app/Repositories/configuration
NameSizeModeActions
academic/-0755rm
asset/-0755rm
calendar/-0755rm
employee/-0755rm
exam/-0755rm
finance/-0755rm
library/-0755rm
misc/-0755rm
post/-0755rm
reception/-0755rm
student/-0755rm
transport/-0755rm
ConfigurationRepository.php183010644editdlrm
CustomFieldRepository.php134710644editdlrm
LocaleRepository.php70250644editdlrm
PermissionRepository.php64020644editdlrm
RoleRepository.php41290644editdlrm
Edit: /home/techb158/ileadtechnology.com/SSM/app/Repositories/configuration/LocaleRepository.php (7025B)
locale = $locale; } /** * Get all locales. * * @return Locale */ public function getAll() { return $this->locale->all(); } /** * List all locales. * * @return Locale */ public function list() { return $this->locale->all()->pluck('locale_with_name', 'locale')->all(); } /** * Find locale with given id or throw an error. * * @param integer $id * @return Locale */ public function findOrFail($id) { $locale = $this->locale->find($id); if (! $locale) { throw ValidationException::withMessages(['message' => trans('configuration.could_not_find_locale')]); } return $locale; } /** * Find by locale. * * @return Locale */ public function findByLocale($locale) { return $this->locale->filterByLocale($locale)->first(); } /** * Find by locale or fail. * * @return Locale */ public function findByLocaleOrFail($locale) { $locale = $this->locale->filterByLocale($locale)->first(); if (! $locale) { throw ValidationException::withMessages(['message' => trans('configuration.could_not_find_locale')]); } return $locale; } /** * Paginate all locales using given params. * * @param array $params * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator */ public function paginate($params) { $sort_by = gv($params, 'sort_by', 'name'); $order = gv($params, 'order', 'asc'); $page_length = gv($params, 'page_length', config('config.page_length')); return $this->locale->orderBy($sort_by, $order)->paginate($page_length); } /** * Create a new locale. * * @param array $params * @return Locale */ public function create($params) { $locale = $this->locale->forceCreate($this->formatParams($params)); if ($locale->locale != 'en') { \File::copyDirectory(base_path('/resources/lang/en'), base_path('/resources/lang/'.gv($params, 'locale'))); } $this->sortWords(); return $locale; } /** * Prepare given params for inserting into database. * * @param array $params * @param string $type * @return array */ private function formatParams($params, $action = 'create') { $formatted = [ 'name' => gv($params, 'name') ]; if ($action === 'create') { $formatted['locale'] = gv($params, 'locale'); } return $formatted; } /** * Update given locale. * * @param Locale $locale * @param array $params * * @return Locale */ public function update(Locale $locale, $params) { if ($locale->locale != gv($params, 'locale')) { throw ValidationException::withMessages(['locale' => trans('configuration.locale_cannot_be_changed')]); } $locale->forceFill($this->formatParams($params, 'update'))->save(); return $locale; } /** * Find locale & check it can be deleted or not. * * @param integer $id * @return Locale */ public function deletable($id) { $locale = $this->findOrFail($id); if ($locale->locale === 'en') { throw ValidationException::withMessages(['message' => trans('configuration.default_cannot_be_deleted')]); } return $locale; } /** * Delete locale. * * @param integer $id * @return bool|null */ public function delete(Locale $locale) { \File::deleteDirectory(base_path('/resources/lang/'.$locale->locale)); return $locale->delete(); } /** * Delete multiple locales. * * @param array $ids * @return bool|null */ public function deleteMultiple($ids) { return $this->locale->whereIn('id', $ids)->delete(); } /** * Toggle given locale status. * * @param Locale $locale * @param array $params * * @return Locale */ public function toggle(Locale $locale) { $locale->forceFill([ 'completed_at' => (! $locale->status) ? Carbon::now() : null, 'status' => ! $locale->status ])->save(); return $locale; } /** * Get all locale modules. * * @return array */ public function getModules() { $modules = array(); foreach (\File::allFiles(base_path('/resources/lang/en')) as $file) { $modules[] = basename($file, '.php'); } return $modules; } /** * Sort translations of all modules. * * @return null */ public function sortWords() { $locale = 'en'; foreach ($this->getModules() as $module) { $words = \File::getRequire($this->validateModule($locale, $module)); ksort($words); $this->writeToFile('en', $module, $words); } } /** * Write to translation file. * * @param string $locale * @param string $module * @param array $words * @return null */ public function writeToFile($locale = 'en', $module = null, $words = array()) { if (! $module) { return; } ksort($words); $file = base_path('/resources/lang/'.$locale.'/'.$module.'.php'); \File::put($file, var_export($words, true)); \File::prepend($file, 'validateModule($locale, $module)); ksort($words); return $words; } /** * Validate local modules, if doesn't exist create new file for module. * * @param string $locale * @param string $module * @return string Locale file */ public function validateModule($locale, $module) { $file = base_path('/resources/lang/'.$locale.'/'.$module.'.php'); if (!\File::exists($file)) { \File::put($file, var_export([], true)); \File::prepend($file, '