public function update_promo_code()
 {
     $check = PromoCodes::where('coupon_code', '=', Input::get('code_name'))->where('id', '!=', Input::get('id'))->count();
     if ($check > 0) {
         return Redirect::to("admin/promo_code?success=1");
     }
     if (Input::get('id') != 0) {
         $promo = PromoCodes::find(Input::get('id'));
     } else {
         $promo = new PromoCodes();
     }
     $code_name = Input::get('code_name');
     $code_value = Input::get('code_value');
     $code_type = Input::get('code_type');
     $code_uses = Input::get('code_uses');
     $start_date = date("Y-m-d H:i:s", strtotime(trim(Input::get('start_date'))));
     $code_expiry = date("Y-m-d H:i:s", strtotime(trim(Input::get('code_expiry'))) + ((23 * 60 + 59) * 60 + 59));
     $validator = Validator::make(array('code_name' => $code_name, 'code_value' => $code_value, 'code_type' => $code_type, 'code_uses' => $code_uses, 'code_expiry' => $code_expiry, 'start_date' => $start_date), array('code_name' => 'required', 'code_value' => 'required|integer', 'code_type' => 'required|integer', 'code_uses' => 'required|integer', 'code_expiry' => 'required', 'start_date' => 'required'));
     if ($validator->fails()) {
         $error_messages = $validator->messages()->first();
         Session::put('msg', $error_messages);
         $title = ucwords("Add " . trans('customize.promo_codes'));
         /* 'Add Promo Code' */
         return View::make('add_promo_code')->with('title', $title)->with('page', 'promo_codes');
     } else {
         $expirydate = date("Y-m-d H:i:s", strtotime($code_expiry));
         $promo->coupon_code = $code_name;
         $promo->value = $code_value;
         $promo->type = $code_type;
         $promo->uses = $code_uses;
         $promo->start_date = $start_date;
         $promo->expiry = $expirydate;
         $promo->state = 1;
         $promo->save();
     }
     return Redirect::route('AdminPromoCodes');
 }