I wrote a script in php with SQL query. It works but it is not user friendly.
I'll pass it.
You can use it and make comments.
Code: Select all
<?php
//**********************************
// nom : PhDCreateProduct.php
// description : Crée un produit VM par photo d'un album
// paramètre album, et catégorie du produit
// ***********************************
$album = $_GET['album'];
$cat_id= $_GET['catid'];
include("_connexion.php");
// function
function createProduct($titreAlbum, $album, $cat_id)
{
$pathPhocaGallery="http://www.d70.ch/images/phocagallery";
$insert="INSERT INTO jos_vm_product ".
"SET vendor_id = '1', ".
"product_parent_id = '0', ".
"product_sku = '".createNom($album['title'])."' , ". // nom de l'image
"product_s_desc = '".$titreAlbum." - ".createNom($album['title'])."' , ". // nom de l'image
"product_desc = '".createDesc($titreAlbum, createNom($album['title']))."' , ". // Description de l'album et nom de l'image
"product_thumb_image = '". $pathPhocaGallery."/".calcPathThumbs($album['filename'])."' ,".
"product_full_image = '". $pathPhocaGallery."/".$album['filename']."',".
"product_publish = 'Y', ".
"product_weight = '0', ".
"product_weight_uom = '', ".
"product_length = '0', ".
"product_width = '0', ".
"product_height = '0', ".
"product_lwh_uom= 'pouces', ".
"product_url = '', ".
"product_in_stock = '0', ".
"product_available_date = '0', ".
"product_availability= '24h.gif', ".
"product_special = 'N', ".
"product_discount_id = '0', ".
"ship_code_id = '0', ".
"product_name = 'Vente de photo de d70', " .
"product_sales = '0', ".
"attribute = 'Format,10x15[=3.24],13x18[=4.62],20x30[=18.51];Finition,Brillant,Semi mat', ".
"custom_attribute = '', ".
"product_tax_id = '3', ".
"product_unit = 'pièce', ".
"product_packaging = '0', ".
"child_options = 'N,N,N,N,N,Y,20%,10%,', ".
"quantity_options = 'none,0,0,1', ".
"child_option_ids = '', ".
"product_order_levels = '0,0'" ;
$resultInsert = mysql_query($insert) or die (mysql_error());
$vm_productID=mysql_insert_id();
insertTableConnexe($cat_id, $vm_productID);
return $vm_productID ;
}
// enlève le terne web dans le nom du fichier
function createNom($nom)
{
$nom=strtoupper($nom);
$pos=strpos($nom, "-WEB");
if ($pos)
{
$result=substr($nom, 0,$pos).substr($nom, $pos+4);
}
else
{
$result=$nom;
}
return $result;
}
function createDesc($description, $nom)
{
$description=strtolower(substr($description,0,1) ).substr($description,1);
$resultat="Photo ©Ph. Dougoud - d70 photographie : ". $description." - ".$nom;
return $resultat;
}
function calcPathThumbs($pathFull)
{
$pos=strrpos($pathFull,"/");
$path=substr($pathFull,0, $pos)."/vm/" ;
$nom=substr($pathFull,$pos+1) ;
$nom=strtoupper($nom); // le nom en majuscule
$pos=strpos($nom, "-WEB");
if($pos)
{
$nom=substr($nom, 0,$pos)."-vm".substr($nom, $pos+4);
}
$pathFull=$path.$nom;
return $pathFull ;
}
echo $gauche.$droite;
echo "<br />";
function insertTableConnexe($catproductID, $productID)
{
$insert="INSERT INTO jos_vm_product_category_xref ".
" SET category_id = '". $catproductID."' , ".
"product_id = ". $productID." , ".
"product_list = 1" ;
$resultInsert = mysql_query($insert) or die (mysql_error());
$insert="INSERT INTO jos_vm_product_price ".
"SET product_id = '". $productID."' , ".
"product_price = '3.24', ".
"product_currency = 'CHF', ".
"product_price_vdate = 0, ".
"product_price_edate = 0, ".
"cdate = '1303823812', ".
"mdate ='1303823812', ".
"shopper_group_id = 5" ;
$resultInsert = mysql_query($insert) or die (mysql_error());
}
// *****************************************************
$conn = mysql_connect ($CONFIG['dbserver'], $CONFIG['dbuser'], $CONFIG['dbpass'])
or die ("Connexion au serveur impossible !");
$db= mysql_select_db($CONFIG['dbname'])
or die ("Connexion à la base impossible !");
// lecture du titre de l'album
$sql = "SELECT `id`,`title` FROM `jos_phocagallery_categories` WHERE `id` = '$album' ";
$result = mysql_query($sql);
if (!$result)
{
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $sql;
die($message);
}
$row = mysql_fetch_row($result);
$titreAlbum=$row[1];
echo "Affiche de l'album n° = ";
echo $row[0];
echo " Titre : " ;
echo $titreAlbum ;
echo "<br><br>" ;
mysql_free_result($result);
// sélectionne toutes les photo d'un album sans produit VM
if ($album == 0 )
{
echo "Il n'y a pas d'album -->";
echo $album ;
echo"<br>";
exit ;
}
$sql = "SELECT * FROM jos_phocagallery WHERE catid = ".$album." AND vmproductid = 0 ";
$result = mysql_query($sql);
if (!$result)
{
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $sql;
die($message);
}
// pour chaque photo de l'album, un produit VM est créé
while ($album = mysql_fetch_assoc($result)){
echo $album["id"];
echo " -- ";
echo $album["catid"];
echo " -- ";
echo $album["title"];
echo " -- ";
echo $album["filename"];
echo " -- ";
echo $album["vmproductid"] ;
echo " -- ";
$vmproduct=createProduct($titreAlbum, $album, $cat_id);
echo "Le produit : ";
echo $vmproduct;
echo " a été créé ";
echo " -- ";
$update="UPDATE jos_phocagallery ".
"SET vmproductid = ".$vmproduct." ".
"WHERE id = ".$album["id"];
$resultUpdate = mysql_query($update)
or die(mysql_error());
echo " -- Lien MV et Phoca créé !";
echo "<br>";
}
mysql_free_result($result);
// Déconnexion
mysql_close();
exit;
?>