Clean code
This commit is contained in:
parent
08ea82ae95
commit
58b08c7de8
@ -42,7 +42,7 @@ if (!$res) die("Include of main fails");
|
|||||||
global $lang, $user, $conf;
|
global $lang, $user, $conf;
|
||||||
|
|
||||||
|
|
||||||
dol_include_once('/dolistore/class/dolistore.class.php');
|
require_once DOL_DOCUMENT_ROOT.'/admin/dolistore/class/dolistore.class.php';
|
||||||
$dolistore = new Dolistore();
|
$dolistore = new Dolistore();
|
||||||
|
|
||||||
$id_product = GETPOST('id_product', 'int');
|
$id_product = GETPOST('id_product', 'int');
|
||||||
|
|||||||
@ -19,9 +19,145 @@
|
|||||||
include_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
||||||
include_once DOL_DOCUMENT_ROOT.'/admin/dolistore/class/PSWebServiceLibrary.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/admin/dolistore/class/PSWebServiceLibrary.class.php';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class DolistoreModel
|
* Class DolistoreModel
|
||||||
*/
|
*/
|
||||||
|
class DolistoreModel
|
||||||
|
{
|
||||||
|
|
||||||
|
function get_categories($parent = 0)
|
||||||
|
{
|
||||||
|
if (!isset($this->categories)) die('not possible');
|
||||||
|
if ($parent != 0) {
|
||||||
|
$html = '<ul>';
|
||||||
|
} else {
|
||||||
|
$html = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$nbofcateg = count($this->categories);
|
||||||
|
for ($i = 0; $i < $nbofcateg; $i++)
|
||||||
|
{
|
||||||
|
$cat = $this->categories[$i];
|
||||||
|
if ($cat->is_root_category == 1 && $parent == 0) {
|
||||||
|
$html .= '<li class="root"><h3 class="nomargesupinf"><a class="nomargesupinf link2cat" href="?mode=marketplace&categorie='.$cat->id.'" '
|
||||||
|
.'title="'.dol_escape_htmltag(strip_tags($cat->description->language[$this->lang])).'"'
|
||||||
|
.'>'.$cat->name->language[$this->lang].' <sup>'.$cat->nb_products_recursive.'</sup></a></h3>';
|
||||||
|
$html .= self::get_categories($cat->id);
|
||||||
|
$html .= "</li>\n";
|
||||||
|
} elseif (trim($cat->id_parent) == $parent && $cat->active == 1 && trim($cat->id_parent) != 0) { // si cat est de ce niveau
|
||||||
|
$select = ($cat->id == $this->categorie) ? ' selected' : '';
|
||||||
|
$html .= '<li><a class="link2cat'.$select.'" href="?mode=marketplace&categorie='.$cat->id.'"'
|
||||||
|
.' title="'.dol_escape_htmltag(strip_tags($cat->description->language[$this->lang])).'" '
|
||||||
|
.'>'.$cat->name->language[$this->lang].' <sup>'.$cat->nb_products_recursive.'</sup></a>';
|
||||||
|
$html .= self::get_categories($cat->id);
|
||||||
|
$html .= "</li>\n";
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($html == '<ul>') {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
if ($parent != 0) {
|
||||||
|
return $html.'</ul>';
|
||||||
|
} else {
|
||||||
|
return $html;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_products()
|
||||||
|
{
|
||||||
|
global $langs, $conf;
|
||||||
|
$html = "";
|
||||||
|
$parity = "pair";
|
||||||
|
$last_month = time() - (30 * 24 * 60 * 60);
|
||||||
|
foreach ($this->products as $product) {
|
||||||
|
$parity = ($parity == "impair") ? 'pair' : 'impair';
|
||||||
|
|
||||||
|
// check new product ?
|
||||||
|
$newapp = '';
|
||||||
|
if ($last_month < strtotime($product->date_add)) {
|
||||||
|
$newapp .= '<span class="newApp">'.$langs->trans('New').'</span> ';
|
||||||
|
}
|
||||||
|
|
||||||
|
// check updated ?
|
||||||
|
if ($last_month < strtotime($product->date_upd) && $newapp == '') {
|
||||||
|
$newapp .= '<span class="updatedApp">'.$langs->trans('Updated').'</span> ';
|
||||||
|
}
|
||||||
|
|
||||||
|
// add image or default ?
|
||||||
|
if ($product->id_default_image != '') {
|
||||||
|
$image_url = dol_buildPath('/dolistore/ajax/image.php?id_product=', 2).$product->id.'&id_image='.$product->id_default_image;
|
||||||
|
$images = '<a href="'.$image_url.'" class="fancybox" rel="gallery'.$product->id.'" title="'.$product->name->language[$this->lang].', '.$langs->trans('Version').' '.$product->module_version.'">'.
|
||||||
|
'<img src="'.$image_url.'&quality=home_default" style="max-height:250px;max-width: 210px;" alt="" /></a>';
|
||||||
|
} else {
|
||||||
|
$images = '<img src="'.dol_buildPath('/dolistore/img/NoImageAvailable.png', 2).'" />';
|
||||||
|
}
|
||||||
|
|
||||||
|
// free or pay ?
|
||||||
|
if ($product->price > 0) {
|
||||||
|
$price = '<h3>'.price(round((float) $product->price * $this->vat_rate, 2)).' €</h3>';
|
||||||
|
$download_link = '<a target="_blank" href="'.$this->shop_url.$product->id.'"><img width="32" src="'.dol_buildPath('/dolistore/img/follow.png',
|
||||||
|
2).'" /></a>';
|
||||||
|
} else {
|
||||||
|
$price = $langs->trans('Free');
|
||||||
|
$download_link = '<a target="_blank" href="'.$this->shop_url.$product->id.'"><img width="32" src="'.dol_buildPath('/dolistore/img/Download-128.png',
|
||||||
|
2).'" /></a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
//checking versions
|
||||||
|
if ($this->version_compare($product->dolibarr_min, DOL_VERSION) <= 0) {
|
||||||
|
if ($this->version_compare($product->dolibarr_max, DOL_VERSION) >= 0) {
|
||||||
|
//compatible
|
||||||
|
$version = '<span class="compatible">'.$langs->trans('CompatibleUpTo', $product->dolibarr_max,
|
||||||
|
$product->dolibarr_min, $product->dolibarr_max).'</span>';
|
||||||
|
$compatible = '';
|
||||||
|
} else {
|
||||||
|
//never compatible, module expired
|
||||||
|
$version = '<span class="notcompatible">'.$langs->trans('NotCompatible', DOL_VERSION,
|
||||||
|
$product->dolibarr_min, $product->dolibarr_max).'</span>';
|
||||||
|
$compatible = 'NotCompatible';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//need update
|
||||||
|
$version = '<span class="compatibleafterupdate">'.$langs->trans('CompatibleAfterUpdate', DOL_VERSION,
|
||||||
|
$product->dolibarr_min, $product->dolibarr_max).'</span>';
|
||||||
|
$compatible = 'NotCompatible';
|
||||||
|
}
|
||||||
|
|
||||||
|
//output template
|
||||||
|
$html .= '<tr class="app '.$parity.' '.$compatible.'">
|
||||||
|
<td align="center" width="210"><div class="newAppParent">'.$newapp.$images.'</div></td>
|
||||||
|
<td class="margeCote"><h2 class="appTitle"><a target="_blank" href="'.$this->shop_url.$product->id.'">'.$product->name->language[$this->lang].'</a><span class="details button">Details</span>'
|
||||||
|
.'<br/><small>'.$version.'</small></h2>
|
||||||
|
<small> '.dol_print_date(strtotime($product->date_upd)).' - '.$langs->trans('Référence').': '.$product->reference.' - '.$langs->trans('Id').': '.$product->id.'</small><br><br>'.$product->description_short->language[$this->lang].'</td>
|
||||||
|
<td style="display:none;" class="long_description">'.$product->description->language[$this->lang].'</td>
|
||||||
|
<td class="margeCote" align="right">'.$price.'</td>
|
||||||
|
<td class="margeCote">'.$download_link.'</td>
|
||||||
|
</tr>';
|
||||||
|
}
|
||||||
|
return $html;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_previous_link($text = '<<')
|
||||||
|
{
|
||||||
|
return '<a href="'.$this->get_previous_url().'" class="button">'.$text.'</a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_next_link($text = '>>')
|
||||||
|
{
|
||||||
|
return '<a href="'.$this->get_next_url().'" class="button">'.$text.'</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Dolistore
|
||||||
|
*/
|
||||||
class Dolistore extends DolistoreModel
|
class Dolistore extends DolistoreModel
|
||||||
{
|
{
|
||||||
// params
|
// params
|
||||||
@ -182,135 +318,3 @@ class Dolistore extends DolistoreModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class DolistoreModel
|
|
||||||
*/
|
|
||||||
class DolistoreModel
|
|
||||||
{
|
|
||||||
|
|
||||||
function get_categories($parent = 0)
|
|
||||||
{
|
|
||||||
if (!isset($this->categories)) die('not possible');
|
|
||||||
if ($parent != 0) {
|
|
||||||
$html = '<ul>';
|
|
||||||
} else {
|
|
||||||
$html = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
$nbofcateg = count($this->categories);
|
|
||||||
for ($i = 0; $i < $nbofcateg; $i++)
|
|
||||||
{
|
|
||||||
$cat = $this->categories[$i];
|
|
||||||
if ($cat->is_root_category == 1 && $parent == 0) {
|
|
||||||
$html .= '<li class="root"><h3 class="nomargesupinf"><a class="nomargesupinf link2cat" href="?mode=marketplace&categorie='.$cat->id.'" '
|
|
||||||
.'title="'.dol_escape_htmltag(strip_tags($cat->description->language[$this->lang])).'"'
|
|
||||||
.'>'.$cat->name->language[$this->lang].' <sup>'.$cat->nb_products_recursive.'</sup></a></h3>';
|
|
||||||
$html .= self::get_categories($cat->id);
|
|
||||||
$html .= "</li>\n";
|
|
||||||
} elseif (trim($cat->id_parent) == $parent && $cat->active == 1 && trim($cat->id_parent) != 0) { // si cat est de ce niveau
|
|
||||||
$select = ($cat->id == $this->categorie) ? ' selected' : '';
|
|
||||||
$html .= '<li><a class="link2cat'.$select.'" href="?mode=marketplace&categorie='.$cat->id.'"'
|
|
||||||
.' title="'.dol_escape_htmltag(strip_tags($cat->description->language[$this->lang])).'" '
|
|
||||||
.'>'.$cat->name->language[$this->lang].' <sup>'.$cat->nb_products_recursive.'</sup></a>';
|
|
||||||
$html .= self::get_categories($cat->id);
|
|
||||||
$html .= "</li>\n";
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($html == '<ul>') {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
if ($parent != 0) {
|
|
||||||
return $html.'</ul>';
|
|
||||||
} else {
|
|
||||||
return $html;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_products()
|
|
||||||
{
|
|
||||||
global $langs, $conf;
|
|
||||||
$html = "";
|
|
||||||
$parity = "pair";
|
|
||||||
$last_month = time() - (30 * 24 * 60 * 60);
|
|
||||||
foreach ($this->products as $product) {
|
|
||||||
$parity = ($parity == "impair") ? 'pair' : 'impair';
|
|
||||||
|
|
||||||
// check new product ?
|
|
||||||
$newapp = '';
|
|
||||||
if ($last_month < strtotime($product->date_add)) {
|
|
||||||
$newapp .= '<span class="newApp">'.$langs->trans('New').'</span> ';
|
|
||||||
}
|
|
||||||
|
|
||||||
// check updated ?
|
|
||||||
if ($last_month < strtotime($product->date_upd) && $newapp == '') {
|
|
||||||
$newapp .= '<span class="updatedApp">'.$langs->trans('Updated').'</span> ';
|
|
||||||
}
|
|
||||||
|
|
||||||
// add image or default ?
|
|
||||||
if ($product->id_default_image != '') {
|
|
||||||
$image_url = dol_buildPath('/dolistore/ajax/image.php?id_product=', 2).$product->id.'&id_image='.$product->id_default_image;
|
|
||||||
$images = '<a href="'.$image_url.'" class="fancybox" rel="gallery'.$product->id.'" title="'.$product->name->language[$this->lang].', '.$langs->trans('Version').' '.$product->module_version.'">'.
|
|
||||||
'<img src="'.$image_url.'&quality=home_default" style="max-height:250px;max-width: 210px;" alt="" /></a>';
|
|
||||||
} else {
|
|
||||||
$images = '<img src="'.dol_buildPath('/dolistore/img/NoImageAvailable.png', 2).'" />';
|
|
||||||
}
|
|
||||||
|
|
||||||
// free or pay ?
|
|
||||||
if ($product->price > 0) {
|
|
||||||
$price = '<h3>'.price(round((float) $product->price * $this->vat_rate, 2)).' €</h3>';
|
|
||||||
$download_link = '<a target="_blank" href="'.$this->shop_url.$product->id.'"><img width="32" src="'.dol_buildPath('/dolistore/img/follow.png',
|
|
||||||
2).'" /></a>';
|
|
||||||
} else {
|
|
||||||
$price = $langs->trans('Free');
|
|
||||||
$download_link = '<a target="_blank" href="'.$this->shop_url.$product->id.'"><img width="32" src="'.dol_buildPath('/dolistore/img/Download-128.png',
|
|
||||||
2).'" /></a>';
|
|
||||||
}
|
|
||||||
|
|
||||||
//checking versions
|
|
||||||
if ($this->version_compare($product->dolibarr_min, DOL_VERSION) <= 0) {
|
|
||||||
if ($this->version_compare($product->dolibarr_max, DOL_VERSION) >= 0) {
|
|
||||||
//compatible
|
|
||||||
$version = '<span class="compatible">'.$langs->trans('CompatibleUpTo', $product->dolibarr_max,
|
|
||||||
$product->dolibarr_min, $product->dolibarr_max).'</span>';
|
|
||||||
$compatible = '';
|
|
||||||
} else {
|
|
||||||
//never compatible, module expired
|
|
||||||
$version = '<span class="notcompatible">'.$langs->trans('NotCompatible', DOL_VERSION,
|
|
||||||
$product->dolibarr_min, $product->dolibarr_max).'</span>';
|
|
||||||
$compatible = 'NotCompatible';
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
//need update
|
|
||||||
$version = '<span class="compatibleafterupdate">'.$langs->trans('CompatibleAfterUpdate', DOL_VERSION,
|
|
||||||
$product->dolibarr_min, $product->dolibarr_max).'</span>';
|
|
||||||
$compatible = 'NotCompatible';
|
|
||||||
}
|
|
||||||
|
|
||||||
//output template
|
|
||||||
$html .= '<tr class="app '.$parity.' '.$compatible.'">
|
|
||||||
<td align="center" width="210"><div class="newAppParent">'.$newapp.$images.'</div></td>
|
|
||||||
<td class="margeCote"><h2 class="appTitle"><a target="_blank" href="'.$this->shop_url.$product->id.'">'.$product->name->language[$this->lang].'</a><span class="details button">Details</span>'
|
|
||||||
.'<br/><small>'.$version.'</small></h2>
|
|
||||||
<small> '.dol_print_date(strtotime($product->date_upd)).' - '.$langs->trans('Référence').': '.$product->reference.' - '.$langs->trans('Id').': '.$product->id.'</small><br><br>'.$product->description_short->language[$this->lang].'</td>
|
|
||||||
<td style="display:none;" class="long_description">'.$product->description->language[$this->lang].'</td>
|
|
||||||
<td class="margeCote" align="right">'.$price.'</td>
|
|
||||||
<td class="margeCote">'.$download_link.'</td>
|
|
||||||
</tr>';
|
|
||||||
}
|
|
||||||
return $html;
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_previous_link($text = '<<')
|
|
||||||
{
|
|
||||||
return '<a href="'.$this->get_previous_url().'" class="button">'.$text.'</a>';
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_next_link($text = '>>')
|
|
||||||
{
|
|
||||||
return '<a href="'.$this->get_next_url().'" class="button">'.$text.'</a>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -29,7 +29,7 @@
|
|||||||
// Here we define constants /!\ You need to replace this parameters
|
// Here we define constants /!\ You need to replace this parameters
|
||||||
//https://dolistorecatalogpublickey1234567@vmdevwww.dolistore.com/api/
|
//https://dolistorecatalogpublickey1234567@vmdevwww.dolistore.com/api/
|
||||||
define('DEBUG', true); // Debug mode
|
define('DEBUG', true); // Debug mode
|
||||||
define('PS_SHOP_PATH', 'http://vmdevwww.dolistore.com/'); // Root path of your PrestaShop store
|
define('PS_SHOP_PATH', 'https://www.dolistore.com/'); // Root path of your PrestaShop store
|
||||||
define('PS_WS_AUTH_KEY', 'dolistorecatalogpublickey1234567'); // Auth key (Get it in your Back Office)
|
define('PS_WS_AUTH_KEY', 'dolistorecatalogpublickey1234567'); // Auth key (Get it in your Back Office)
|
||||||
require_once('./PSWebServiceLibrary.php');
|
require_once('./PSWebServiceLibrary.php');
|
||||||
// Here we make the WebService Call
|
// Here we make the WebService Call
|
||||||
|
|||||||
@ -260,10 +260,6 @@ p.titre {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.resultats_dhtml {
|
|
||||||
width: 400px;
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* --------------------- Combo lists ------------------- */
|
/* --------------------- Combo lists ------------------- */
|
||||||
.select_design {
|
.select_design {
|
||||||
|
|||||||
@ -51,26 +51,14 @@ function file(fichier) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Affichage des donnees aTexte dans le bloc identifie par aId
|
|
||||||
function afficheDonnees(aId, aTexte) {
|
|
||||||
|
|
||||||
document.getElementById(aId).innerHTML = aTexte;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// aCible : id du bloc de destination; aCode : argument a passer a la page php chargee du traitement et de l'affichage
|
// aCible : id du bloc de destination; aCode : argument a passer a la page php chargee du traitement et de l'affichage
|
||||||
function verifResultat(aCible, aCode, iLimit) {
|
function verifResultat(aCible, aCode, iLimit) {
|
||||||
if (aCode != '' && aCode.length >= iLimit) {
|
if (aCode != '' && aCode.length >= iLimit) {
|
||||||
|
|
||||||
if (texte = file('facturation_dhtml.php?code='+escape(aCode))) {
|
if (texte = file('facturation_dhtml.php?code='+escape(aCode))) {
|
||||||
|
document.getElementById(aCible).innerHTML = texte;
|
||||||
afficheDonnees (aCible, texte);
|
|
||||||
|
|
||||||
} else
|
} else
|
||||||
|
document.getElementById(aCible).innerHTML = '';
|
||||||
afficheDonnees (aCible, '');
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,8 +45,7 @@ $langs->load("cashdesk");
|
|||||||
<!-- Suppression de l'attribut onkeyup qui causait un probleme d'emulation avec les douchettes -->
|
<!-- Suppression de l'attribut onkeyup qui causait un probleme d'emulation avec les douchettes -->
|
||||||
<td><input class="texte_ref" type="text" id ="txtRef" name="txtRef" value="<?php echo $obj_facturation->ref() ?>"
|
<td><input class="texte_ref" type="text" id ="txtRef" name="txtRef" value="<?php echo $obj_facturation->ref() ?>"
|
||||||
onchange="javascript: setSource('REF');"
|
onchange="javascript: setSource('REF');"
|
||||||
onfocus="javascript: this.select(); verifResultat('resultats_dhtml', this.value, <?php echo (isset($conf->global->BARCODE_USE_SEARCH_TO_SELECT) ? (int) $conf->global->BARCODE_USE_SEARCH_TO_SELECT : 1) ?>);"
|
onfocus="javascript: this.select();" />
|
||||||
onBlur="javascript: document.getElementById('resultats_dhtml').innerHTML = '';"/>
|
|
||||||
</td>
|
</td>
|
||||||
<td class="select_design maxwidthonsmartphone">
|
<td class="select_design maxwidthonsmartphone">
|
||||||
<?php /*
|
<?php /*
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user