本文整理汇总了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;
}
}