Example #1
0
 /**
  * Copy the article with extrafields
  *
  * @access	public
  * @since	1.5
  */
 public function copyArticle($article, $oldid)
 {
     $app = JFactory::getApplication();
     //COPY AND SAVE LIKE COPY
     $newid = $article->id;
     if (!empty($oldid)) {
         $db =& JFactory::getDBO();
         //COPY __fieldsattach_values VALUES TABLE
         $query = 'SELECT * FROM #__fieldsattach_values as a  WHERE a.articleid = ' . $oldid;
         //Log
         plgSystemfieldsattachment::writeLog("function copyArticle log1: " . $query);
         $db->setQuery($query);
         $results = $db->loadObjectList();
         if ($results) {
             foreach ($results as $result) {
                 $query = 'SELECT * FROM #__fieldsattach_values as a  WHERE a.articleid = ' . $newid . ' AND a.fieldsid=' . $result->fieldsid;
                 $db->setQuery($query);
                 $obj = $db->loadObject();
                 if (!empty($obj)) {
                     //update
                     //$query = 'UPDATE  #__fieldsattach_values SET value="'.$result->valor.'" WHERE id='.$result->id ;
                     //$db->setQuery($query);
                     //echo "<br>".$query;
                     //$db->query();
                 } else {
                     //insert
                     $query = 'INSERT INTO #__fieldsattach_values(articleid,fieldsid,value) VALUES (' . $newid . ',\'' . $result->fieldsid . '\',\'' . $result->value . '\' )     ';
                     $db->setQuery($query);
                     $db->query();
                 }
             }
         }
         //COPY  fieldsattach_images GALLERIES-----------------------------
         $query = 'SELECT * FROM #__fieldsattach_images as a  WHERE a.articleid = ' . $oldid;
         $db->setQuery($query);
         $results = $db->loadObjectList();
         if (count($results) > 0) {
             foreach ($results as $result) {
                 //JError::raiseWarning( 100, "QUERY1.2: ".  $result->fieldsattachid  );
                 if (isset($result->fieldsattachid)) {
                     $query = 'SELECT * FROM #__fieldsattach_images as a  WHERE a.articleid = ' . $newid . ' AND a.fieldsattachid=' . $result->fieldsattachid;
                     $db->setQuery($query);
                     $obj = $db->loadObject();
                     if ($obj) {
                         //update
                         $query = 'UPDATE  #__fieldsattach_images SET image1="' . $result->title . '", image1="' . $result->image1 . '", image2="' . $result->image2 . '", image3="' . $result->image3 . '", description="' . $result->description . '", ordering="' . $result->ordering . '", published="' . $result->published . '"  WHERE id=' . $result->id;
                         $db->setQuery($query);
                         $db->query();
                     } else {
                         //insert
                         $query = 'INSERT INTO #__fieldsattach_images(articleid,fieldsattachid,title,  image1, image2, image3, description, ordering, published) VALUES (' . $newid . ',\'' . $result->fieldsattachid . '\',\'' . $result->title . '\',\'' . $result->image1 . '\',\'' . $result->image2 . '\',\'' . $result->image3 . '\',\'' . $result->description . '\',\'' . $result->ordering . '\',\'' . $result->published . '\' )     ';
                         $db->setQuery($query);
                         $db->query();
                     }
                 }
             }
         }
         //copy documents and images
         $sitepath = JPATH_BASE;
         $sitepath = str_replace("administrator", "", $sitepath);
         $sitepath = JPATH_SITE;
         //COPY  FOLDER -----------------------------
         $path = '..' . DS . 'images' . DS . 'documents';
         if (JRequest::getVar('option') == 'com_categories' && JRequest::getVar('layout') == "edit" && JRequest::getVar('extension') == "com_content") {
             $path = '..' . DS . 'images' . DS . 'documentscategories';
         }
         $path = str_replace("../", DS, $path);
         $source = $sitepath . $path . DS . $oldid . DS;
         $dest = $sitepath . $path . DS . $newid . DS;
         //JFolder::copy($source, $dest);
         if (!JFolder::exists($dest)) {
             JFolder::create($dest);
         }
         $files = JFolder::files($source);
         foreach ($files as $file) {
             if (Jfile::copy($source . $file, $dest . $file)) {
                 $app->enqueueMessage(JTEXT::_("Copy file ok:") . $file);
             } else {
                 JError::raiseWarning(100, "Cannot copy the file: " . $source . $file . " to " . $dest . $file);
             }
         }
     }
     //$app->enqueueMessage( JText::_("EXTRA FIELDS ADDED"), 'info'   )   ;
     //END COPY AND SAVE============================================================================
 }
Example #2
0
 /**
  * Function for batch FUCTION
  *
  * @access	public
  * @since	1.5
  */
 public function batchcopy($newId, $oldId)
 {
     $db =& JFactory::getDBO();
     $query = 'SELECT a.* FROM #__content as a  WHERE  a.id =' . $newId;
     $db->setQuery($query);
     //echo "WW:".$query;
     $article = $db->loadObject();
     plgSystemfieldsattachment::copyArticle($article, $oldId);
 }