当前位置: 首页>>代码示例>>PHP>>正文


PHP oledrion_utils::duplicateFile方法代码示例

本文整理汇总了PHP中oledrion_utils::duplicateFile方法的典型用法代码示例。如果您正苦于以下问题:PHP oledrion_utils::duplicateFile方法的具体用法?PHP oledrion_utils::duplicateFile怎么用?PHP oledrion_utils::duplicateFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在oledrion_utils的用法示例。


在下文中一共展示了oledrion_utils::duplicateFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: cloneProduct

 /**
  * Clone d'un produit
  *
  * @param  object $originalProduct Le produit à cloner
  * @return mixed  Soit l'objet représentant le nouveau produit soit false
  */
 public function cloneProduct(oledrion_products $originalProduct)
 {
     global $h_oledrion_productsmanu, $h_oledrion_files, $h_oledrion_productsmanu, $h_oledrion_related, $oledrion_handlers;
     $newProduct = $originalProduct->xoopsClone();
     if (OLEDRION_DUPLICATED_PLACE == 'right') {
         $newProduct->setVar('product_title', $originalProduct->getvar('product_title') . ' ' . _AM_OLEDRION_DUPLICATED);
     } else {
         $newProduct->setVar('product_title', _AM_OLEDRION_DUPLICATED . ' ' . $originalProduct->getvar('product_title'));
     }
     $newProduct->setVar('product_id', 0);
     $newProduct->setNew();
     // Copie des 2 images
     if (xoops_trim($originalProduct->getVar('product_image_url')) != '') {
         $resCopy = oledrion_utils::duplicateFile(OLEDRION_PICTURES_PATH, $originalProduct->getVar('product_image_url'));
         if ($resCopy !== false) {
             $newProduct->setVar('product_image_url', $resCopy);
         }
     }
     if (xoops_trim($originalProduct->getVar('product_thumb_url')) != '') {
         $resCopy = oledrion_utils::duplicateFile(OLEDRION_PICTURES_PATH, $originalProduct->getVar('product_thumb_url'));
         if ($resCopy !== false) {
             $newProduct->setVar('product_thumb_url', $resCopy);
         }
     }
     // Copie du fichier attaché
     if (xoops_trim($originalProduct->getVar('product_attachment')) != '') {
         $resCopy = oledrion_utils::duplicateFile(OLEDRION_ATTACHED_FILES_PATH, $originalProduct->getVar('product_attachment'));
         if ($resCopy !== false) {
             $newProduct->setVar('product_attachment', $resCopy);
         }
     }
     $res = $this->insert($newProduct, true);
     if ($res) {
         $newProductId = $newProduct->getVar('product_id');
         // Copie des fichiers liés
         if ($h_oledrion_files->getProductFilesCount($originalProduct->product_id) > 0) {
             $attachedFiles = array();
             $attachedFiles = $h_oledrion_files->getProductFiles($originalProduct->product_id);
             if (count($attachedFiles) > 0) {
                 foreach ($attachedFiles as $oneFile) {
                     $newAttachedFile = $oneFile->xoopsClone();
                     $newAttachedFile->setVar('file_product_id', $newProductId);
                     $resCopy = oledrion_utils::duplicateFile(OLEDRION_ATTACHED_FILES_PATH, $oneFile->getVar('file_filename'));
                     if ($resCopy !== false) {
                         $newAttachedFile->setVar('file_filename', $resCopy);
                     }
                     $newAttachedFile->setNew();
                     $h_oledrion_files->insert($newAttachedFile, true);
                 }
             }
         }
         // Copie des fabricants
         $tblTmp = array();
         $criteria = new Criteria('pm_product_id', $originalProduct->getVar('product_id'), '=');
         $tblTmp = $h_oledrion_productsmanu->getObjects($criteria);
         foreach ($tblTmp as $productAuthor) {
             $newProductAuthor = $productAuthor->xoopsClone();
             $newProductAuthor->setVar('pm_product_id', $newProductId);
             $newProductAuthor->setVar('pm_id', 0);
             $newProductAuthor->setNew();
             $h_oledrion_productsmanu->insert($newProductAuthor, true);
         }
         // Copie des produits relatifs
         $tblTmp = array();
         $criteria = new Criteria('related_product_id', $originalProduct->getVar('product_id'), '=');
         $tblTmp = $h_oledrion_related->getObjects($criteria);
         foreach ($tblTmp as $related) {
             $newRelated = $related->xoopsClone();
             $newRelated->setVar('related_product_id', $newProductId);
             $newRelated->setVar('related_id', 0);
             $newRelated->setNew();
             $h_oledrion_related->insert($newRelated, true);
         }
         // Copie des attributs
         if ($oledrion_handlers->h_oledrion_attributes->getProductAttributesCount($originalProduct->product_id) > 0) {
             $criteria = new Criteria('attribute_product_id', $originalProduct->product_id, '=');
             $tblTmp = $oledrion_handlers->h_oledrion_attributes->getObjects($criteria);
             foreach ($tblTmp as $attribute) {
                 $newAttribute = $attribute->xoopsClone();
                 $newAttribute->setVar('attribute_product_id', $newProductId);
                 $newAttribute->setVar('attribute_id', 0);
                 $newAttribute->setNew();
                 $oledrion_handlers->h_oledrion_attributes->insert($newAttribute, true);
             }
         }
         return $newProduct;
     } else {
         return false;
     }
 }
开发者ID:osw17,项目名称:oledrion,代码行数:96,代码来源:oledrion_products.php


注:本文中的oledrion_utils::duplicateFile方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。