예제 #1
0
 public function actionCsv($pars = 0)
 {
     if ($pars) {
         $model = Operation::find()->where("pars = :pars", [':pars' => (int) $pars])->orderBy("url asc")->all();
     } else {
         $model = Operation::find()->orderBy("url asc")->all();
     }
     include Yii::getAlias('@vendor/phpoffice/phpexcel/Classes/PHPExcel.php');
     include Yii::getAlias('@vendor/phpoffice/phpexcel/Classes/PHPExcel/IOFactory.php');
     $objPHPExcel = new \PHPExcel();
     $objPHPExcel->getProperties()->setCreator("Php Shaman")->setLastModifiedBy("Php Shaman")->setTitle("Office 2007 XLSX Test Document")->setSubject("Office 2007 XLSX Test Document")->setDescription("Data for yelp parsing")->setKeywords("office 2007 openxml php")->setCategory("Data for yelp parsing");
     // Add some data
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', 'name')->setCellValue('B1', 'categories')->setCellValue('C1', 'phone')->setCellValue('D1', 'state')->setCellValue('E1', 'city')->setCellValue('F1', 'address')->setCellValue('G1', 'postal')->setCellValue('H1', 'site')->setCellValue('I1', 'description');
     foreach ($model as $k => $o) {
         $cat = [];
         foreach ($o->categories as $c) {
             $cat[] = $c->name;
         }
         $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A' . ($k + 2), $o->name)->setCellValue('B' . ($k + 2), join(' | ', $cat))->setCellValue('C' . ($k + 2), $o->phone)->setCellValue('D' . ($k + 2), ParsSettings::getState($o->state))->setCellValue('E' . ($k + 2), $o->city)->setCellValue('F' . ($k + 2), $o->address)->setCellValue('G' . ($k + 2), $o->postal)->setCellValue('H' . ($k + 2), $o->site)->setCellValue('I' . ($k + 2), $o->description);
     }
     header('Content-Type: application/vnd.ms-excel');
     header('Content-Disposition: attachment;filename="pars.xls"');
     header('Cache-Control: max-age=0');
     header('Cache-Control: max-age=1');
     header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
     header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
     header('Cache-Control: cache, must-revalidate');
     header('Pragma: public');
     $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
     $objWriter->save('php://output');
 }
예제 #2
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params, $pars = 0)
 {
     $query = Operation::find();
     if ($pars) {
         $query->andFilterWhere(['pars' => $pars]);
     }
     $query->orderBy("id desc");
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'pars' => $this->pars, 'created' => $this->created]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'state', $this->state])->andFilterWhere(['like', 'city', $this->city])->andFilterWhere(['like', 'address', $this->address])->andFilterWhere(['like', 'phone', $this->phone])->andFilterWhere(['like', 'site', $this->site])->andFilterWhere(['like', 'img', $this->img]);
     return $dataProvider;
 }
예제 #3
0
 public function actionCreate()
 {
     $model = new OperationForm();
     $t = Yii::$app->request->get('t');
     switch ($t) {
         case 'income':
             $model->operation_type = $t;
             break;
         case 'expense':
             $model->operation_type = $t;
             break;
         default:
             $model->operation_type = 'expense';
     }
     $provider = new ActiveDataProvider(['query' => Operation::find()->with(['category', 'currency'])->orderBy('created_at DESC')->limit(20)]);
     $provider->setSort(false);
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         if ($operation = $model->addOperation()) {
             return $this->refresh();
         }
     }
     return $this->render('create', ['model' => $model, 'dataProvider' => $provider]);
 }
예제 #4
0
 /**
  * @Post("/editoperation")
  *
  */
 public function posteditoperation(Request $request)
 {
     $et = Operation::find($request->get('id'));
     // $et->nom = "000";
     //  $et->montant += 100 ;
     $user = User::find(Auth::user()->id);
     if ($et->type_dr == "depense" and $et->mode_paiement == "poche") {
         $user->solde_poche = $user->solde_poche + $request->montant;
         $user->solde_totale = $user->solde_totale + $request->montant;
         $user->save();
     }
     if ($et->type_dr == "revenue" and $et->mode_paiement == "bank") {
         $user->soldebancaire = $user->soldebancaire - $request->montant;
         $user->solde_totale = $user->solde_totale - $request->montant;
         $user->save();
     }
     if ($et->type_dr == "depense" and $et->mode_paiement == "bank") {
         $user->soldebancaire = $user->soldebancaire + $request->montant;
         $user->solde_totale = $user->solde_totale + $request->montant;
         $user->save();
     }
     if ($et->type_dr == "revenue" and $et->mode_paiement == "poche") {
         $user->solde_poche = $user->solde_poche - $request->montant;
         $user->solde_totale = $user->solde_totale - $request->montant;
         $user->save();
     }
     $et->nom = $request->nom;
     $et->type_dr = $request->type_dr;
     $et->montant = $request->montant;
     $et->mode_paiement = $request->mode_paiement;
     $et->description = $request->description;
     $et->etiquette_id = $request->etiquette;
     $et->categorie_id = $request->categorie;
     if ($et->type_dr == "depense" and $et->mode_paiement == "poche") {
         $user->solde_poche = $user->solde_poche - $request->montant;
         $user->solde_totale = $user->solde_totale - $request->montant;
         $user->save();
     }
     if ($et->type_dr == "revenue" and $et->mode_paiement == "bank") {
         $user->soldebancaire = $user->soldebancaire + $request->montant;
         $user->solde_totale = $user->solde_totale + $request->montant;
         $user->save();
     }
     if ($et->type_dr == "depense" and $et->mode_paiement == "bank") {
         $user->soldebancaire = $user->soldebancaire - $request->montant;
         $user->solde_totale = $user->solde_totale - $request->montant;
         $user->save();
     }
     if ($et->type_dr == "revenue" and $et->mode_paiement == "poche") {
         $user->solde_poche = $user->solde_poche + $request->montant;
         $user->solde_totale = $user->solde_totale + $request->montant;
         $user->save();
     }
     $et->save();
     return redirect('/operations')->with(['etiquette' => Etiquette::all(), 'categorie' => Categorie::all(), 'operations' => Operation::where('user_id', \Auth::user()->id)->with('etiquette', 'categorie')->get()]);
 }