/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/ConfigurationRepository.php (18301B)
config = $config; $this->academic_session = $academic_session; } /** * Get all config variables * @return Configuration */ public function getAll() { return $this->config->all()->pluck('value', 'name')->all(); } /** * Get all config variables by public value * @return Configuration */ public function getAllPublic() { return $this->config->all()->pluck('public_value', 'name')->all(); } /** * Get config variable by name * @return Configuration */ public function getByName($names) { return $this->config->filterByName($names)->get()->value; } /** * Get selected config variables by name * @return Configuration */ public function getSelectedByName($names) { return $this->config->whereIn('name', $names)->get()->pluck('value', 'name')->all(); } public function getConfig() { if (!\Storage::exists('.app_installed')) { $config['failed_install'] = 1; return $config; } $system_variables = getVar('system'); $default_config = isset($system_variables['default_config']) ? $system_variables['default_config'] : []; $configs = $this->config->all(); foreach ($default_config as $key => $value) { $config = $configs->firstWhere('name',$key) ; if (! $config) { $config = $this->firstOrCreate($key); } if (! is_numeric($config->numeric_value) && ($config->value === '' || $config->value === null)) { $config->numeric_value = (is_numeric($value) && floor($value) == $value) ? $value : null; $config->text_value = ($config->numeric_value) ? null : ($value ? : null); $config->save(); } } $public_config = config('system.public_config'); $config = $this->getSelectedByName($public_config); $config['l'] = (\Storage::exists('.access_code') ? 1 : 0); $config['v'] = \Storage::get('.version'); $config['pagination'] = config('system.pagination'); $config['mode'] = (config('app.mode') == 'test') ? 0 : 1; $config['default_roles'] = config('system.default_role'); $config_variables = getVar('config'); $config['show_footer_credit'] = gbv($config_variables, 'show_footer_credit'); $config['pb'] = gbv($config_variables, 'pb'); $config['default_currency'] = getDefaultCurrency(); $config['current_date'] = today(); $config['mobile_app_compatible'] = my_version_compare(\Storage::get('.version'), config('system.mobile_app_compatible'), '>='); if (! auth()->check()) { $config['authenticated'] = false; return $config; } $config_variables = getVar('config'); $config = array_merge($config, $this->getAllPublic()); $config['default_currency'] = getDefaultCurrency(); $config['post_max_size'] = getPostMaxSize(); $config['show_footer_credit'] = gbv($config_variables, "show_footer_credit"); $config['pb'] = gbv($config_variables, "pb"); $config['menu'] = explode(',', array_key_exists('menu', $config) ? $config['menu'] : ''); $auth_user = auth()->user(); $user_preference = $auth_user->userPreference; if ($user_preference) { $config['user_color_theme'] = $auth_user->userPreference->color_theme; $config['user_direction'] = $auth_user->userPreference->direction; $config['user_locale'] = $auth_user->userPreference->locale; $config['user_sidebar'] = $auth_user->userPreference->sidebar; } $config['authenticated'] = true; return $config; } /** * Find configuration by name else create. * * @param array $params * @return null */ public function firstOrCreate($name) { return $this->config->firstOrCreate(['name' => $name]); } /** * Store a configuration * * @param array $params * @return null */ public function set($name, $value, $private = 0) { $config = $this->firstOrCreate([ 'name' => $name ]); $config->numeric_value = (is_numeric($value) && floor($value) == $value) ? $value : null; $config->text_value = ($config->numeric_value) ? null : ($value ? : null); $config->is_private = $private; $config->save(); return $config; } /** * Store configuration. * * @param array $params * @return null */ public function store($params) { $config_type = gv($params, 'config_type'); if ($config_type === 'menu') { $this->updateMenu($params); return; } $this->testModeOperation($params); $this->smsConfiguration($params); $old_configs = $this->getAll(); foreach ($params as $key => $value) { if (! in_array($key, ['config_type','providers']) && (!in_array($key, config('system.private_config_variables')) || (in_array($key, config('system.private_config_variables')) && $value != config('system.hidden_field')))) { $value = (is_array($value)) ? implode(',', $value) : $value; $config = $this->firstOrCreate($key); $old_config = $config->value; $config->numeric_value = (is_numeric($value) && floor($value) == $value && digitCount($value) == digitCount(floor($value))) ? $value : null; $config->text_value = ($config->numeric_value) ? null : ($value ? : null); $config->save(); if ($old_config != $config->value) { $property = $config->is_private ? ['attributes' => [$key => config('system.hidden_field')]] : ['attributes' => [$key => $config->value], 'old' => [$key => $old_config]]; activity('config')->on($config)->withProperties($property)->log('updated'); } } } $this->setLocale($params); $this->setVisibility(); if ($config_type === 'mail' || $config_type === 'system' || $config_type == 'basic') { config(['config' => $this->getAll()]); $this->setEnv($config_type); } if ($config_type == 'system') { $this->checkSymlink(); } } private function updateMenu($params = array()) { $modules = gv($params, 'modules', []); $data = array(); foreach ($modules as $module) { $menu = gv($module, 'menu'); if (gbv($menu, 'visibility')) array_push($data, gv($menu, 'name')); $submenu = gv($menu, 'submenu', []); foreach ($submenu as $sbmenu) { if (gbv($sbmenu, 'visibility')) array_push($data, gv($sbmenu, 'name')); } } $config = $this->firstOrCreate('menu'); $config->text_value = implode(',',$data); $config->save(); } public function getModules() { $modules = getVar('modules'); $menu = $this->config->whereName('menu')->first(); $menus = $menu ? explode(',',$menu->text_value) : []; return compact('modules','menus'); } /** * Store test mode configuration. * * @param array $params * @return null */ public function testModeOperation($params) { $config_type = gv($params, 'config_type'); if (! in_array($config_type, ['system', 'mail', 'authentication', 'basic'])) { return; } if (isTestMode()) { throw ValidationException::withMessages(['message' => trans('general.restricted_test_mode_action')]); } } /** * Store SMS configuration. * * @param array $params * @return null */ public function smsConfiguration($params) { $config_type = gv($params, 'config_type'); $sms_gateway = gv($params, 'sms_gateway'); $nexmo_api_key = gv($params, 'nexmo_api_key'); $nexmo_api_secret = gv($params, 'nexmo_api_secret'); $nexmo_receiver_mobile = gv($params, 'nexmo_receiver_mobile'); $nexmo_sender_mobile = gv($params, 'nexmo_sender_mobile'); $twilio_sid = gv($params, 'twilio_sid'); $twilio_token = gv($params, 'twilio_token'); $twilio_receiver_mobile = gv($params, 'twilio_receiver_mobile'); $twilio_sender_mobile = gv($params, 'twilio_sender_mobile'); if ($config_type != 'sms') { return; } if ($sms_gateway == 'nexmo') { config(['nexmo.api_key' => $nexmo_api_key,'nexmo.api_secret' => $nexmo_api_secret]); try { $nexmo = app('Nexmo\Client'); $nexmo->message()->send([ 'to' => $nexmo_receiver_mobile, 'from' => $nexmo_sender_mobile, 'text' => 'Test Message!' ]); } catch (\Nexmo\Client\Exception\Request $e) { throw ValidationException::withMessages(['nexmo_api_key' => $e->getMessage()]); } } else if ($sms_gateway == 'twilio') { config([ 'twilio.twilio.connections.twilio.sid' => $twilio_sid, 'twilio.twilio.connections.twilio.token' => $twilio_token, 'twilio.twilio.connections.twilio.from' => '+'.$twilio_sender_mobile ]); try { \Twilio::message('+'.$twilio_receiver_mobile, 'Test Message!'); } catch (TwilioException $e) { throw ValidationException::withMessages(['twilio_sid' => $e->getMessage()]); } } } /** * Store locale configuration. * * @param array $params * @return null */ public function setLocale($params) { $config_type = gv($params, 'config_type'); $locale = gv($params, 'locale', config('app.locale')); if ($config_type != 'system') { return; } if ($locale === config('app.locale')) { return; } config(['app.locale' => $locale]); \App::setLocale(config('app.locale')); \Cache::forget('lang.js'); } /** * Set configuration visibility. * * @param array $params * @return null */ public function setVisibility() { $this->config->whereIn('name', config('system.private_config_variables'))->update(['is_private' => 1]); $this->config->whereNotIn('name', config('system.private_config_variables'))->update(['is_private' => 0]); } /** * Set default configuration variable. * * @return null */ public function setDefault() { $system_variables = getVar('system'); $role_and_permission_variables = getVar('role_and_permission'); config(['system' => $system_variables + $role_and_permission_variables]); $default_config = isset($system_variables['default_config']) ? $system_variables['default_config'] : []; foreach ($default_config as $key => $value) { config(['config.'.$key => $value]); } if (!\Storage::exists('.app_installed')) { return false; } config(['config' => $this->getAll()]); if (auth()->check()) { $auth_user = auth()->user(); $user_preference = auth()->user()->UserPreference; if ($user_preference) { config([ 'config.user_direction' => $user_preference->direction, 'config.user_locale' => $user_preference->locale, 'config.user_sidebar' => $user_preference->sidebar, 'config.user_color_theme' => $user_preference->color_theme ]); } $default_academic_session = ($user_preference) ? $this->academic_session->find($user_preference->academic_session_id) : $this->academic_session->whereIsDefault(1)->first(); if ($default_academic_session) { config([ 'config.default_academic_session.id' => $default_academic_session->id, 'config.default_academic_session.start_date' => toDate($default_academic_session->start_date), 'config.default_academic_session.end_date' => toDate($default_academic_session->end_date), 'config.default_academic_session.name' => $default_academic_session->name, 'config.default_academic_session.is_default' => $default_academic_session->is_default, 'config.default_academic_session.options' => $default_academic_session->options, ]); } else { config(['config.default_academic_session' => null]); } } $this->setVisibility(); config(['app.name' => config('config.institute_name')]); config([ 'nexmo.api_key' => config('config.nexmo_api_key'), 'nexmo.api_secret' => config('config.nexmo_api_secret') ]); config([ 'twilio.twilio.connections.twilio.sid' => config('config.twilio_sid'), 'twilio.twilio.connections.twilio.token' => config('config.twilio_token'), 'twilio.twilio.connections.twilio.from' => '+'.config('config.twilio_sender_mobile') ]); config([ 'paypal.client_id' => config('config.paypal_client_id'), 'paypal.secret' => config('config.paypal_client_secret'), 'paypal.settings.mode' => config('config.paypal_mode') ? 'live' : 'sandbox' ]); config([ 'jwt.ttl' => config('config.token_lifetime') ? : 120 ]); date_default_timezone_set(config('config.timezone') ? : 'Asia/Kolkata'); \App::setLocale(config('config.locale') ? : 'en'); } /** * Set .env files. * * @return null */ public function setEnv($type = null) { if (! $type) { return; } if ($type === 'system') { envu(['APP_DEBUG' => (!\App::environment('production') && config('config.error_display')) ? true : false]); } if ($type === 'mail') { envu([ 'MAIL_DRIVER' => config('config.driver'), 'MAIL_FROM_ADDRESS' => config('config.from_address'), 'MAIL_FROM_NAME' => config('config.from_name') ]); if (config('config.driver') === 'smtp') { envu([ 'MAIL_HOST' => config('config.smtp_host'), 'MAIL_PORT' => config('config.smtp_port'), 'MAIL_USERNAME' => config('config.smtp_username'), 'MAIL_PASSWORD' => config('config.smtp_password'), 'MAIL_ENCRYPTION' => config('config.smtp_encryption'), ]); } elseif (config('config.driver') === 'mailgun') { envu([ 'MAIL_HOST' => config('config.mailgun_host'), 'MAIL_PORT' => config('config.mailgun_port'), 'MAIL_USERNAME' => config('config.mailgun_username'), 'MAIL_PASSWORD' => config('config.mailgun_password'), 'MAIL_ENCRYPTION' => config('config.mailgun_encryption'), 'MAILGUN_DOMAIN' => config('config.mailgun_domain'), 'MAILGUN_SECRET' => config('config.mailgun_secret'), ]); } elseif (config('config.driver') === 'mandrill') { envu([ 'MANDRILL_SECRET' => config('config.mandrill_secret'), ]); } } } /** * Get company address * @return string */ public function getCompanyAddress() { $address = config('config.address_line_1'); $address .= (config('config.address_line_2')) ? (',
'.config('config.address_line_2')) : ''; $address .= (config('config.city')) ? ',
'.(config('config.city')) : ''; $address .= (config('config.state')) ? ', '.(config('config.state')) : ''; $address .= (config('config.zipcode')) ? ', '.(config('config.zipcode')) : ''; $address .= (config('config.country_id')) ? '
'.(config('config.country')) : ''; return $address; } /** * Get company logo * @return string */ public function getCompanyLogo() { if (config('config.logo') && \File::exists(config('config.logo'))) { return ''; } else { return ''; } } /** * Show/hide setup wizard * @return string */ public function setupWizard($params = array()) { $action = gv($params, 'action', 'hide'); $config = $this->firstOrCreate('setup_wizard'); $config->numeric_value = ($action == 'show') ? 1 : 0; $config->save(); } /** * Check symlink */ public function checkSymlink() { if (!\File::exists(public_path('storage'))) { \Artisan::call('storage:link'); } } }