0byt3m1n1
Path:
/
home
/
kassiope
/
www
/
lib
/
fonctions
/
[
Home
]
File: ajax_func.php
<? $xajax = new xajax(); $xajax->registerFunction("taille"); $xajax->registerFunction("color"); $xajax->registerFunction("systeme"); $xajax->registerFunction("systeme_"); $xajax->registerFunction("criteres"); $xajax->registerFunction("changerating"); $xajax->registerFunction("addwish"); $xajax->registerFunction("change_prix"); $xajax->registerFunction("change_pack"); $xajax->registerFunction("chargeprod"); $xajax->registerFunction("chargeprod_search"); $xajax->registerFunction("chargecat"); $xajax->setCharEncoding('ISO-8859-1'); function chargeprod($form) { global $lg, $wwwroot; $objResponse = new xajaxResponse(); $pagination = ''; $ret = ''; $tabcat = $form['souscats']; if(!empty($form['categ'])) $tabcat = $form['categ']; $v = implode ('|',$form['label']); $labels = ''; foreach($form['label'] as $k => $v): $labels .= " and p.id in (select produit_id from gaia_produits_labels where value_id in ('".implode("','",$v)."')) "; endforeach; $sql = "SELECT p.id FROM gaia_produits p, gaia_produits_categories pc WHERE p.id = pc.produit_id AND pc.categorie_id in ('".implode("','",$tabcat)."') AND p.etat = '1' ".$labels." group by pc.produit_id "; if ($form['tri']==1) $sql .= " order by (prix * (1-promotion/100)) asc "; elseif ($form['tri']==2) $sql .= " order by (prix * (1-promotion/100)) desc "; elseif ($form['tri']==3) $sql .= " order by p.id desc "; elseif ($form['tri']==4) $sql .= " order by p.id asc "; else $sql .= " order by p.position, p.nom_".$_SESSION['langue']." "; $result=mysql_query_override($sql); $nbprod = mysql_num_rows_override($result); if ($form['nbp']>0) $sql .= " LIMIT ".$form['start'].",".$form['nbp']." "; $result=mysql_query_override($sql); if (mysql_num_rows_override($result) == 0) { $ret = "<div class=\"clear\"></div><div class=\"container my-5 py-5 text-center\">".NO_INDEX_PRODUCT."</div>"; } else { $cpt = 1; while ($prod = mysql_fetch_array_override($result)) { $ret .= template_index_produit($prod['id'], '', 'ajax'); $cpt++; } } if($form['nbp']>0) { $nbpage = ceil($nbprod / $form['nbp']); if ($nbpage > 1) { $pagination .= '<div class="row"> '; if ($form['start'] > 0) $pagination .= '<div class="col-auto"><a href="javascript:void(null)" onclick="document.getElementById(\'start\').value=\''.($form['start'] - $form['nbp']).'\'; xajax_chargeprod(xajax.getFormValues(\'formId\'))" class="first">Précédent</a></div>'; $pagination .= '<div class="col-auto">'; for ($i = 0; $i < $nbpage; $i++) { $pagination .= '<a href="javascript:void(null)" onclick="document.getElementById(\'start\').value=\''.($i * $form['nbp']).'\'; xajax_chargeprod(xajax.getFormValues(\'formId\'))" ' . (($form['start'] == $i * $form['nbp']) ? 'class="current"' : '') . '>' . ($i + 1) . '</a>'; } $pagination .= '</div>'; if (($form['start'] + $form['nbp']) < $nbprod) $pagination .= '<div class="col-auto"><a href="javascript:void(null)" onclick="document.getElementById(\'start\').value=\''.($form['start']+$form['nbp']).'\'; xajax_chargeprod(xajax.getFormValues(\'formId\'))" class="last">Suivant</a></div>'; $pagination .= '</div> '; } } $objResponse->setCharEncoding('ISO-8859-1'); //$objResponse->addAssign("test","innerHTML", $v.$sql); $objResponse->addAssign("allprods","innerHTML", $ret); $objResponse->addAssign("pagination","innerHTML", $pagination); return $objResponse->getXML(); } function chargeprod_search($form) { global $lg, $wwwroot; $objResponse = new xajaxResponse(); $pagination = ''; $ret = ''; $searchword = $form['searchword']; $searchword = explode(' ',$searchword); $sql = "SELECT MATCH (nom_".$_SESSION['langue'].", descriptif_".$_SESSION['langue'].", description_".$_SESSION['langue'].", informations_".$_SESSION['langue'].") AGAINST ('+".implode(' +',$searchword)."') AS Score, p.* FROM gaia_produits p WHERE p.etat = 1 and MATCH (nom_".$_SESSION['langue'].", descriptif_".$_SESSION['langue'].", description_".$_SESSION['langue'].", informations_".$_SESSION['langue'].") AGAINST ('+".implode(' +',$searchword)."') "; if ($form['tri']==1) $sql .= " order by (prix * (1-promotion/100)) asc "; elseif ($form['tri']==2) $sql .= " order by (prix * (1-promotion/100)) desc "; elseif ($form['tri']==3) $sql .= " order by p.id desc "; elseif ($form['tri']==4) $sql .= " order by p.id asc "; else $sql .= " order by Score desc "; $result=mysql_query_override($sql); $nbprod = mysql_num_rows_override($result); if ($form['nbp']>0) $sql .= " LIMIT ".$form['start'].",".$form['nbp']." "; else $sql .= " LIMIT 0,50 "; $result=mysql_query_override($sql); if (mysql_num_rows_override($result) == 0) { $ret = "<div class=\"clear\"></div><div class=\"container my-5 py-5 text-center\">".NO_INDEX_PRODUCT."</div>"; } else { $cpt = 1; while ($prod = mysql_fetch_array_override($result)) { $ret .= template_index_produit($prod['id'], '', 'ajax_search'); $cpt++; } } if($form['nbp']>0) { $nbpage = ceil($nbprod / $form['nbp']); if ($nbpage > 1) { $pagination .= '<div class="row"> '; if ($form['start'] > 0) $pagination .= '<div class="col-auto"><a href="javascript:void(null)" onclick="document.getElementById(\'start\').value=\''.($form['start'] - $form['nbp']).'\'; xajax_chargeprod(xajax.getFormValues(\'formId\'))" class="first">Précédent</a></div>'; $pagination .= '<div class="col-auto">'; for ($i = 0; $i < $nbpage; $i++) { $pagination .= '<a href="javascript:void(null)" onclick="document.getElementById(\'start\').value=\''.($i * $form['nbp']).'\'; xajax_chargeprod(xajax.getFormValues(\'formId\'))" ' . (($form['start'] == $i * $form['nbp']) ? 'class="current"' : '') . '>' . ($i + 1) . '</a>'; } $pagination .= '</div>'; if (($form['start'] + $form['nbp']) < $nbprod) $pagination .= '<div class="col-auto"><a href="javascript:void(null)" onclick="document.getElementById(\'start\').value=\''.($form['start']+$form['nbp']).'\'; xajax_chargeprod(xajax.getFormValues(\'formId\'))" class="last">Suivant</a></div>'; $pagination .= '</div> '; } } $objResponse->setCharEncoding('ISO-8859-1'); //$objResponse->addAssign("test","innerHTML", $sql); $objResponse->addAssign("allprods","innerHTML", $ret); $objResponse->addAssign("pagination","innerHTML", $pagination); return $objResponse->getXML(); } function chargecat($id, $div) { global $lg, $wwwroot; $objResponse = new xajaxResponse(); $objResponse->setCharEncoding('ISO-8859-1'); $ret = ''; $reccat = mysql_query_override("select * from gaia_categories where etat = 1 and parent_id = '".$id."' order by position, nom_".$lg); if(mysql_num_rows_override($reccat)>0) : $ret = '<select name="cat" id="catg" onchange="xajax_chargecat(this.value, \'sous'.$div.'\')"> <option value="">--</option>'; while($cat = mysql_fetch_array_override($reccat)) $ret .= '<option value="'.$cat['id'].'">'.$cat['nom_'.$lg].'</option>'; $ret .= '</select>'; endif; $objResponse->addAssign('curcat',"value", $id); $objResponse->addAssign($div,"innerHTML", $ret); if($div=='souscat') $objResponse->addAssign('soussouscat',"innerHTML", ''); return $objResponse->getXML(); } function change_prix($form) { $objResponse = new xajaxResponse(); $objResponse->setCharEncoding('ISO-8859-1'); $newprice = affiche_prix_ajax($form['id'], $form['taille'], 1); $taille = mysql_query_override("SELECT t.nom_".$_SESSION['langue']." as name, pt.gencode FROM gaia_tailles t, gaia_produits_tailles pt WHERE t.id = pt.taille_id AND pt.produit_id = '".$form['id']."' and t.id = '".$form['taille']."' ORDER BY t.prix asc, t.nom_".$_SESSION['langue'].""); $t = mysql_fetch_array_override($taille); $objResponse->addAssign("size","innerHTML", $t['name']); $objResponse->addAssign("ref","innerHTML", ' - Réf. '.$t['gencode']); $objResponse->addAssign("reference","value", $t['gencode']); $objResponse->addAssign("price","innerHTML", $newprice); return $objResponse->getXML(); } function change_pack($form) { $objResponse = new xajaxResponse(); $objResponse->setCharEncoding('ISO-8859-1'); $nbdose = 0; foreach($form['prod'] as $k => $v) : $nbdose += $form['condi'][$k] * $form['qte'][$k]; endforeach; $pourc = ceil($nbdose * 100 / $form['nbpack']); $objResponse->addAssign("nbdose","innerHTML", $nbdose); //$objResponse->addAssign("test","innerHTML", implode('|',$form)); $objResponse->addScript("$('#progressBarComposer').attr('aria-valuenow', '".$pourc."').css('width', '".$pourc."%')"); if($nbdose>=$form['nbpack']) $objResponse->addScript("$('#addtocart').prop('disabled', false);"); else $objResponse->addScript("$('#addtocart').prop('disabled', true);"); return $objResponse->getXML(); } function change_prix__($allline, $line, $nbtot=false) { $objResponse = new xajaxResponse(); $recprod = mysql_query_override("select * from gaia_produits where id = '".$allline['prodid_'.$line]."'"); $pr = mysql_fetch_array_override($recprod); $newprix = $allline['prix_'.$line]; //$newprix = $newprix * $qte; $nbprod = 0; $nbtot = 0; if(!$nbtot) { $rectail = mysql_query_override("select * from gaia_tailles order by position"); while($pt = mysql_fetch_array_override($rectail)){ if(isset($allline['qte_'.$line.'_'.$pt['id']])) $nbprod += $allline['qte_'.$line.'_'.$pt['id']]; } } foreach($allline as $k => $v) : if(substr($k,0,6)=='total_') $nbtot += $v; endforeach; $nbtot += $newprix*$nbprod; $objResponse->setCharEncoding('ISO-8859-1'); $objResponse->addAssign("total_".$line,"value", number_format(($newprix*$nbprod),2,'.','')); $objResponse->addAssign("total","value", number_format(($nbtot),2,'.','')); return $objResponse->getXML(); } function addwish($prod,$user) { $objResponse = new xajaxResponse(); $objResponse->setCharEncoding('ISO-8859-1'); $recwish = mysql_query_override("select * from gaia_utilisateurs_wishlist where id_utilisateur = '".$user."' and produit_id = '".$prod."'"); if(mysql_num_rows_override($recwish)>0) { mysql_query_override("delete from gaia_utilisateurs_wishlist where id_utilisateur = '".$user."' and produit_id = '".$prod."'"); $objResponse->addScript('document.getElementById(\'wishlist-link\').className=\'wishlist-link\''); } else { mysql_query_override("insert into gaia_utilisateurs_wishlist (id_utilisateur, produit_id) values ('".$user."', '".$prod."')"); $objResponse->addScript('document.getElementById(\'wishlist-link\').className=\'wishlist-link active\''); } $recwish = mysql_query_override("select * from gaia_utilisateurs_wishlist where id_utilisateur = '".$user."'"); $nb = mysql_num_rows_override($recwish); $objResponse->addAssign('nbwish',"innerHTML", $nb); return $objResponse->getXML(); } function changerating($note,$val) { $objResponse = new xajaxResponse(); $objResponse->setCharEncoding('ISO-8859-1'); $ret = ''; for($i=1;$i<6;$i++) $ret.= '<a href="javascript:void(null)" onclick="xajax_changerating(\'1\',\''.$i.'\')"><i class="fa fa-star'.(($i<=$val)?'':'-o').'"></i></a>'; $objResponse->addAssign('note'.$note,"value", $val); $objResponse->addAssign("rating".$note,"innerHTML", $ret); return $objResponse->getXML(); } function taille($form) { global $lg; $objResponse = new xajaxResponse(); $objResponse->setCharEncoding('ISO-8859-1'); $ret = ''; $default_color = 0; $sqlStockTrue = "SELECT c.* FROM gaia_stocks s, gaia_couleurs c WHERE s.taille_id = '".$form['size']."' and s.produit_id = '".$form['id']."' and stock>0 and s.couleur_id > 0 and s.couleur_id = c.id group by couleur_id order by c.position"; $stockTrue = mysql_query_override($sqlStockTrue); $nbcol = mysql_num_rows_override($stockTrue); if ($nbcol > 0) { $ret .= '<h4>'.COLOR.'</h4>'; //$ret .= '<select class="custom-select" id="color" name="color" onchange="xajax_color(xajax.getFormValues(\'formId\'), this.value)">'; $cpt=0; while ( $col = mysql_fetch_array_override($stockTrue)) { if($cpt==0) $default_color = $col['id']; //$ret .= '<option value="'.$c['id'].'">'.utf8_decode(stripslashes($c['nom_'.$lg])).' </option>'; $ret .= ' <div class="bloccolor"> <input type="radio" id="checkcolor'.$col['id'].'" '.(($cpt==0)?'checked':'').' name="couleur" value="'.$col['id'].'" onclick="document.getElementById(\'color\').value = this.value; xajax_color(xajax.getFormValues(\'formId\'))" /> <label for="checkcolor'.$col['id'].'" style="background: '.$col['color'].';" rel="tooltip" data-title="'.stripslashes($col['nom_'.$lg.'']).'" ></label> </div>'; $cpt++; } //$ret .= '</select>'; } $newprice = affiche_prix_ajax($form['id'], $form['size'], 1); /* $sqlTaille = "SELECT * FROM gaia_produits_tailles WHERE produit_id = '".$form['id']."' AND taille_id = '".$form['size']."'"; $resTaille = mysql_query_override($sqlTaille); if (mysql_num_rows_override($resTaille)>0) { $taille = mysql_fetch_array_override($resTaille); if($taille['prix']>0) $newprice = '<p>'.fprix($taille['prix']).' €</p>'; } */ $sqlStock = "SELECT stock, couleur_id, taille_id FROM gaia_stocks_temp WHERE produit_id = '".$form['id']."' AND couleur_id = '".$default_color."' AND taille_id = '".$form['size']."'"; $resStock = mysql_query_override($sqlStock); if (mysql_num_rows_override($resStock) == 0) { $sqlStock = "SELECT stock, couleur_id, taille_id FROM gaia_stocks WHERE produit_id = '".$form['id']."' AND stock > 0 AND couleur_id = '".$default_color."' AND taille_id = '".$form['size']."'"; $resStock = mysql_query_override($sqlStock); } $Stock = mysql_fetch_array_override($resStock); $crit = $default_color.'|'.$form['size'].'|'.intval($Stock['stock']); if (!empty($newprice)) $objResponse->addAssign("price_modif","innerHTML", $newprice); $objResponse->addAssign("allcolor","innerHTML", $ret); $objResponse->addScript("$('[rel=\"tooltip\"]').tooltip()"); $objResponse->addAssign("color","value", $default_color); $objResponse->addAssign("alertsize","value", $form['size']); $objResponse->addAssign('qte',"value", '1'); $objResponse->addAssign('stock',"value", intval($Stock['stock'])); if(intval($Stock['stock'])==0) { $objResponse->addAssign("flag_stock_in","style.display", 'none'); $objResponse->addAssign("flag_stock_out","style.display", 'block'); $objResponse->addAssign('add-to-cart-btn',"style.display", 'none'); $objResponse->addAssign('add-to-cart-btn-off',"style.display", 'block'); } else { $objResponse->addAssign("flag_stock_in","style.display", 'block'); $objResponse->addAssign("flag_stock_out","style.display", 'none'); $objResponse->addAssign('add-to-cart-btn',"style.display", 'block'); $objResponse->addAssign('add-to-cart-btn-off',"style.display", 'none'); } return $objResponse->getXML(); } function color($form) { global $repertoire_upload; $objResponse = new xajaxResponse(); $objResponse->setCharEncoding('ISO-8859-1'); $ret = ''; $sqlStock = "SELECT stock, couleur_id, taille_id FROM gaia_stocks_temp WHERE produit_id = '".$form['id']."' AND couleur_id = '".$form['color']."' AND taille_id = '".$form['size']."'"; $resStock = mysql_query_override($sqlStock); if (mysql_num_rows_override($resStock) == 0) { $sqlStock = "SELECT stock, couleur_id, taille_id FROM gaia_stocks WHERE produit_id = '".$form['id']."' AND stock > 0 AND couleur_id = '".$form['color']."' AND taille_id = '".$form['size']."'"; $resStock = mysql_query_override($sqlStock); } $Stock = mysql_fetch_array_override($resStock); $ret = $form['color'].'|'.$form['size'].'|'.$Stock['stock']; $objResponse->addAssign('critere',"value", $ret); $objResponse->addAssign("qte","value", '1'); $objResponse->addAssign("color","value", $form['color']); $objResponse->addAssign("stock","value", $Stock['stock']); if(intval($Stock['stock'])==0) { $objResponse->addAssign('add-to-cart-btn',"style.display", 'none'); $objResponse->addAssign('add-to-cart-btn-off',"style.display", 'block'); } else { $objResponse->addAssign('add-to-cart-btn',"style.display", 'block'); $objResponse->addAssign('add-to-cart-btn-off',"style.display", 'none'); } return $objResponse->getXML(); } function criteres($id, $i) { global $repertoire_upload; $objResponse = new xajaxResponse(); $objResponse->setCharEncoding('ISO-8859-1'); $ret = ""; $ret .= '<select name="critere'.$i.'" style="width:100%">'; $recprod = mysql_query_override("select t.nom_fr as size, c.nom_fr as color, s.stock FROM gaia_couleurs c, gaia_tailles t, gaia_stocks s WHERE s.taille_id = t.id and s.produit_id = '".$id."' and s.couleur_id = c.id and s.stock>0 ORDER BY c.nom_fr"); if (mysql_num_rows_override($recprod)>0) { while($prod = mysql_fetch_array_override($recprod)) { $ret .= '<option value="'.$prod['color'].'|'.$prod['size'].'">'.stripslashes($prod['color']).' Taille '.stripslashes($prod['size']).' ('.$prod['stock'].')</option>'; } } else { $ret .= '<option value="0|0">--</option>'; } $ret .= '</select>'; $objResponse->addAssign('critere'.$i,"innerHTML", $ret); return $objResponse->getXML(); } $xajax->processRequests(); ?>