Exemple #1
0
 function save(&$errors = '')
 {
     global $javconfig;
     $task = $this->getTask();
     $model = $this->getModel('items');
     $post = JRequest::get('request');
     $helper = new JAVoiceHelpers();
     $post["title"] = $helper->addSpaceInLongTitle(trim($post["title"]));
     // allow name only to contain html
     $post['content'] = JRequest::getString('newVoiceContent', '');
     $post['voice_types_id'] = JRequest::getInt('voice_types_id');
     $post['forums_id'] = JRequest::getInt('forums_id');
     $lists = $model->getItem();
     $old_forums_id = $lists->forums_id;
     $old_voice_types_id = $lists->voice_types_id;
     $model->setState('request', $post);
     $row = $model->store();
     if (isset($row->id)) {
         if ($javconfig['plugin']->get("is_attach_image", 0)) {
             //delete file in store image if remove file
             jimport('joomla.filesystem.folder');
             jimport('joomla.filesystem.file');
             $listFile = JRequest::getVar('listfile', 0);
             $file_path = JPATH_ROOT . DS . "images" . DS . "stories" . DS . "ja_voice" . DS . $row->id;
             $listFileOfComments = JFolder::files($file_path);
             if ($listFileOfComments) {
                 foreach ($listFileOfComments as $listFileOfComment) {
                     if ($listFile) {
                         if (!in_array($listFileOfComment, $listFile)) {
                             JFile::delete($file_path . DS . $listFileOfComment);
                         }
                     } else {
                         JFile::delete($file_path . DS . $listFileOfComment);
                     }
                 }
             }
             if ($listFile) {
                 if (isset($_SESSION['javtemp'])) {
                     $listFileTemp = JFolder::files($_SESSION['javtemp']);
                     if ($listFileTemp) {
                         foreach ($listFileTemp as $file) {
                             if (!in_array($file, $listFile, true)) {
                                 JFile::delete($_SESSION['javtemp'] . DS . $file);
                             }
                         }
                     }
                     JRequest::setVar("listfile", implode(',', $listFile));
                     //move file
                     $target_path = JPATH_ROOT . DS . "images" . DS . "stories" . DS . "ja_voice" . DS . $row->id;
                     if (!is_dir($target_path)) {
                         JFolder::create($target_path);
                     }
                     if ($listFileTemp) {
                         JFolder::copy($_SESSION['javtemp'], $target_path, '', true);
                     }
                     JFolder::delete($_SESSION['javtemp']);
                     unset($_SESSION['javtemp']);
                     unset($_SESSION['javnameFolder']);
                 }
             }
         }
         $model->update_total_items($row->voice_types_id, $row->forums_id, $post["id"], $old_forums_id, $old_voice_types_id);
         //update tags
         if ($javconfig['systems']->get("is_attach_image", 0)) {
         }
     } else {
         $errors[] = $row;
         return FALSE;
     }
     return $row->id;
 }