Пример #1
0
 public function actionUpload()
 {
     //        $user_id = $_POST['user_id'];
     //        $folder="data/".$user_id.'/';
     //to do
     $polzovatel_id = ApiGlobals::getPolzovatelId();
     if (!$polzovatel_id) {
         throw new \Exception();
     }
     $folder = "data/" . $polzovatel_id . '/';
     $input_name = 'load_file';
     // var_dump($_FILES);die();
     if (!is_dir($folder)) {
         mkdir($folder, 0750, true);
     }
     if ($uploads = $_FILES[$input_name]) {
         //foreach($uploads['name'] as $upload_id=>$val){
         if ($uploads['error'] == 0) {
             $file_ext = ApiGlobals::get_file_ext($uploads['name']);
             $fname = md5(time() . '_' . ApiGlobals::translit($uploads['name'])) . '.' . $file_ext;
             //md5_file($uploads['tmp_name']).'.'.$file_ext;//md5(time().'_'.ApiGlobals::translit($uploads['name'])).'.'.$file_ext;
             if (move_uploaded_file($uploads['tmp_name'], $folder . '/' . $fname)) {
                 $sql = 'INSERT INTO fajl (vneshnee_imya_fajla, vnutrennee_imya_fajla, vladelec)
                             VALUES (:vneshnee_imya_fajla, :vnutrennee_imya_fajla, :vladelec)';
                 $res = \Yii::$app->db->createCommand($sql)->bindValue(':vneshnee_imya_fajla', $uploads['name'])->bindValue(':vnutrennee_imya_fajla', $fname)->bindValue(':vladelec', $polzovatel_id)->execute();
                 if ($res) {
                     $file_id = \Yii::$app->db->getLastInsertID('fajl_id_seq');
                     $item = ['id' => $file_id, 'vneshnee_imya_fajla' => $uploads['name'], 'vnutrennee_imya_fajla' => $fname, 'vladelec' => $polzovatel_id];
                     $html['html'] = static::file_row('radio', $item, false);
                     //ApiGlobals::file_row('radio',$uploads['name'],$file_id,$_POST['widget_id'],true);
                 }
             }
         }
         //}
     }
     $xhr = $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
     if (!$xhr) {
         $res = json_encode($html);
         $result = '<textarea>' . $res . '</textarea>';
         echo $result;
         die;
     } else {
         $result = $html;
     }
     echo json_encode($result);
 }
Пример #2
0
 public function init()
 {
     parent::init();
     if (!$this->params) {
         $this->params = ['id' => 'files' . time() . rand(1, 100)];
     } else {
         $this->params = $this->params;
     }
     $sql = 'select * from fajl where vladelec = :user_id';
     $polzovatel_id = ApiGlobals::getPolzovatelId();
     if (isset($this->attribute)) {
         $pureAttrbiute = BaseHtml::getAttributeName($this->attribute);
         $this->params['pureAttribute'] = $pureAttrbiute;
     }
     if (!$polzovatel_id) {
         throw new \Exception();
     }
     if ($res = \Yii::$app->db->createCommand($sql)->bindValue(':user_id', $polzovatel_id)->queryAll()) {
         $files = array();
         foreach ($res as $k => $v) {
             $files[$v['id']] = $v;
         }
         $this->params['files'] = $files;
     } else {
         $this->params['files'] = array();
     }
     if (isset($pureAttrbiute) && isset($this->model[$pureAttrbiute]) && $this->model[$pureAttrbiute] && $this->params['files'][$this->model[$pureAttrbiute]]['vneshnee_imya_fajla']) {
         $this->params['btn-text'] = $this->params['files'][$this->model[$pureAttrbiute]]['vneshnee_imya_fajla'];
     }
     if (!isset($this->params['btn-text'])) {
         $this->params['btn-text'] = 'Выбрать файл';
     }
     $this->params['name'] = isset($this->model) ? Html::getInputName($this->model, $this->attribute) : $this->params['id'];
     //if (!isset($this->params['selected'])) $this->params['selected'] = null;
     //else $this->params['btn-text'] = $this->params['files'][$this->params['selected']]
     //var_dump($this->params['files']);
 }