/** * Get setting value and cache the value for a day * @param string $settingObject * @return mixed * @throws Exception * @since 19-01-2016 * @author Dinanath Thakur <*****@*****.**> */ function getSetting($settingObject) { switch ($settingObject) { case 'price_symbol': $objCurrencyModel = \FlashSale\Http\Modules\Admin\Models\Currency::getInstance(); $whereForPrice = ['rawQuery' => 'is_primary=? AND status=?', 'bindParams' => ['Y', 1]]; $selectedColumns = ['symbol']; $cacheKey = "settings_objects::" . implode('-', array_flatten($whereForPrice)); if (cacheGet($cacheKey)) { $priceSymbol = cacheGet($cacheKey); } else { $priceSymbol = $objCurrencyModel->getCurrencyWhere($whereForPrice, $selectedColumns); cachePut($cacheKey, $priceSymbol, 86400); } $settingValue = $priceSymbol->symbol; break; default: $objSettingObject = \FlashSale\Http\Modules\Admin\Models\SettingsObject::getInstance(); $whereForSettingObject = ['rawQuery' => 'name=?', 'bindParams' => [$settingObject]]; $selectedColumns = ['value']; $cacheKey = "settings_objects::" . implode('-', array_flatten($whereForSettingObject)); if (cacheGet($cacheKey)) { $settingValue = cacheGet($cacheKey); } else { $settingValue = $objSettingObject->getSettingObjectWhere($whereForSettingObject, $selectedColumns); cachePut($cacheKey, $settingValue, 86400); } $settingValue = $settingValue->value; break; } return $settingValue; }
/** * Handle ajax calls * @param Request $request * @throws \Exception * @since 20-01-2016 * @author Dinanath Thakur <*****@*****.**> */ public function currencyAjaxHandler(Request $request) { $objCurrencyModel = Currency::getInstance(); $inputData = $request->input(); $method = $inputData['method']; try { switch ($method) { case 'changePosition': $positionData = $inputData['position']; $case = implode(' ', array_map(function ($v, $k) { return ' WHEN ' . $v . ' THEN ' . $k; }, $positionData, array_keys($positionData))); echo json_encode($objCurrencyModel->updateCurrencyWhere(['position' => DB::raw("(CASE currency_id {$case} END)")], ['rawQuery' => 'currency_id IN(' . implode(',', $positionData) . ')']) > 0 ? ['status' => 'success', 'msg' => 'Positions of currencies were updated.'] : ['status' => 'error', 'msg' => 'Something went wrong, please reload the page and try again.']); break; case 'deleteCurrency': echo json_encode($objCurrencyModel->deleteCurrencyWhere(['rawQuery' => 'currency_id =? AND is_primary !=?', 'bindParams' => [$inputData['currencyId'], 'Y']]) == 1 ? ['status' => 'success', 'msg' => 'The currency has been deleted successfully.'] : ['status' => 'error', 'msg' => 'Something went wrong, please reload the page and try again.']); break; case 'changeCurrencyStatus': echo json_encode($objCurrencyModel->updateCurrencyWhere(['status' => $inputData['status']], ['rawQuery' => 'currency_id =? ', 'bindParams' => [$inputData['currencyId']]]) == 1 ? ['status' => 'success', 'msg' => 'Status has been changed.'] : ['status' => 'error', 'msg' => 'Something went wrong, please reload the page and try again.']); break; default: break; } } catch (\Exception $e) { // echo json_encode(['status' => 'error', 'msg' => 'An exception occurred, please reload the page and try again.']); echo json_encode(['status' => 'error', 'msg' => $e->getMessage()]); } }
/** * Get setting value * @param string $settingObject * @return mixed * @throws Exception * @since 19-01-2016 * @author Dinanath Thakur <*****@*****.**> */ function getSetting($settingObject) { switch ($settingObject) { case 'price_symbol': $objCurrencyModel = \FlashSale\Http\Modules\Admin\Models\Currency::getInstance(); $whereForPrice = ['rawQuery' => 'is_primary=? AND status=?', 'bindParams' => ['Y', 1]]; $selectedColumns = ['symbol']; $priceSymbol = $objCurrencyModel->getCurrencyWhere($whereForPrice, $selectedColumns); $settingValue = $priceSymbol->symbol; break; default: $objSettingObject = \FlashSale\Http\Modules\Admin\Models\SettingsObject::getInstance(); $whereForSettingObject = ['rawQuery' => 'name=?', 'bindParams' => [$settingObject]]; $selectedColumns = ['value']; $settingValue = $objSettingObject->getSettingObjectWhere($whereForSettingObject, $selectedColumns); $settingValue = $settingValue->value; break; } return $settingValue; }