You can subscribe to this list here.
| 2011 |
Jan
|
Feb
|
Mar
(4) |
Apr
(57) |
May
(31) |
Jun
(21) |
Jul
(11) |
Aug
(23) |
Sep
(22) |
Oct
(36) |
Nov
(62) |
Dec
(85) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2012 |
Jan
(24) |
Feb
(24) |
Mar
(65) |
Apr
(232) |
May
(118) |
Jun
(22) |
Jul
(54) |
Aug
(57) |
Sep
(14) |
Oct
(27) |
Nov
(16) |
Dec
(19) |
| 2013 |
Jan
(16) |
Feb
(12) |
Mar
(3) |
Apr
(17) |
May
(2) |
Jun
(30) |
Jul
(33) |
Aug
(19) |
Sep
(35) |
Oct
(58) |
Nov
(27) |
Dec
(64) |
| 2014 |
Jan
(102) |
Feb
(80) |
Mar
(15) |
Apr
(4) |
May
(3) |
Jun
(3) |
Jul
(5) |
Aug
(11) |
Sep
(15) |
Oct
|
Nov
(3) |
Dec
(5) |
| 2015 |
Jan
(5) |
Feb
(4) |
Mar
(2) |
Apr
(11) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(9) |
Nov
(10) |
Dec
|
| 2016 |
Jan
(3) |
Feb
(2) |
Mar
(18) |
Apr
(13) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
|
Nov
|
Dec
|
|
From: <ay...@us...> - 2012-04-02 09:47:16
|
Revision: 4120
http://oscss.svn.sourceforge.net/oscss/?rev=4120&view=rev
Author: ayatus
Date: 2012-04-02 09:47:05 +0000 (Mon, 02 Apr 2012)
Log Message:
-----------
[install] report ?\195?\169l?\195?\169ments de langue manquants
correction faute de frappe, orthographe et grammaire (FOG)
Modified Paths:
--------------
trunk/catalog/install/includes/language/fr_FR/install.base.txt
trunk/catalog/install/includes/sql/mysql/tables/osc_categories.sql
Modified: trunk/catalog/install/includes/language/fr_FR/install.base.txt
===================================================================
--- trunk/catalog/install/includes/language/fr_FR/install.base.txt 2012-04-02 07:59:36 UTC (rev 4119)
+++ trunk/catalog/install/includes/language/fr_FR/install.base.txt 2012-04-02 09:47:05 UTC (rev 4120)
@@ -2,8 +2,8 @@
/**
@licence GPL 2005-2011 The osCSS developers - osCSS Open Source E-commerce
@package osCSS-2 <www http://www.oscss.org>
- @version 2.1.0
- @date 13/03/11, 10:00
+ @version 2.1.1
+ @date 24/03/11, 10:00
@author oscim <mail aur...@os...> <www http://www.oscim.fr> - Ayatus
@encode UTF-8
*/
@@ -24,11 +24,12 @@
// core.base
$lang['Language']="Langue" ;
$lang['Valider']="Valider" ;
-$lang['Tout est correct']="Tous les paramètres sont correct" ;
+$lang['Tout est correct']="Tous les paramètres sont corrects" ;
$lang["Corriger ces alertes pour continuer l'installation"]="Corriger ces alertes pour continuer l'installation" ;
$lang["Le fichier n'est pas accessible en écriture : "]="Le fichier n'est pas accessible en écriture : " ;
$lang["Le répertoire n'est pas accessible en écriture : "]="Le répertoire n'est pas accessible en écriture : " ;
$lang["Le répertoire n'existe pas et ne peut être créé : "]="Le répertoire n'existe pas et ne peut être créé : " ;
+$lang["Le répertoire existe mais les droits ne sont pas suffisants: "]="Le répertoire existe mais les droits ne sont pas suffisants : " ;
// core.modes
$lang["Test de connexion à la base de données échoué. Corriger cette alerte pour continuer l'installation"]="Le test de connexion à la base de données a échoué. Corriger cette alerte pour continuer l'installation" ;
@@ -95,12 +96,12 @@
$lang["Le fichier à été enregistré"]="Le fichier à été enregistré" ;
$lang["Le fichier n'as pas été enregistré"]="Le fichier n'as pas été enregistré" ;
$lang["Version svn(développement) de osCSS-2 "]="Version svn(développement) de osCSS-2 " ;
-$lang["Les version svn contienent les dernières correction et mise à jour. Les revisions sont calculé sur votre version, et, en dehors des beta, vous devriez utiliser cette option. L'ecart entre les versions signifie qu'aucun paquet n'as été proposé depuis, et donc souligne qu'il s'agit de revision et correction mineure "]="Les version svn contiennent les dernières corrections et mises à jour. Les révisions sont calculées sur votre version, et, en dehors des beta, vous devriez utiliser cette option. L'ecart entre les versions signifie qu'aucun paquet n'as été proposé depuis, et donc souligne qu'il s'agit de révision et correction mineure " ;
-$lang["Version svn actuelle: "]="Version svn actuelle: " ;
+$lang["Les version svn contienent les dernières correction et mise à jour. Les revisions sont calculé sur votre version, et, en dehors des beta, vous devriez utiliser cette option. L'ecart entre les versions signifie qu'aucun paquet n'as été proposé depuis, et donc souligne qu'il s'agit de revision et correction mineure "]="Les versions svn contiennent les dernières corrections et mises à jour. Les révisions sont calculées sur votre version, et, en dehors des bêta, vous devriez utiliser cette option. L'écart entre les versions signifie qu'aucun paquet n'a été proposé depuis, et donc souligne qu'il s'agit de révision et correction mineure " ;
+$lang["Version svn actuelle: "]="Version svn actuelle : " ;
$lang['Récupérer le patch de la version courante du dépôt subversion']="Récupérer le patch de la version courante du dépôt subversion" ;
$lang["Patcher votre shop avec les dernières modification du svn"]="Patcher votre boutique avec les dernières modifications du svn" ;
$lang['Revision N° precis :']="Revision N° precis :" ;
-$lang["Le numéro de révision svn (basé sur :https://oscss.svn.sourceforge.net/svnroot/oscss )pour patcher votre shop "]="Le numéro de révision svn (basé sur :https://oscss.svn.sourceforge.net/svnroot/oscss )pour patcher votre boutique " ;
+$lang["Le numéro de révision svn (basé sur :https://oscss.svn.sourceforge.net/svnroot/oscss )pour patcher votre shop "]="Le numéro de révision svn (basé sur :https://oscss.svn.sourceforge.net/svnroot/oscss ) pour patcher votre boutique " ;
// core.installdb
$lang["Un problème à eu lieu durant la phase d'installation de la base de données"]="Un problème a eu lieu durant la phase d'installation de la base de données" ;
@@ -116,13 +117,13 @@
$lang["Votre nouvelle boutique osCSS est maintenant installé. "]="Votre nouvelle boutique osCSS est maintenant installée. " ;
$lang["Vos accès à votre espace privé de gestion sont:"]="Vos accès à votre espace privé de gestion sont :" ;
$lang[" Votre mot de passe "]=" Votre mot de passe " ;
-$lang["Votre nouveau osCSS-2"]="Votre nouveau osCSS-2" ;
+$lang["Votre nouveau osCSS-2"]="Votre nouvelle boutique osCSS-2" ;
$lang["L'Email n'a pas été envoyé !"]="L'email n'a pas été envoyé !" ;
$lang["L'Email a été envoyé à "]="L'email a été envoyé à " ;
$lang["Obligatoire"]="Obligatoire" ;
$lang['Adresse email administrateur:']="Adresse email administrateur:" ;
$lang["L'adresse Email de l'administrateur"]="L'adresse email de l'administrateur" ;
-$lang["Langue(s) supplementaire(s)"]="Langue(s) supplementaire(s)" ;
+$lang["Langue(s) supplementaire(s)"]="Langue(s) supplémentaire(s)" ;
$lang["Ajouter la langue "]="Ajouter la langue " ;
$lang[" Coté boutique"]=" Coté boutique" ;
$lang[" Espace Privé admin"]=" Espace privé administrateur" ;
@@ -131,6 +132,16 @@
$lang["Le nom du site, nom utilisé pour les Emails, les contact... "]="Le nom du site, nom utilisé pour les emails, les contact... " ;
// $configuration['configuration_title'];
// $configuration['configuration_description'];
+$lang['SHIPPING_ORIGIN_COUNTRY_S']="Code pays boutique" ;
+$lang['SHIPPING_ORIGIN_COUNTRY_L']="Entrer le code \"ISO 3166\" du pays pour calculer les coûts d'expédition." ;
+$lang['SMTP_MAIL_SERVER_S']="URL du serveur SMTP" ;
+$lang['SMTP_MAIL_SERVER_L']="Définit l’URL du serveur SMTP, si la méthode de transport choisie est le smtp, par défaut : localhost " ;
+$lang['STORE_OWNER_S']="Propriétaire de la boutique" ;
+$lang['STORE_OWNER_L']="Indiquer le nom du propriétaire de la boutique." ;
+$lang['SHIPPING_ORIGIN_ZIP_S']="Code postal boutique" ;
+$lang['SHIPPING_ORIGIN_ZIP_L']="Entrer le code postal de la boutique pour calculer les frais d'expédition." ;
+$lang['STORE_COUNTRY_S']="Pays" ;
+$lang['STORE_COUNTRY_L']="Le pays de résidence de la boutique.<br /><strong>Note : Pensez à mettre à jour la zone.</strong>" ;
// core.template_sample
// $key;
Modified: trunk/catalog/install/includes/sql/mysql/tables/osc_categories.sql
===================================================================
--- trunk/catalog/install/includes/sql/mysql/tables/osc_categories.sql 2012-04-02 07:59:36 UTC (rev 4119)
+++ trunk/catalog/install/includes/sql/mysql/tables/osc_categories.sql 2012-04-02 09:47:05 UTC (rev 4120)
@@ -14,7 +14,7 @@
drop table if exists osc_categories;
create table osc_categories (
categories_id int(11) not null auto_increment,
- categories_datatype varchar(64) NOT NULL Comment 'list type separated by , or null',
+ categories_datatype varchar(64) Comment 'list type separated by , or null',
categories_image varchar(64) ,
parent_id int(11) default '0' not null ,
categories_cpath varchar(64) not null,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-04-02 07:59:46
|
Revision: 4119
http://oscss.svn.sourceforge.net/oscss/?rev=4119&view=rev
Author: oscim
Date: 2012-04-02 07:59:36 +0000 (Mon, 02 Apr 2012)
Log Message:
-----------
Suite des corrections et ajustement des nouveau module de seo, et de l ageneration du hatcess correspondant
Modified Paths:
--------------
trunk/catalog/common/classes/datatype_drivers/Data_content.php
trunk/catalog/common/classes/datatype_drivers/Data_diver.php
trunk/catalog/common/classes/datatype_drivers/Data_home.php
trunk/catalog/common/classes/seo_url.php
trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php
Modified: trunk/catalog/common/classes/datatype_drivers/Data_content.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_content.php 2012-04-01 22:36:41 UTC (rev 4118)
+++ trunk/catalog/common/classes/datatype_drivers/Data_content.php 2012-04-02 07:59:36 UTC (rev 4119)
@@ -7,6 +7,8 @@
@date 16/03/2012, 16:16
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
+ @class Data_content
+ @brief This class is base datatype for content
*/
class Data_content {
@@ -140,7 +142,7 @@
$list = explode('_',$result['categories_cpath']);
foreach($list as $row )
- $path .= DataTypes::Getseoquery('c', '', $row, $this->languages_id).'-';
+ $path .= DataTypes::Getseoquery('c', '', $row, $languages_id).'-';
}
$result['path']= $path . ((isset($result['url']) && !empty($result['url']) )? $result['url'] : $result['tName']) ;
Modified: trunk/catalog/common/classes/datatype_drivers/Data_diver.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_diver.php 2012-04-01 22:36:41 UTC (rev 4118)
+++ trunk/catalog/common/classes/datatype_drivers/Data_diver.php 2012-04-02 07:59:36 UTC (rev 4119)
@@ -70,6 +70,8 @@
@brief constructor
*/
function __construct(){
+ foreach($this->reg_filenames as $key=>$row)
+ if(!defined($key))define($key, $row);
}
/**
@@ -199,7 +201,6 @@
if(defined('NAVBAR_TITLE'))
$breadcrumb->add(NAVBAR_TITLE, tep_href_link($p));
-
}
return $page_content;
Modified: trunk/catalog/common/classes/datatype_drivers/Data_home.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_home.php 2012-04-01 22:36:41 UTC (rev 4118)
+++ trunk/catalog/common/classes/datatype_drivers/Data_home.php 2012-04-02 07:59:36 UTC (rev 4119)
@@ -64,6 +64,8 @@
@brief constructor
*/
function __construct(){
+ foreach($this->reg_filenames as $key=>$row)
+ if(!defined($key))define($key, $row);
}
/**
Modified: trunk/catalog/common/classes/seo_url.php
===================================================================
--- trunk/catalog/common/classes/seo_url.php 2012-04-01 22:36:41 UTC (rev 4118)
+++ trunk/catalog/common/classes/seo_url.php 2012-04-02 07:59:36 UTC (rev 4119)
@@ -663,7 +663,8 @@
// Load Childs mod for create rules
$mode= 'SeoR_'.$mod;
- include_once( DIR_FS_CATALOG . DIR_WS_COMMON. 'modules/core/seo_modrewrite/'. $mode. '.php' );
+ if(!include_once( DIR_FS_CATALOG . DIR_WS_COMMON. 'modules/core/seo_modrewrite/'. $mode. '.php' ))
+ die ( __('error in seo class, childs drivers mode no founds') );
$this->obj_mode = new $mode();
$this->reg_mask = $this->obj_mode->mask;
Modified: trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php
===================================================================
--- trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php 2012-04-01 22:36:41 UTC (rev 4118)
+++ trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php 2012-04-02 07:59:36 UTC (rev 4119)
@@ -43,7 +43,7 @@
$this->mode = false;
- $this->mask = '$_page_% %_key_% %_id_%';
+ $this->mask = ' %_key_% %_SEPARATOR_% %_id_% %_SEPARATORVALUE_%';
$this->extension = false;
@@ -59,18 +59,25 @@
@note use in seoClass
*/
function makeurl($page,$lang, $key, $id, $text='',$ext=''){
- $base = explode(' ',trim($this->mask));
+ $replace = array();
+ if(file_exists(DIR_FS_CATALOG .$page ))
+ $new_page = $page;
+
+ else
+ $new_page = FILENAME_DEFAULT;
+
+ $base = explode('%_SEPARATORVALUE_%', str_replace('%_SEPARATOR_%', $this->separator , trim($this->mask)) );
+
+ if($key !='divers' && $id !='home')
$replace = array(
- $page.'?',
- $key,
- $id,
+ $key . $this->separator . $id ,
);
- return str_replace(
+ return $new_page.'?' .str_replace(
$base,
$replace,
- implode($this->separator, $base)
+ implode($this->separator_value, $base)
);
}
@@ -121,38 +128,38 @@
if(isset($obj->anchor)){
- $t = 0;
- foreach($obj->check as $key=>$row){
- $base[]='%CHECK_'.$t.'_%';
- $replace[]=$row;
- $t++;
- }
-
- $t = 0;
- foreach($obj->pages as $key=>$row){
- $base[]='%PAGE_REPLACE_'.$t.'_%';
- $replace[]=$row;
- $t++;
- }
-
- $t = 0;
- foreach($obj->anchor as $key=>$row){
- $tmp[$i] = "\n\n## Datatype - ".$k."";
- $i++;
- $tmp[$i] = str_replace(
- $base,
- $replace,
- 'RewriteRule ^'. $reg_lg . $this->separator_value . $row . $this->separator . '%CHECK_'.$t.'_%' . $this->separator_value . $reg_text . $reg_ext ."$ %PAGE_REPLACE_".$t."_%?" . $key . "=$2&%{QUERY_STRING} [L] "
- );
- $i++;
- $tmp[$i] = str_replace(
- $base,
- $replace,
- 'RewriteRule ^'. $row . $this->separator. '%CHECK_'.$t.'_%' . $this->separator_value . $reg_text . $reg_ext ."$ %PAGE_REPLACE_".$t."_%?" . $key . "=$1&%{QUERY_STRING} [L] "
- );
- $i++;
- $t++;
- }
+// $t = 0;
+// foreach($obj->check as $key=>$row){
+// $base[]='%CHECK_'.$t.'_%';
+// $replace[]=$row;
+// $t++;
+// }
+//
+// $t = 0;
+// foreach($obj->pages as $key=>$row){
+// $base[]='%PAGE_REPLACE_'.$t.'_%';
+// $replace[]=$row;
+// $t++;
+// }
+//
+// $t = 0;
+// foreach($obj->anchor as $key=>$row){
+// $tmp[$i] = "\n\n## Datatype - ".$k."";
+// $i++;
+// $tmp[$i] = str_replace(
+// $base,
+// $replace,
+// 'RewriteRule ^'. $reg_lg . $this->separator_value . $row . $this->separator . '%CHECK_'.$t.'_%' . $this->separator_value . $reg_text . $reg_ext ."$ %PAGE_REPLACE_".$t."_%?" . $key . "=$2&%{QUERY_STRING} [L] "
+// );
+// $i++;
+// $tmp[$i] = str_replace(
+// $base,
+// $replace,
+// 'RewriteRule ^'. $row . $this->separator. '%CHECK_'.$t.'_%' . $this->separator_value . $reg_text . $reg_ext ."$ %PAGE_REPLACE_".$t."_%?" . $key . "=$1&%{QUERY_STRING} [L] "
+// );
+// $i++;
+// $t++;
+// }
}
if(isset($obj->_static)){
$val = $obj->_static;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-04-01 22:36:48
|
Revision: 4118
http://oscss.svn.sourceforge.net/oscss/?rev=4118&view=rev
Author: oscim
Date: 2012-04-01 22:36:41 +0000 (Sun, 01 Apr 2012)
Log Message:
-----------
coquille
Modified Paths:
--------------
trunk/catalog/common/classes/seo_url.php
trunk/catalog/common/modules/core/seo_modrewrite/SeoR_byfolder.php
trunk/catalog/common/modules/core/seo_modrewrite/SeoR_classic.php
trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php
Modified: trunk/catalog/common/classes/seo_url.php
===================================================================
--- trunk/catalog/common/classes/seo_url.php 2012-04-01 22:07:35 UTC (rev 4117)
+++ trunk/catalog/common/classes/seo_url.php 2012-04-01 22:36:41 UTC (rev 4118)
@@ -512,8 +512,8 @@
if ( sizeof($container) > 0 ){
if ( $imploded_params = $this->implode_assoc($container) ){
- $url .= $separator . $this->output_string( $imploded_params );
- $separator = '&';
+ $url .= /*$separator . */$this->output_string( $imploded_params );
+// $separator = '&';
}
}
Modified: trunk/catalog/common/modules/core/seo_modrewrite/SeoR_byfolder.php
===================================================================
--- trunk/catalog/common/modules/core/seo_modrewrite/SeoR_byfolder.php 2012-04-01 22:07:35 UTC (rev 4117)
+++ trunk/catalog/common/modules/core/seo_modrewrite/SeoR_byfolder.php 2012-04-01 22:36:41 UTC (rev 4118)
@@ -20,6 +20,10 @@
*/
public $separator ;
/**
+ @var string separator for mask key/value
+ */
+ public $separator_value ;
+ /**
@var string file extension
*/
public $extension ;
@@ -34,6 +38,8 @@
$this->extension = 'html';
$this->separator = '/';
+
+ $this->separator_value = '/';
}
@@ -163,16 +169,16 @@
if(isset($val['deb'])){
$d .= "\n## Datatype - ".$k."";
$d .= str_replace(
- array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%') ,
- array(DIR_WS_CATALOG , $this->extension , $this->separator ) ,
+ array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%', '%_SEPARATORVALUE_%') ,
+ array(DIR_WS_CATALOG , $this->extension , $this->separator, $this->separator_value) ,
$val['deb']
) ."";
}
if(isset($val['end'])){
$e .= "\n## Datatype - ".$k."";
$e .= str_replace(
- array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%') ,
- array(DIR_WS_CATALOG , $this->extension , $this->separator ) ,
+ array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%', '%_SEPARATORVALUE_%') ,
+ array(DIR_WS_CATALOG , $this->extension , $this->separator, $this->separator_value) ,
$val['end']
) ."";
}
Modified: trunk/catalog/common/modules/core/seo_modrewrite/SeoR_classic.php
===================================================================
--- trunk/catalog/common/modules/core/seo_modrewrite/SeoR_classic.php 2012-04-01 22:07:35 UTC (rev 4117)
+++ trunk/catalog/common/modules/core/seo_modrewrite/SeoR_classic.php 2012-04-01 22:36:41 UTC (rev 4118)
@@ -20,6 +20,10 @@
*/
public $separator ;
/**
+ @var string separator for mask key/value
+ */
+ public $separator_value ;
+ /**
@var string file extension
*/
public $extension ;
@@ -34,6 +38,8 @@
$this->extension = 'html';
$this->separator = '-';
+
+ $this->separator_value = '-';
}
@@ -162,16 +168,16 @@
if(isset($val['deb']) && !empty($val['deb']) ){
$d .= "\n## Datatype - ".$k."";
$d .= str_replace(
- array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%') ,
- array(DIR_WS_CATALOG , $this->extension , $this->separator ) ,
+ array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%', '%_SEPARATORVALUE_%') ,
+ array(DIR_WS_CATALOG , $this->extension , $this->separator, $this->separator_value) ,
$val['deb']
) ."";
}
if(isset($val['end'])){
$e .= "\n## Datatype - ".$k."";
$e .= str_replace(
- array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%') ,
- array(DIR_WS_CATALOG , $this->extension , $this->separator ) ,
+ array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%', '%_SEPARATORVALUE_%') ,
+ array(DIR_WS_CATALOG , $this->extension , $this->separator, $this->separator_value) ,
$val['end']
) ."";
}
Modified: trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php
===================================================================
--- trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php 2012-04-01 22:07:35 UTC (rev 4117)
+++ trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php 2012-04-01 22:36:41 UTC (rev 4118)
@@ -27,6 +27,11 @@
public $separator ;
/**
+ @var string separator for mask key/value
+ */
+ public $separator_value ;
+
+ /**
@var string file extension
*/
public $extension ;
@@ -38,11 +43,13 @@
$this->mode = false;
- $this->mask = '%_key_% %_id_%';
+ $this->mask = '$_page_% %_key_% %_id_%';
$this->extension = false;
$this->separator = '=';
+
+ $this->separator_value = '&';
}
@@ -55,6 +62,7 @@
$base = explode(' ',trim($this->mask));
$replace = array(
+ $page.'?',
$key,
$id,
);
@@ -67,11 +75,107 @@
}
/**
- @brief
- @note use in Backoffice
+ @brief Create dynamic section htaccess based on datatypes
*/
- function GetHtaccess(){
+ function GetHtaccess($object){
+
+ $reg_lg = '([a-z]{2,3}_[A-Z]{2,3})';
+ $reg_text = '(.*)';
+ $reg_ext = ((!$this->extension || empty($this->extension)) ? '' : '.'.$this->extension);
+
+
+ $d = $e = ' ';
+ $tmp = array();
+ /**
+ Chargement dynamique de tous les datatypes, et generation des regle associé pour chaque type
+
+ Prendre en compte la gestion des langue dans ces regle
+ */
+
+
+ $static = '
+## Retro-compatibilité
+ ## Account specific pages
+ RewriteRule ^create_account.(php|'.$this->extension.')$ create_account.php?%{QUERY_STRING} [L,QSA]
+ RewriteRule ^(.*)account.(php|'.$this->extension.')$ account.php?%{QUERY_STRING} [L,QSA]
+ RewriteRule ^(.*)account(_([a-z_]*)).(php|'.$this->extension.')$ account.php?action=$3&%{QUERY_STRING} [L,QSA]
+ RewriteRule ^address_([a-z_]*).php$ account.php?aca_mod=address_book&aca_type=account&aca_action=display_view&%{QUERY_STRING}
+
+
+
+## RETRO - COMPATIBILITE
+## Move images/ Or images/imagecache/ in document.php?.. if image not defined id in db table
+ # RewriteRule ^images/imagecache/([0-9]*)x([0-9]*)[_](.*)\.([a-z]{3,4})[_](.*)$ document.php?mod=img&i=$3.$4&w=$1&h=$2 [R=301]
+ RewriteRule ^images/(.*)$ document.php?mod=img&i=$1&%{QUERY_STRING} [R=301]
+';
+
+
+ $i = 0;
+ foreach($object as $k=>$r){
+
+ $base = array();
+ $replace = array();
+
+ $obj = new objectInfo($r);
+
+ if(isset($obj->anchor)){
+
+ $t = 0;
+ foreach($obj->check as $key=>$row){
+ $base[]='%CHECK_'.$t.'_%';
+ $replace[]=$row;
+ $t++;
+ }
+
+ $t = 0;
+ foreach($obj->pages as $key=>$row){
+ $base[]='%PAGE_REPLACE_'.$t.'_%';
+ $replace[]=$row;
+ $t++;
+ }
+
+ $t = 0;
+ foreach($obj->anchor as $key=>$row){
+ $tmp[$i] = "\n\n## Datatype - ".$k."";
+ $i++;
+ $tmp[$i] = str_replace(
+ $base,
+ $replace,
+ 'RewriteRule ^'. $reg_lg . $this->separator_value . $row . $this->separator . '%CHECK_'.$t.'_%' . $this->separator_value . $reg_text . $reg_ext ."$ %PAGE_REPLACE_".$t."_%?" . $key . "=$2&%{QUERY_STRING} [L] "
+ );
+ $i++;
+ $tmp[$i] = str_replace(
+ $base,
+ $replace,
+ 'RewriteRule ^'. $row . $this->separator. '%CHECK_'.$t.'_%' . $this->separator_value . $reg_text . $reg_ext ."$ %PAGE_REPLACE_".$t."_%?" . $key . "=$1&%{QUERY_STRING} [L] "
+ );
+ $i++;
+ $t++;
+ }
+ }
+ if(isset($obj->_static)){
+ $val = $obj->_static;
+ if(isset($val['deb']) && !empty($val['deb']) ){
+ $d .= "\n## Datatype - ".$k."";
+ $d .= str_replace(
+ array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%', '%_SEPARATORVALUE_%') ,
+ array(DIR_WS_CATALOG , $this->extension , $this->separator, $this->separator_value) ,
+ $val['deb']
+ ) ."";
+ }
+ if(isset($val['end'])){
+ $e .= "\n## Datatype - ".$k."";
+ $e .= str_replace(
+ array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%', '%_SEPARATORVALUE_%') ,
+ array(DIR_WS_CATALOG , $this->extension , $this->separator, $this->separator_value) ,
+ $val['end']
+ ) ."";
+ }
+ }
+ }
+
+ return $d . $static . implode("\n", $tmp) .$e;
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-04-01 22:07:43
|
Revision: 4117
http://oscss.svn.sourceforge.net/oscss/?rev=4117&view=rev
Author: oscim
Date: 2012-04-01 22:07:35 +0000 (Sun, 01 Apr 2012)
Log Message:
-----------
Suite du travail d'intgeration des datatype et du couplage SEO , ajout de regeleet methode pour creer le htacess dynamiquement en fonction des datatypes present. suite du deveelopement de la pge de configration du seo, de l'affichage dans le choix des module , et du fichier htaccess public
Modified Paths:
--------------
trunk/catalog/admin/includes/gabarit/configuration/modseourl.listing.gab
trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/modseourl.txt
trunk/catalog/admin/includes/modules/configuration/modseourl.php
trunk/catalog/admin/includes/template/oscss/stylesheet-1.css
trunk/catalog/common/classes/DataTypes.php
trunk/catalog/common/classes/datatype_drivers/Data_categorie.php
trunk/catalog/common/classes/datatype_drivers/Data_content.php
trunk/catalog/common/classes/datatype_drivers/Data_diver.php
trunk/catalog/common/classes/datatype_drivers/Data_error.php
trunk/catalog/common/classes/datatype_drivers/Data_home.php
trunk/catalog/common/classes/datatype_drivers/Data_manufacturer.php
trunk/catalog/common/classes/datatype_drivers/Data_product.php
trunk/catalog/common/classes/seo_url.php
trunk/catalog/common/modules/core/seo_modrewrite/SeoR_byfolder.php
trunk/catalog/common/modules/core/seo_modrewrite/SeoR_classic.php
trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php
trunk/catalog/includes/filenames.php
trunk/catalog/index.php
Modified: trunk/catalog/admin/includes/gabarit/configuration/modseourl.listing.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/configuration/modseourl.listing.gab 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/admin/includes/gabarit/configuration/modseourl.listing.gab 2012-04-01 22:07:35 UTC (rev 4117)
@@ -24,69 +24,125 @@
<div class="block_form">
- <fieldset class="block_field">
- <?php /** */ $row = modseourl::$list['SEO_ENABLED']; ?>
- <legend title="<?php echo '('.$row->key.' - ' . $row->set . ')'; ?>"><?php echo __($row->title). tep_image(DIR_WS_ICONS . 'icon_help.gif'); ?></legend>
- <div class="block_input">
- <label><?php if (tep_not_null($row->description))echo __($row->description); ?></label>
- <p>
- <?php echo $row->value_field ; ?>
- </p>
- </div>
- </p>
+ <div id="tabs">
+ <ul>
+ <li><a href="#tabs-1"><?php echo __('tab modseourl configuration'); ?></a></li>
+ <?php if(_test_bool(modseourl::$list['SEO_ENABLED']->value)): ?>
+ <li><a href="#tabs-2"><?php echo __('tab modseourl option'); ?></a></li>
+ <li><a href="#tabs-3"><?php echo __('tab modseourl other'); ?></a></li>
+ <?php endif; ?>
+ </ul>
+ <div id="tabs-1" class="tabPage">
+ <fieldset class="block_field">
+ <?php /** */ $row = modseourl::$list['SEO_ENABLED']; ?>
+ <legend title="<?php echo '('.$row->key.' - ' . $row->set . ')'; ?>"><?php echo __($row->title). tep_image(DIR_WS_ICONS . 'icon_help.gif'); ?></legend>
- <?php /** */ ?>
- <?php if(_test_bool(modseourl::$list['SEO_ENABLED']->value)): ?>
+ <div class="block_input">
+ <label><?php if (tep_not_null($row->description))echo __($row->description); ?></label>
+ <p>
+ <?php echo $row->value_field ; ?>
+ </p>
+ </div>
+ <?php /** @remarks desactivation des options si SEO_ENABLED off */ ?>
+ <?php if(_test_bool(modseourl::$list['SEO_ENABLED']->value)): ?>
+
+ <!-- <fieldset class="block_field"> -->
+ <div class="block_input">
+ <label class="block_field-title" title=""><?php echo __('modseourl legend seo mode choose') ?></label>
+ <table class="dataTable">
+ <?php foreach(modseourl::$list_childs_mod as $row): $value = ((SEO_REWRITE_TYPE == $row->code)? 'true': 'false' ); ?>
+ <tr>
+ <td><?php echo $row->code ?></td>
+ <td><?php echo $row->title ?></td>
+ <td><?php echo $row->description ?></td>
+ <td><?php echo $row->sample ?></td>
+ <td class="row_action">
+ <span class="edit-input">
+ <?php echo tep_draw_radio_field('configuration[SEO_REWRITE_TYPE]','', $row->code, (SEO_REWRITE_TYPE == $row->code) ); ?>
+ <span class="edit-input-value Val-<?php echo $value; ?> "> <?php echo $value; ?> </span>
+ <span class="edit-input-value-alternate Val-<?php echo $value; ?>"></span>
+ </span>
+ </td>
+ </tr>
+ <?php endforeach; ?>
+ </table>
+ </div>
+ <?php endif; ?>
- <h4 class="block_field-title"><?php echo __('modseourl legend seo') ?></h4>
- <?php /** option de la gestion de stock, disponible que ci value precendente a true */ ?>
- <ul class="block_input tirrois">
- <?php foreach(modseourl::$list as $row)
- if( !in_array($row->key,array('SEO_ENABLED',)) ) { ?>
- <li id="nav_<?php echo $row->key ?>"><h5 title="<?php echo '('.$row->key.' - ' . $row->set . ')'; ?>" class="Ctrtirroir"><?php echo __($row->title). tep_image(DIR_WS_ICONS . 'icon_help.gif'); ?></h5>
+ <div class="block_input">
+ <h4 class="block_field-title"><?php echo __('modseourl legend seo htaccess reg') ?></h4>
+ <textarea style="width:100%; height:300px;">
+ <?php echo modseourl::$view_htaccess ?>
+ </textarea>
+ </div>
+
- <div class="block_input tirroir">
- <label><?php echo __($row->description); ?></label>
- <p>
- <?php echo $row->value_field ; ?>
- </p>
- </div>
- </li>
- <?php } ?>
- </ul>
- <?php endif; ?>
- </fieldset>
+ </fieldset>
+ </div>
- <?php /** */ ?>
- <fieldset class="block_field">
- <legend class="block_field-title"><?php echo __('modseourl legend other') ?></legend>
+ <?php /** @remarks desactivation des options si SEO_ENABLED off */ ?>
+ <?php if(_test_bool(modseourl::$list['SEO_ENABLED']->value)): ?>
- <ul class="block_input">
- <?php foreach(modseourl::$list as $row)
- if(!in_array($row->key,array('SEO_ENABLED',)) && ( substr($row->key,0,4) !='SEO_' && substr($row->key,0,7) !='USE_SEO' ) ) { ?>
- <li id="nav_<?php echo $row->key ?>"><h5 title="<?php echo '('.$row->key.' - ' . $row->set . ')'; ?>"><?php echo __($row->title). tep_image(DIR_WS_ICONS . 'icon_help.gif'); ?></h5>
- <div class="block_input tirroir">
- <label><?php echo __($row->description); ?></label>
- <p>
- <?php echo $row->value_field ; ?>
- </p>
- </div>
- </li>
- <?php } ?>
- </ul>
- </fieldset>
+ <div id="tabs-2" class="tabPage">
+ <h4 class="block_field-title"><?php echo __('modseourl legend seo') ?></h4>
+ <fieldset class="block_field">
+ <?php /** option de la gestion de stock, disponible que ci value precendente a true */ ?>
+ <ul class="block_input tirrois">
+ <?php foreach(modseourl::$list as $row)
+ if( !in_array($row->key,array('SEO_ENABLED', 'SEO_REWRITE_TYPE')) ) { ?>
+ <li id="nav_<?php echo $row->key ?>"><h5 title="<?php echo '('.$row->key.' - ' . $row->set . ')'; ?>" class=""><?php echo __($row->title). tep_image(DIR_WS_ICONS . 'icon_help.gif'); ?></h5>
- <div class="button_nav">
- <?php print tep_image_submit('button_copy.gif', IMAGE_UPDATE) .tep_js_back(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $_GET['gparentID'].'&gID=' . $_GET['gID'] )) ; ?>
- </div>
+ <div class="block_input">
+ <label><?php echo __($row->description); ?></label>
+ <p>
+ <?php echo $row->value_field ; ?>
+ </p>
+ </div>
+ </li>
+ <?php } ?>
+ </ul>
+ </fieldset>
+ </div>
+
+ <div id="tabs-3" class="tabPage">
+ <?php /** */ ?>
+ <fieldset class="block_field">
+ <legend class="block_field-title"><?php echo __('modseourl legend other') ?></legend>
+
+ <ul class="block_input">
+ <?php foreach(modseourl::$list as $row)
+ if(!in_array($row->key,array('SEO_ENABLED', 'SEO_REWRITE_TYPE')) && ( substr($row->key,0,4) !='SEO_' && substr($row->key,0,7) !='USE_SEO' ) ) { ?>
+ <li id="nav_<?php echo $row->key ?>"><h5 title="<?php echo '('.$row->key.' - ' . $row->set . ')'; ?>"><?php echo __($row->title). tep_image(DIR_WS_ICONS . 'icon_help.gif'); ?></h5>
+
+ <div class="block_input">
+ <label><?php echo __($row->description); ?></label>
+ <p>
+ <?php echo $row->value_field ; ?>
+ </p>
+ </div>
+ </li>
+ <?php } ?>
+ </ul>
+ </fieldset>
+ </div>
+
+ <?php endif; ?>
+ </div>
+
+
+ <fieldset class="block_field">
+ <div class="block_input button_nav">
+ <?php print tep_image_submit('button_copy.gif', IMAGE_UPDATE) .tep_js_back(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $_GET['gparentID'].'&gID=' . $_GET['gID'] )) ; ?>
+ </div>
+ </fieldset>
</div>
</form>
\ No newline at end of file
Modified: trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/modseourl.txt
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/modseourl.txt 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/modseourl.txt 2012-04-01 22:07:35 UTC (rev 4117)
@@ -1,6 +1,6 @@
<?php
/**
- @licence GPL 2005-2011 The osCSS developers - osCSS Open Source E-commerce
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
@@ -13,6 +13,13 @@
$lang['modseourl legend other']="Autres" ;
+$lang['modseourl legend seo mode choose']="Mode de ré-ecriture" ;
+$lang['modseourl legend seo htaccess reg']="Fichier htaccess" ;
+
+$lang['tab modseourl configuration']="Configuration" ;
+$lang['tab modseourl option']="Options" ;
+$lang['tab modseourl other']="Autres" ;
+
$lang['SEO_ENABLED_S']="SEO url" ;
$lang['SEO_ENABLED_L']="active service SEO" ;
$lang['SEO_ADD_CPATH_TO_PRODUCT_URLS_S']="Ajouter le cpath dans l'url" ;
@@ -41,4 +48,15 @@
$lang['SEO_REMOVE_ALL_SPEC_CHARS_L']="Retire tous les caractéres non imprimable" ;
$lang['SEO_URLS_CACHE_RESET_S']="Vide le cache SEO" ;
$lang['SEO_URLS_CACHE_RESET_L']="Vide le cache" ;
+
+
+
+/* Specific module Seo Rewrite*/
+$lang['no seo mod rewrite title']="Pas de ré-ecriture " ;
+$lang['no seo mod rewrite description']="pas de re-ecriture d'url, mais la class seo reste active" ;
+$lang['classic seo mod rewrite title']="Url separé avec un '-' " ;
+$lang['classic seo mod rewrite description']="" ;
+$lang['byfolder seo mod rewrite title']="Url separé avec un '/' " ;
+$lang['byfolder seo mod rewrite description']="l'ecriture des url, fragmenté en repertoire, autorise un ajsutement manuel pour prendre en charge le comportement des page lorsque l'on browse le repertoire /p/ par exemple" ;
+
?>
\ No newline at end of file
Modified: trunk/catalog/admin/includes/modules/configuration/modseourl.php
===================================================================
--- trunk/catalog/admin/includes/modules/configuration/modseourl.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/admin/includes/modules/configuration/modseourl.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -15,20 +15,34 @@
Class modseourl
implements ext_configuration
{
+
/**
- @var array list template
+ @var array list use in gabarit html
*/
public static $list;
+ /**
+ @var object sqlconfiguration
+ */
public static $cfg;
/**
+ @var array list all module childs for seo
*/
+ public static $list_childs_mod;
+
+ /**
+ @var string
+ */
+ public static $view_htaccess;
+
+ /**
+ @brief construct
+ */
function __construct(){
global $oscss;
$this->code=__CLASS__;
global $messageStack, $language,$lang;
- if (!is_writeable(DIR_FS_TEMPLATES)) $messageStack->add(ERROR_DESTINATION_NOT_WRITEABLE. 'template/', 'error');
$oscss->pile_file_lang(DIR_FS_ADMIN.DIR_WS_LANGUAGES.$language.'/modules/configuration/'.$this->code.'.txt');
@@ -37,10 +51,7 @@
/**
- Action Prise en charge par le modules
- @param
- @e global $action
- @e global $messageStack
+ @brief Action Prise en charge par le modules
*/
public function draw_action(){
global $action,$messageStack;
@@ -51,99 +62,124 @@
switch($action){
/**
- @brief save page groupe
+ @brief save page groupe
*/
case 'save_mutli':
- if(tep_not_null($gID) ){
+ if(tep_not_null($gID) ){
- $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
+ $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
- if(is_object($list))
- $liste[]=$list;
- else
- $liste=$list;
+ if(is_object($list))
+ $liste[]=$list;
+ else
+ $liste=$list;
- foreach($liste as $row) {
+ foreach($liste as $row) {
- if(isset($_POST['configuration'][$row->key])) {
- $configuration_value = tep_db_prepare_input($_POST['configuration'][$row->key]);
+ if(isset($_POST['configuration'][$row->key])) {
+ $configuration_value = tep_db_prepare_input($_POST['configuration'][$row->key]);
- if( ($res=sqlconfiguration::update(array('key'=>$row->key , 'value'=>tep_db_input($configuration_value) ))) == false)$erreur[]=false;
- else $erreur[]=true;
+ if( ($res=sqlconfiguration::update(array('key'=>$row->key , 'value'=>tep_db_input($configuration_value) ))) == false)$erreur[]=false;
+ else $erreur[]=true;
- }
+ }
- }
+ }
- if(!in_array(false,$erreur)) $messageStack->add_session(SAVE_CONFIG_OK, 'success');
- else $messageStack->add_session(SAVE_CONFIG_NOT_OK, 'error');
+ if(!in_array(false,$erreur)) $messageStack->add_session(SAVE_CONFIG_OK, 'success');
+ else $messageStack->add_session(SAVE_CONFIG_NOT_OK, 'error');
- }
+ }
- tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $_GET['gID'] . '&cID=' . $cID));
+ tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $_GET['gID'] . '&cID=' . $cID));
break;
}
}
/**
+ @brief
@return array
*/
public function load_db_values($Id){
- $list_edit=array();
- $gID = 16;
+ $list_edit=array();
+ $gparentID = tep_db_prepare_input($_GET['gparentID']);
+ $gID= tep_db_prepare_input($_GET['gID']);
+// $gID = 16;
- $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
+ $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
- foreach($list as $row) {
+ foreach($list as $row) {
- $cfgValue =configUtility::CallExecConfigLine($row->use, $row->key, $row->value);
+ $cfgValue =configUtility::CallExecConfigLine($row->use, $row->key, $row->value);
- if (!empty($row->set)){
- if(strpos($row->set,'(') === false) $row->set.='(';
- eval('$value_field = ' . $row->set . '"' . htmlspecialchars($row->value) . '","'.$row->key.'");');
- }
- else $value_field = tep_draw_input_field('configuration['.$row->key.']', '',$row->value);
+ if (!empty($row->set)){
+ if(strpos($row->set,'(') === false) $row->set.='(';
+ eval('$value_field = ' . $row->set . '"' . htmlspecialchars($row->value) . '","'.$row->key.'");');
+ }
+ else $value_field = tep_draw_input_field('configuration['.$row->key.']', '',$row->value);
- $conf = $row;
- $row->cfgValue=$cfgValue;
- $row->value_field=$value_field;
+ $conf = $row;
+ $row->cfgValue=$cfgValue;
+ $row->value_field=$value_field;
- $list_edit[$row->key]=$conf;
- }
+ $list_edit[$row->key]=$conf;
+ }
+ // chlids module for rewrite
+ $path = DIR_FS_CATALOG . DIR_WS_COMMON .'modules/core/seo_modrewrite/';
+
+ foreach(scan($path) as $row )
+ if(substr($row, -3) == 'php'){
+ $class = substr($row, 0,-4);
+// // print_r($row);
+ include_once($path . $row);
+ $obj = new $class();
+//
+ $row = $obj->GetDescription();
+ if((SEO_REWRITE_TYPE == $row->code))
+ $current = $obj;
+ self::$list_childs_mod[] = $row;
+ }
+
+
+ $DT = DataTypes::getInstance();
+
+// print_r($DT->GetRegHtaccess());
+
+ $all_reg = $DT->GetRegHtaccess();
+
+ self::$view_htaccess = $current->GetHtaccess($all_reg);
+
return $list_edit;
}
/**
- Appelé dans le header de page
+ @brief Appelé dans le header de page
*/
public static function draw_header(){
?>
<style type="text/css">
#central form label {
- display: inline-block;
- font-weight: normal;
- margin: 5px 10px;
- text-align: left;
- white-space: pre-wrap;
- width: 90%;
+ display: inline-block;
+ font-weight: normal;
+ margin: 5px 10px;
+ text-align: left;
+ white-space: pre-wrap;
+ width: 90%;
}
</style>
<?php
}
/**
- Contenu central
- @param
- @e global $action
- @e global $gparentID
+ @brief Contenu central
*/
public function draw(){
global $action,$gparentID;
- if($action=='cfg') return;
+
self::$list = $this->load_db_values('');
return tep_get_include_contents('configuration/'.__CLASS__.'.listing');
}
Modified: trunk/catalog/admin/includes/template/oscss/stylesheet-1.css
===================================================================
--- trunk/catalog/admin/includes/template/oscss/stylesheet-1.css 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/admin/includes/template/oscss/stylesheet-1.css 2012-04-01 22:07:35 UTC (rev 4117)
@@ -421,7 +421,7 @@
.dataTable th{ background-color: #303030; font-size:1em; font-weight:bold; text-align:center; color:white; text-shadow:none; }
.dataTableBase tr td,
.dataTableSearch tr td,
-.dataTable tr td{ color: #000000;padding: 2px; font-size: 10px;cursor:default;text-shadow:0 1px 0 #fff;}
+.dataTable tr td{ line-height:12px; color: #000000;padding: 2px; font-size: 10px;cursor:default;text-shadow:0 1px 0 #fff;}
.dataTableBase td.row_action,
.dataTableSearch td.row_action,
.dataTable td.row_action { width:150px; text-align:right;}
Modified: trunk/catalog/common/classes/DataTypes.php
===================================================================
--- trunk/catalog/common/classes/DataTypes.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/common/classes/DataTypes.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -7,7 +7,9 @@
@date 26/03/2012, 17:29
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
-
+ @class DataTypes
+ @brief Cette class assure l'ordre de chargement et la prise en charge des datatype actif du core.
+ ajouter un datatype permet d'ajouter la prise en charge d'un nouveau type de donnée (product, content, ...)
*/
class DataTypes {
@@ -96,9 +98,53 @@
}
+ public function GetRegHtaccess(){
+ self::getInstance();
+ $obj = array();
+ foreach(self::$env->modlist as $class=>$module){
+ $obj[$class]['name'] = substr($class, 5);
+
+ if(isset($module->reg_static))
+ $obj[$class]['_static'] = $module->reg_static;
+
+ foreach($module->reg_anchors as $key=>$row)
+ $obj[$class]['anchor'][$key] = $row;
+
+ foreach($module->reg_check as $key=>$row)
+ $obj[$class]['check'][] = $row;
+
+ foreach($module->reg_filenames as $key=>$row)
+ $obj[$class]['pages'][$key] = $row;
+
+ }
+
+
+ // Ajout des regles spcifique au datatype hierachique (categorie / naufacturer)
+ foreach(self::$env->modlist as $class=>$module){
+
+ if(
+ ( isset(self::$env->RootListing[$class]) && is_array(self::$env->RootListing[$class]) && count(self::$env->RootListing[$class])>0 )// this module is RootListing (manufacturer, categories)
+// && in_array($type, $module->RootListing) // RootListing array require content current type
+// && $module->is_type($mode) // is_type actif
+ ){
+
+// echo $class;
+// print_r(self::$env->RootListing[$class]);
+ }
+
+
+
+ }
+
+
+
+ return $obj;
+ }
+
+
/**
@brief Get regle anchors in childs module for seo class
@note fontoffice use
Modified: trunk/catalog/common/classes/datatype_drivers/Data_categorie.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_categorie.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/common/classes/datatype_drivers/Data_categorie.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -25,6 +25,22 @@
);
/**
+ @var DataType array reg check for control get params , please respect order $reg_anchors
+ */
+ public $reg_check = array(
+ '([0-9_]*)' // unique page
+ );
+
+
+ /**
+ @var DataType files for folder /content
+ */
+ public $reg_filenames = array(
+ 'FILENAME_CATEGORIE' => FILENAME_DEFAULT // unique page
+ );
+
+
+ /**
@var DataType dynamic
*/
public $DataTypeDynamic = true;
@@ -182,7 +198,26 @@
return $result;
}
+ /**
+ @brief Prepare an dgenere all cache for divers
+ */
+ public function SeoCacheQuery(/*$language_id*/){
+ global $languages_id;
+ $DB=Database::getInstance();
+ $return_array = array();
+ $res = $DB->query( "select ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='cat' and ftd.language_id = '" . (int)$languages_id. "'" );
+
+
+ while ($result =$res->fetchAssoc()){
+ $return_array[] = array ($result['ID'], $result, 'CATEGORIE') ;
+ }
+
+
+ return $return_array;
+ }
+
+
/**
@brief chargement des données transversal
*/
Modified: trunk/catalog/common/classes/datatype_drivers/Data_content.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_content.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/common/classes/datatype_drivers/Data_content.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -25,6 +25,21 @@
);
/**
+ @var DataType files for folder /content
+ */
+ public $reg_filenames = array(
+ 'FILENAME_CONTENT' => FILENAME_DEFAULT // unique page
+ );
+
+ /**
+ @var DataType array reg check for control get params , please respect order $reg_anchors
+ */
+ public $reg_check = array(
+ '([0-9]*)' // unique page
+ );
+
+
+ /**
@var DataType dynamic
*/
public $DataTypeDynamic = true;
@@ -34,6 +49,8 @@
@brief constructor
*/
function __construct(){
+ foreach($this->reg_filenames as $key=>$row)
+ if(!defined($key))define($key, $row);
}
/**
@@ -111,14 +128,27 @@
$DB=Database::getInstance();
$return_array = array();
- $sql= "select ft.page_id as ID, head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='content' and ftd.language_id = '" . $languages_id. "' " ;
+ if( _test_bool('SEO_ADD_CAT_PARENT') )
+ $res=$DB->query( "select ft.page_id as ID, head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='content' and ftd.language_id = '" . (int)$languages_id. "'" );
+ else
+ $res=$DB->query( $sql="SELECT DISTINCT ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag, cd.categories_cpath from " . TABLE_FULL_TAG . " ft LEFT JOIN ".TABLE_CONTENT_TO_CATEGORIES." cd2 ON page_id=cd2.content_id JOIN ".TABLE_CATEGORIES." cd ON cd.categories_id = cd2.categories_id , " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='content' and ftd.language_id = '" . (int)$languages_id. "' GROUP BY ID" );
- $res=$DB->query( $sql );
+ while ($result =$res->fetchAssoc()){
+ $path = '';
- while ($result =$res->fetchAssoc()){
- $return_array[] = array ($result['ID'],$result,'CONTENT') ;
+ if(isset($result['categories_cpath']) && !empty($result['categories_cpath'])) {
+ $list = explode('_',$result['categories_cpath']);
+
+ foreach($list as $row )
+ $path .= DataTypes::Getseoquery('c', '', $row, $this->languages_id).'-';
+ }
+
+ $result['path']= $path . ((isset($result['url']) && !empty($result['url']) )? $result['url'] : $result['tName']) ;
+
+ $return_array[] = array ($result['ID'], $result, 'CONTENT') ;
}
+
return $return_array;
}
Modified: trunk/catalog/common/classes/datatype_drivers/Data_diver.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_diver.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/common/classes/datatype_drivers/Data_diver.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -28,15 +28,38 @@
);
/**
- @var DataType array reg for seo class
+ @var DataType array reg check for control get params , please respect order $reg_anchors
*/
-// public $reg_mask = array(
-// 'no-rewrite' => '%1$s=%2$s',
-// 'Rewrite' => '%2$s-%1$s-%3$s.%4$s',
-// 'Rewrite-mode2' => '%1$s/%2$s/%3$s.%4$s',
-// );
+ public $reg_check = array(
+ '([A-Za-z0-9_]*)' // unique page
+ );
/**
+ @var DataType static reg for htaccess
+ */
+ public $reg_static = array(
+ 'deb' =>"
+## contact
+ RewriteRule ^contact.(php|%_EXT_%)$ index.php?d=contact.php&%{QUERY_STRING} [L,QSA]
+
+## Move xxxx.php >> xxx.html
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteCond %{REQUEST_FILENAME} !-d
+ #Mode
+ RewriteRule ^([a-zA-Z_]*)\.(php)$ d%_SEPARATOR_%$1%_SEPARATOR_%$1.%_EXT_%?&%{QUERY_STRING} [R=301]
+ ",
+ 'end' =>'',
+ );
+
+ /**
+ @var DataType files for folder /content
+ */
+ public $reg_filenames = array(
+ 'FILENAME_DEFAULT' => FILENAME_DEFAULT // unique page
+ );
+
+
+ /**
@var DataType dynamic boolean
*/
public $DataTypeDynamic = false;
@@ -54,10 +77,14 @@
@param $mode le type de control (page/cpath/seo)
*/
function is_type($mode='unique'){
+
switch($mode){
case 'unique':
// default:
- if( (isset($_GET['d']) && $_GET['d'] !='home.php') || isset($_GET['content']) || isset($_GET['aca_mod']) )
+ if(
+ (isset($_GET['divers']) && ( !in_array($_GET['divers'], array('home', 'index')) && count(@$_GET) ==1 ) ) // echap page homme ou index sans auter arguement
+ || isset($_GET['aca_mod']) // prise en charge des module aca
+ )
return true;
break;
}
@@ -135,45 +162,45 @@
$DB=Database::getInstance();
- $p=(string)tep_db_prepare_input(basename($_GET['d']));
+ $page_content = $p=(string)tep_db_prepare_input(basename($_GET['divers'])) .'.php';
$page->init($p,$language);
$breadcrumb=$page->return_object('breadcrumb');
- switch ($p){
- // case 'form.php':
+ /** Module aca */
+ if (isset($_GET['aca_mod']) && !is_numeric($_GET['aca_mod']) && isset($_GET['aca_type']) && isset($_GET['aca_action'])){
+ $module=(string)tep_db_prepare_input($_GET['aca_mod']);
+ $type=(string)tep_db_prepare_input($_GET['aca_type']);
+ $aca=$page->new_class($type);
+ $aca_module=$page->_call($type,'ret_modules');
+ /* cf content/page.php */
+ $page_content =$page->force_content('unique'.$page->ext);
+
+ if (isset($_GET['action']) ) {
+ $action=(string)tep_db_prepare_input($_GET['action']);
+ if ($aca_module[$module]->check_action($action) ) {
+ /** Exe == true */
+ $aca_module[$module]->after_check_action($action);
+ // tep_redirect(tep_href_link('product_info.php', tep_get_all_get_params(array('action'))));
+ }
+ }
+ }
+ else
+ switch ($p){
+ // case 'form.php':
case 'contact.php':
- $pp=substr($p, 0, -strlen($page->ext));
- $page->new_class($pp);
- $page_content = $page->force_content($pp.'_'.$page->_call($pp,'the_form').$page->ext);
- if (isset($_GET['action'])) $page->_call($pp,'action');
- break;
- default:
+ $pp=substr($p, 0, -strlen($page->ext));
+ $page->new_class($pp);
+ $page_content = $page->force_content($pp.'_'.$page->_call($pp,'the_form').$page->ext);
+ if (isset($_GET['action'])) $page->_call($pp,'action');
+ break;
+ default:
- /** Module aca */
- if (isset($_GET['aca_mod']) && !is_numeric($_GET['aca_mod']) && isset($_GET['aca_type']) && isset($_GET['aca_action'])){
- $module=(string)tep_db_prepare_input($_GET['aca_mod']);
- $type=(string)tep_db_prepare_input($_GET['aca_type']);
- $aca=$page->new_class($type);
- $aca_module=$page->_call($type,'ret_modules');
- /* cf content/page.php */
- $page_content =$page->force_content('unique'.$page->ext);
+ if(defined('NAVBAR_TITLE'))
+ $breadcrumb->add(NAVBAR_TITLE, tep_href_link($p));
- if (isset($_GET['action']) ) {
- $action=(string)tep_db_prepare_input($_GET['action']);
- if ($aca_module[$module]->check_action($action) ) {
- /** Exe == true */
- $aca_module[$module]->after_check_action($action);
- // tep_redirect(tep_href_link('product_info.php', tep_get_all_get_params(array('action'))));
- }
- }
}
- else {
- if(defined('NAVBAR_TITLE'))
- $breadcrumb->add(NAVBAR_TITLE, tep_href_link($p));
- }
- }
return $page_content;
}
Modified: trunk/catalog/common/classes/datatype_drivers/Data_error.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_error.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/common/classes/datatype_drivers/Data_error.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -27,6 +27,58 @@
);
/**
+ @var DataType files for folder /content
+ */
+ public $reg_filenames = array(
+// 'FILENAME_CONTENT' => FILENAME_DEFAULT // unique page
+ );
+
+ /**
+ @var DataType array reg check for control get params , please respect order $reg_anchors
+ */
+ public $reg_check = array(
+// '([0-9]*)' // unique page
+ );
+
+ /**
+ @var DataType static reg for htaccess
+ */
+ public $reg_static = array(
+ 'deb' =>"
+\n ## Error Document
+ ## Authorization htaccess & htpassword
+ ErrorDocument 401 %_DIR_WS_CATALOG_%error%_SEPARATOR_%401.%_EXT_%
+ ## no found
+ ErrorDocument 404 %_DIR_WS_CATALOG_%error%_SEPARATOR_%404.%_EXT_%
+ ## error in process payment
+ ErrorDocument 402 %_DIR_WS_CATALOG_%checkout_confirmation.php
+ ## Bad request
+ ErrorDocument 400 %_DIR_WS_CATALOG_%error%_SEPARATOR_%400.%_EXT_%
+ ## forbidden Intrustion error
+ ErrorDocument 403 %_DIR_WS_CATALOG_%error%_SEPARATOR_%403.%_EXT_%
+ ## méthode non autorisée.
+ ErrorDocument 405 %_DIR_WS_CATALOG_%error%_SEPARATOR_%405.%_EXT_%
+ ## technical error
+ ErrorDocument 500 %_DIR_WS_CATALOG_%error%_SEPARATOR_%500.%_EXT_%
+ ## le serveur ne supporte pas le service demandé.
+ ErrorDocument 501 %_DIR_WS_CATALOG_%error%_SEPARATOR_%501.%_EXT_%
+ ## mauvaise passerelle.
+ ErrorDocument 502 %_DIR_WS_CATALOG_%error%_SEPARATOR_%502.%_EXT_%
+ ## service indisponible.
+ ErrorDocument 503 verror/503.%_EXT_%
+ ## trop de temps à la réponse.
+ ErrorDocument 504 %_DIR_WS_CATALOG_%error%_SEPARATOR_%504.%_EXT_%
+ ## version HTTP non supportée.
+ ErrorDocument 505 %_DIR_WS_CATALOG_%error%_SEPARATOR_%505.%_EXT_%
+
+
+ # rule for error page
+ RewriteRule ^error%_SEPARATOR_%([0-9]*).%_EXT_% index.php?ServerError=$1 [L]
+ ",
+ 'end' =>'',
+ );
+
+ /**
@var DataType dynamic
*/
public $DataTypeDynamic = false;
Modified: trunk/catalog/common/classes/datatype_drivers/Data_home.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_home.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/common/classes/datatype_drivers/Data_home.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -24,10 +24,38 @@
@var DataType array reg for seo class
*/
public $reg_anchors = array(
- 'home'=> 'h'
+// 'home'=> 'h'
);
/**
+ @var DataType array reg check for control get params , please respect order $reg_anchors
+ */
+ public $reg_check = array(
+// '()' // unique page
+ );
+
+
+ /**
+ @var DataType files for folder /content
+ */
+ public $reg_filenames = array(
+// 'FILENAME_HOME' => 'home.php' // unique page
+ );
+
+ /**
+ @var DataType static reg for htaccess
+ */
+ public $reg_static = array(
+ 'deb' =>"
+\n## Home
+
+ RewriteCond %{QUERY_STRING} =''
+ RewriteRule ^(([a-z]{2,3}_[A-Z]{2,3})%_SEPARATOR_%|)(index)\.(php|%_EXT_%)$ %_DIR_WS_CATALOG_% [R=301]
+ ",
+ 'end' =>'',
+ );
+
+ /**
@var DataType dynamic
*/
public $DataTypeDynamic = true;
@@ -105,7 +133,7 @@
$res=$DB->query( "select ft.page_id as ID, head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='home' and ftd.language_id = '" . $language_id. "' " );
while ($result =$res->fetchAssoc()){
- $return_array[] = array ($result['ID'],$result,'HOME') ;
+ $return_array[] = array ($result['ID'],$result,strtoupper($this->DataType)) ;
}
return $return_array ;
@@ -122,10 +150,10 @@
$DB=Database::getInstance();
- $page->init('home.php',$language);
+ $page->init($this->DataType.'.php',$language);
$breadcrumb=$page->return_object('breadcrumb');
- return 'home.php';
+ return $this->DataType.'.php';
}
Modified: trunk/catalog/common/classes/datatype_drivers/Data_manufacturer.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_manufacturer.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/common/classes/datatype_drivers/Data_manufacturer.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -25,6 +25,21 @@
);
/**
+ @var DataType array reg check for control get params , please respect order $reg_anchors
+ */
+ public $reg_check = array(
+ '([0-9]*)' // unique page
+ );
+
+
+ /**
+ @var DataType files for folder /content
+ */
+ public $reg_filenames = array(
+ 'FILENAME_MANUFACTURER' => FILENAME_DEFAULT // unique page
+ );
+
+ /**
@var DataType dynamic
*/
public $DataTypeDynamic = true;
Modified: trunk/catalog/common/classes/datatype_drivers/Data_product.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_product.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/common/classes/datatype_drivers/Data_product.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -24,8 +24,24 @@
'products_id' => 'p' // unique page prodcuts
);
+ /**
+ @var DataType array reg check for control get params , please respect order $reg_anchors
+ */
+ public $reg_check = array(
+ '([0-9]*)', // popup image product
+ '([0-9]*)' // unique page prodcuts
+ );
+
/**
+ @var DataType files for folder /content , please respect order $reg_anchors
+ */
+ public $reg_filenames = array(
+ 'FILENAME_POPUP_IMAGE' => 'popup_image.php', // popup image product
+ 'FILENAME_PRODUCT_INFO' => FILENAME_DEFAULT // unique page prodcuts
+ );
+
+ /**
@var DataType dynamic
*/
public $DataTypeDynamic = true;
@@ -34,7 +50,13 @@
@brief constructor
*/
function __construct(){
-// $this->mode_active = false;
+
+ // define filename
+ foreach($this->reg_filenames as $key=>$row)
+ if(!defined($key))define($key, $row);
+
+ // define reg for hatcess
+
}
/**
@@ -110,7 +132,39 @@
return $result;
}
+ /**
+ @brief Prepare an dgenere all cache for divers
+ */
+ public function SeoCacheQuery(/*$language_id*/){
+ global $languages_id;
+ $DB=Database::getInstance();
+ $return_array = array();
+ $prod_cache = array();
+
+ if( _test_bool('SEO_ADD_CAT_PARENT') )
+ $res=$DB->query( $sql= "select ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='product' and ftd.language_id = '" . (int)$languages_id. "'" );
+ else
+ $res=$DB->query( $sql="SELECT DISTINCT ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag, cd.categories_cpath from " . TABLE_FULL_TAG . " ft LEFT JOIN ".TABLE_PRODUCTS_TO_CATEGORIES." cd2 ON page_id=cd2.products_id JOIN ".TABLE_CATEGORIES." cd ON cd.categories_id = cd2.categories_id , " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='product' and ftd.language_id = '" . (int)$languages_id. "' GROUP BY ID" );
+
+
+ while ($result =$res->fetchAssoc()){
+ $path = '';
+
+ if(isset($result['categories_cpath']) && !empty($result['categories_cpath'])) {
+ $list = explode('_',$result['categories_cpath']);
+
+ foreach($list as $row )
+ $path .= DataTypes::Getseoquery('c', '', $languages_id).'-';
+ }
+
+ $result['path']= $path . ((isset($result['url']) && !empty($result['url']) )? $result['url'] : $result['tName']) ;
+ $return_array[] = array($result['ID'],$result, 'PRODUCT');
+ }
+
+ return $return_array;
+ }
+
/**
@brief Unique page Content
*/
@@ -139,7 +193,9 @@
}
//! produit nom trouvé
- if ( ($obj_product_info =product_info((int)$_GET['products_id'])) ==false ) tep_redirect(tep_href_link(FILENAME_DEFAULT) );
+ if ( ($obj_product_info =product_info((int)$_GET['products_id'])) ==false )
+ tep_redirect(tep_href_link('','ServerError=404') );
+
$product_info=arrayInfo($obj_product_info);
$page->add_var_page('product_info',$product_info);
Modified: trunk/catalog/common/classes/seo_url.php
===================================================================
--- trunk/catalog/common/classes/seo_url.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/common/classes/seo_url.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -248,7 +248,8 @@
/**
TODO A revoir
*/
-// if (_test_bool( self::$USE_SEO_REDIRECT)) $this->check_redirect();
+// if (_test_bool( self::$USE_SEO_REDIRECT))
+// $this->check_redirect();
@@ -548,6 +549,7 @@
$this->loadMod();
$this->header_tag['canonical']= $this->obj_mode->makeurl(
+ $page,
$language, //['no-rewrite'],
$anchor_type,
$id,
@@ -559,6 +561,7 @@
$this->loadMod(self::$SEO_REWRITE_TYPE);
return $this->obj_mode->makeurl(
+ $page,
$language,
$key,
$id,
@@ -597,6 +600,8 @@
}
}
+ /**
+ */
private function requested_page() {
$protocol = ( (ENABLE_SSL == true) && (getenv('HTTPS') == 'on') )? 'https://' : 'http://';
$current_page = $protocol . $_SERVER['HTTP_HOST'] . ((!empty($_SERVER['REQUEST_URI']))? $_SERVER['REQUEST_URI'] : '');
@@ -692,100 +697,7 @@
}
-
/**
- * \brief Mise en cache des element produits / table TABLE_FULL_TAG
- * @return array
- */
- private function generate_products_cache(){
-
- // var_dump($this->attributes['SEO_ADD_CAT_PARENT']);
-
- // $this->is_cached($this->cache_file . 'products', $is_cached, $is_expired);
- //
- //
- // if ( !$is_cached || $is_expired ) {
- $prod_cache = array();
- // $res=$this->DB->query( "select ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='product' and ftd.language_id = '" . (int)$this->languages_id. "'" );
-
- if(! _test_bool($this->attributes['SEO_ADD_CAT_PARENT']) )
- // $res=$this->DB->query( "select ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag, head_url as url from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='product' and ftd.language_id = '" . (int)$this->languages_id. "'" );
- $res=$this->DB->query( "select ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='product' and ftd.language_id = '" . (int)$this->languages_id. "'" );
-
- else
- // $res=$this->DB->query( $sql="select ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag, head_url as url, cd.categories_cpath from " . TABLE_FULL_TAG . " ft LEFT JOIN ".TABLE_PRODUCTS_TO_CATEGORIES." cd2 ON page_id=cd2.products_id JOIN ".TABLE_CATEGORIES." cd ON cd.categories_id = cd2.categories_id , " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='product' and ftd.language_id = '" . (int)$this->languages_id. "'" );
- $res=$this->DB->query( $sql="SELECT DISTINCT ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag, cd.categories_cpath from " . TABLE_FULL_TAG . " ft LEFT JOIN ".TABLE_PRODUCTS_TO_CATEGORIES." cd2 ON page_id=cd2.products_id JOIN ".TABLE_CATEGORIES." cd ON cd.categories_id = cd2.categories_id , " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='product' and ftd.language_id = '" . (int)$this->languages_id. "' GROUP BY ID" );
- // var_dump($sql);
-
- while ($result =$res->fetchAssoc()){
-
- $path = '';
-
- if(isset($result['categories_cpath']) && !empty($result['categories_cpath'])) {
- $list = explode('_',$result['categories_cpath']);
-
- foreach($list as $row )
- $path .= DataTypes::Getseoquery('c', '', $row, $this->languages_id).'-';
- }
-
- $result['path']= $path . ((isset($result['url']) && !empty($result['url']) )? $result['url'] : $result['tName']) ;
-
- self::GetCacheId($result['ID'],$result,'PRODUCT');
-
- }
-
- }
-
-
- /**
- * \brief Mise en cache des element produits / table TABLE_FULL_TAG
- * @package oscss-2 <www http://www.oscss.org>
- * @author oscim <mail os...@os...> <www http://www.oscim.fr>
- * @return array
- */
- private function generate_categories_cache(){
- $res = $this->DB->query( "select ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='cat' and ftd.language_id = '" . (int)$this->languages_id. "'" );
- while($result = $res->fetchAssoc()){
-// if(!isset(self::$cache['GET_CATEGORIES_P'][$result['ID']])) self::$cache['GET_CATEGORIES_P'][$result['ID']]=$result['parent_id'];
- self::GetCacheId($result['ID'],$result,'CATEGORIES');
- }
- }
-
-
-
-
- /**
- * @version 1
- * @author oscim <mail os...@os...> <www http://www.oscim.fr>
- * @return array
- */
- private function generate_topics_cache(){
-
- if(! _test_bool($this->attributes['SEO_ADD_CAT_PARENT']) )
- // $res=$this->DB->query( "select ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag, head_url as url from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='product' and ftd.language_id = '" . (int)$this->languages_id. "'" );
- $res=$this->DB->query( "select ft.page_id as ID, head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='content' and ftd.language_id = '" . (int)$this->languages_id. "'" );
- else
- // $res=$this->DB->query( $sql="select ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag, head_url as url, cd.categories_cpath from " . TABLE_FULL_TAG . " ft LEFT JOIN ".TABLE_PRODUCTS_TO_CATEGORIES." cd2 ON page_id=cd2.products_id JOIN ".TABLE_CATEGORIES." cd ON cd.categories_id = cd2.categories_id , " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='product' and ftd.language_id = '" . (int)$this->languages_id. "'" );
- $res=$this->DB->query( $sql="SELECT DISTINCT ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag, cd.categories_cpath from " . TABLE_FULL_TAG . " ft LEFT JOIN ".TABLE_CONTENT_TO_CATEGORIES." cd2 ON page_id=cd2.content_id JOIN ".TABLE_CATEGORIES." cd ON cd.categories_id = cd2.categories_id , " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='content' and ftd.language_id = '" . (int)$this->languages_id. "' GROUP BY ID" );
-
- while ($result =$res->fetchAssoc()){
-
- $path = '';
-
- if(isset($result['categories_cpath']) && !empty($result['categories_cpath'])) {
- $list = explode('_',$result['categories_cpath']);
-
- foreach($list as $row )
- $path .= DataTypes::Getseoquery('c', '', $row, $this->languages_id).'-';
- }
-
- $result['path']= $path . ((isset($result['url']) && !empty($result['url']) )? $result['url'] : $result['tName']) ;
-
- self::GetCacheId($result['ID'],$result,'TOPICS');
- }
- }
-
- /**
* @fn self::GetCacheId($id,$result,$type)
* @brief Ajout et/ou recup le cache
* @param $id
Modified: trunk/catalog/common/modules/core/seo_modrewrite/SeoR_byfolder.php
===================================================================
--- trunk/catalog/common/modules/core/seo_modrewrite/SeoR_byfolder.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/common/modules/core/seo_modrewrite/SeoR_byfolder.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -25,7 +25,7 @@
public $extension ;
/**
- @brief
+ @brief construct
*/
function __construct(){
@@ -36,10 +36,12 @@
$this->separator = '/';
}
+
+
/**
@brief create url
*/
- function makeurl($lang, $key, $id, $text='',$ext=''){
+ function makeurl($page,$lang, $key, $id, $text='',$ext=''){
$base = explode(' ',trim($this->mask));
$tans = array_flip($base);
@@ -78,18 +80,118 @@
/**
- @brief
+ @brief Create dynamic section htaccess based on datatypes
*/
- function GetHtaccess(){
+ function GetHtaccess($object){
+
+ $reg_lg = '([a-z]{2,3}_[A-Z]{2,3})';
+ $reg_text = '(.*)';
+ $reg_ext = '.'.$this->extension;
+
+ $d = $e = ' ';
+ $tmp = array();
/**
Chargement dynamique de tous les datatypes, et generation des regle associé pour chaque type
Prendre en compte la gestion des langue dans ces regle
*/
+
+ $static = '
+## Retro-compatibilité
+ ## Account specific pages
+ RewriteRule ^create_account.(php|'.$this->extension.')$ create_account.php?%{QUERY_STRING} [L,QSA]
+ RewriteRule ^(.*)account.(php|'.$this->extension.')$ account.php?%{QUERY_STRING} [L,QSA]
+ RewriteRule ^(.*)account(_([a-z_]*)).(php|'.$this->extension.')$ account.php?action=$3&%{QUERY_STRING} [L,QSA]
+ RewriteRule ^address_([a-z_]*).php$ account.php?aca_mod=address_book&aca_type=account&aca_action=display_view&%{QUERY_STRING}
+
+
+## RETRO - COMPATIBILITE
+## Move images/ Or images/imagecache/ in document.php?.. if image not defined id in db table
+ # RewriteRule ^images/imagecache/([0-9]*)x([0-9]*)[_](.*)\.([a-z]{3,4})[_](.*)$ document.php?mod=img&i=$3.$4&w=$1&h=$2 [R=301]
+ RewriteRule ^images/(.*)$ document.php?mod=img&i=$1&%{QUERY_STRING} [R=301]
+';
+
+
+ $i = 0;
+ foreach($object as $k=>$r){
+
+ $base = array();
+ $replace = array();
+
+ $obj = new objectInfo($r);
+
+ if(isset($obj->anchor)){
+
+ $t = 0;
+ foreach($obj->check as $key=>$row){
+ $base[]='%CHECK_'.$t.'_%';
+ $replace[]=$row;
+ $t++;
+ }
+
+ $t = 0;
+ foreach($obj->pages as $key=>$row){
+ $base[]='%PAGE_REPLACE_'.$t.'_%';
+ $replace[]=$row;
+ $t++;
+ }
+
+ $t = 0;
+ foreach($obj->anchor as $key=>$row){
+ $tmp[$i] = "\n\n## Datatype - ".$k."";
+ $i++;
+ $tmp[$i] = str_replace(
+ $base,
+ $replace,
+ 'RewriteRule ^'. $reg_lg . $this->separator . $row . $this->separator . '%CHECK_'.$t.'_%' . $this->separator . $reg_text . $reg_ext ."$ %PAGE_REPLACE_".$t."_%?" . $key . "=$2&%{QUERY_STRING} [L] "
+ );
+ $i++;
+ $tmp[$i] = str_replace(
+ $base,
+ $replace,
+ 'RewriteRule ^'. $row . $this->separator . '%CHECK_'.$t.'_%' . $this->separator . $reg_text . $reg_ext ."$ %PAGE_REPLACE_".$t."_%?" . $key . "=$1&%{QUERY_STRING} [L] "
+ );
+ $i++;
+ $t++;
+ }
+ }
+ if(isset($obj->_static)){
+ $val = $obj->_static;
+ if(isset($val['deb'])){
+ $d .= "\n## Datatype - ".$k."";
+ $d .= str_replace(
+ array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%') ,
+ array(DIR_WS_CATALOG , $this->extension , $this->separator ) ,
+ $val['deb']
+ ) ."";
+ }
+ if(isset($val['end'])){
+ $e .= "\n## Datatype - ".$k."";
+ $e .= str_replace(
+ array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%') ,
+ array(DIR_WS_CATALOG , $this->extension , $this->separator ) ,
+ $val['end']
+ ) ."";
+ }
+ }
+ }
+
+ return $d . $static . implode("\n", $tmp) .$e;
}
-
+ /**
+ @brief Description this module for back-office configuration
+ @return object result
+ */
+ function GetDescription(){
+ $s = new stdClass();
+ $s->code = substr(__CLASS__ , strlen('SeoR_') );
+ $s->title = __('byfolder seo mod rewrite title');
+ $s->description = __('byfolder seo mod rewrite description');
+ $s->sample = 'fr_FR/p/89/le-meilleur-produit.html';
+ return $s;
+ }
}
Modified: trunk/catalog/common/modules/core/seo_modrewrite/SeoR_classic.php
===================================================================
--- trunk/catalog/common/modules/core/seo_modrewrite/SeoR_classic.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/common/modules/core/seo_modrewrite/SeoR_classic.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -8,7 +8,7 @@
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
-
+error_reporting(E_ALL);
class SeoR_classic {
/**
@@ -25,7 +25,7 @@
public $extension ;
/**
- @brief
+ @brief construct
*/
function __construct(){
@@ -36,10 +36,11 @@
$this->separator = '-';
}
+
/**
@brief create url
*/
- function makeurl($lang, $key, $id, $text='',$ext=''){
+ function makeurl($page,$lang, $key, $id, $text='',$ext=''){
$base = explode(' ',trim($this->mask));
$tans = array_flip($base);
@@ -77,18 +78,121 @@
/**
- @brief
+ @brief Create dynamic section htaccess based on datatypes
*/
- function GetHtaccess(){
+ function GetHtaccess($object){
+
+ $reg_lg = '([a-z]{2,3}_[A-Z]{2,3})';
+ $reg_text = '(.*)';
+ $reg_ext = '.'.$this->extension;
+
+ $d = $e = ' ';
+ $tmp = array();
/**
Chargement dynamique de tous les datatypes, et generation des regle associé pour chaque type
Prendre en compte la gestion des langue dans ces regle
*/
+
+ $static = '
+## Retro-compatibilité
+ ## Account specific pages
+ RewriteRule ^create_account.(php|'.$this->extension.')$ create_account.php?%{QUERY_STRING} [L,QSA]
+ RewriteRule ^(.*)account.(php|'.$this->extension.')$ account.php?%{QUERY_STRING} [L,QSA]
+ RewriteRule ^(.*)account(_([a-z_]*)).(php|'.$this->extension.')$ account.php?action=$3&%{QUERY_STRING} [L,QSA]
+ RewriteRule ^address_([a-z_]*).php$ account.php?aca_mod=address_book&aca_type=account&aca_action=display_view&%{QUERY_STRING}
+
+
+
+## RETRO - COMPATIBILITE
+## Move images/ Or images/imagecache/ in document.php?.. if image not defined id in db table
+ # RewriteRule ^images/imagecache/([0-9]*)x([0-9]*)[_](.*)\.([a-z]{3,4})[_](.*)$ document.php?mod=img&i=$3.$4&w=$1&h=$2 [R=301]
+ RewriteRule ^images/(.*)$ document.php?mod=img&i=$1&%{QUERY_STRING} [R=301]
+';
+
+
+ $i = 0;
+ foreach($object as $k=>$r){
+
+ $base = array();
+ $replace = array();
+
+ $obj = new objectInfo($r);
+
+ if(isset($obj->anchor)){
+
+ $t = 0;
+ foreach($obj->check as $key=>$row){
+ $base[]='%CHECK_'.$t.'_%';
+ $replace[]=$row;
+ $t++;
+ }
+
+ $t = 0;
+ foreach($obj->pages as $key=>$row){
+ $base[]='%PAGE_REPLACE_'.$t.'_%';
+ $replace[]=$row;
+ $t++;
+ }
+
+ $t = 0;
+ foreach($obj->anchor as $key=>$row){
+ $tmp[$i] = "\n\n## Datatype - ".$k."";
+ $i++;
+ $tmp[$i] = str_replace(
+ $base,
+ $replace,
+ 'RewriteRule ^'. $reg_lg . $this->separator . $row . $this->separator . '%CHECK_'.$t.'_%' . $this->separator . $reg_text . $reg_ext ."$ %PAGE_REPLACE_".$t."_%?" . $key . "=$2&%{QUERY_STRING} [L] "
+ );
+ $i++;
+ $tmp[$i] = str_replace(
+ $base,
+ $replace,
+ 'RewriteRule ^'. $row . $this->separator . '%CHECK_'.$t.'_%' . $this->separator . $reg_text . $reg_ext ."$ %PAGE_REPLACE_".$t."_%?" . $key . "=$1&%{QUERY_STRING} [L] "
+ );
+ $i++;
+ $t++;
+ }
+ }
+ if(isset($obj->_static)){
+ $val = $obj->_static;
+ if(isset($val['deb']) && !empty($val['deb']) ){
+ $d .= "\n## Datatype - ".$k."";
+ $d .= str_replace(
+ array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%') ,
+ array(DIR_WS_CATALOG , $this->extension , $this->separator ) ,
+ $val['deb']
+ ) ."";
+ }
+ if(isset($val['end'])){
+ $e .= "\n## Datatype - ".$k."";
+ $e .= str_replace(
+ array('%_DIR_WS_CATALOG_%', '%_EXT_%', '%_SEPARATOR_%') ,
+ array(DIR_WS_CATALOG , $this->extension , $this->separator ) ,
+ $val['end']
+ ) ."";
+ }
+ }
+ }
+
+ return $d . $static . implode("\n", $tmp) .$e;
}
+
+ /**
+ @brief Description this module for back-office configuration
+ @return object result
+ */
+ function GetDescription(){
+ $s = new stdClass();
+ $s->code = substr(__CLASS__ , strlen('SeoR_') );
+ $s->title = __('classic seo mod rewrite title');
+ $s->description = __('classic seo mod rewrite description');
+ $s->sample = 'p-89-le-meilleur-produit.html';
+ return $s;
+ }
}
Modified: trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php
===================================================================
--- trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -12,6 +12,11 @@
class SeoR_no {
/**
+ @var string no/rewrite, for determine use Get quick flag or normal flag
+ */
+ public $mode ;
+
+ /**
@var format sprintf for construct
*/
public $mask ;
@@ -27,10 +32,12 @@
public $extension ;
/**
- @brief
+ @brief construct
*/
function __construct(){
+ $this->mode = false;
+
$this->mask = '%_key_% %_id_%';
$this->extension = false;
@@ -38,10 +45,13 @@
$this->separator = '=';
}
+
+
/**
@brief create url
+ @note use in seoClass
*/
- function makeurl($lang, $key, $id, $text='',$ext=''){
+ function makeurl($page,$lang, $key, $id, $text='',$ext=''){
$base = explode(' ',trim($this->mask));
$replace = array(
@@ -58,10 +68,24 @@
/**
@brief
+ @note use in Backoffice
*/
function GetHtaccess(){
}
+ /**
+ @brief Description this module for back-office configuration
+ @note use in Backoffice
+ @return object result
+ */
+ function GetDescription(){
+ $s = new stdClass();
+ $s->code = substr(__CLASS__ , strlen('SeoR_') );
+ $s->title = __('no seo mod rewrite title');
+ $s->description = __('no seo mod rewrite description');
+ $s->sample = 'index.php?product_id=89';
+ return $s;
+ }
}
Modified: trunk/catalog/includes/filenames.php
===================================================================
--- trunk/catalog/includes/filenames.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/includes/filenames.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -45,9 +45,8 @@
define('FILENAME_LOGIN', 'login.php');
define('FILENAME_LOGOFF', 'logoff.php');
define('FILENAME_PASSWORD_FORGOTTEN', 'password_forgotten.php');
- define('FILENAME_POPUP_IMAGE', 'popup_image.php');
- define('FILENAME_PRINT_CATALOG', 'print_catalog.php');
+
define('FILENAME_PRODUCT_LISTING', 'product_listing.php');
define('FILENAME_NEW_PRODUCTS', 'new_products.php');
@@ -74,11 +73,7 @@
/* One Page Checkout - BEGIN */
define('FILENAME_CHECKOUT', 'checkout.php');
- /* Retrocompatibilite */
- define('FILENAME_CONTENT', FILENAME_DEFAULT);
- define('FILENAME_PRODUCT_INFO', FILENAME_DEFAULT);
-
/**
@var File for register user
Add name for contraint login in table_file_modules.php
Modified: trunk/catalog/index.php
===================================================================
--- trunk/catalog/index.php 2012-03-31 16:06:48 UTC (rev 4116)
+++ trunk/catalog/index.php 2012-04-01 22:07:35 UTC (rev 4117)
@@ -36,11 +36,13 @@
elseif ($category_depth == 'top') {
- if( ($dyntype = DataTypes::is_type('unique')) && $dyntype != false )
+ if( ($dyntype = DataTypes::is_type('unique')) && $dyntype != false ){
$page_content = $dyntype->FO_load_page();
+ }
else{
+ header("Status: 404 Not Found");
header("HTTP/1.0 301 Moved Permanently");
- tep_redirect(tep_href_link('','?error=404'));
+ tep_redirect(tep_href_link('','?ServerError=404'));
}
unset($category_cfils,$category_pfils,$category_parent);
@@ -61,7 +63,7 @@
elseif ( $page->GetVar('category_depth') == 'nofound') {
header("Status: 404 Not Found");
header("HTTP/1.0 301 Moved Permanently");
- tep_redirect(tep_href_link('error/404.html'));
+ tep_redirect(tep_href_link('','?ServerError=404'));
}
/**
@@ -90,8 +92,9 @@
// $breadcrumb=$page->return_object('breadcrumb');
// }
else{
+ header("Status: 404 Not Found");
header("HTTP/1.0 301 Moved Permanently");
- tep_redirect(tep_href_link('','?error=404'));
+ tep_redirect(tep_href_link('','?ServerError=404'));
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-31 16:06:56
|
Revision: 4116
http://oscss.svn.sourceforge.net/oscss/?rev=4116&view=rev
Author: oscim
Date: 2012-03-31 16:06:48 +0000 (Sat, 31 Mar 2012)
Log Message:
-----------
Correction diverse
externalisation de la gestion des mode seo en module enfants
debut refonte generation des htaccess pour l'ajustement au datatype dynamqiue et au mode selectionn?\195?\169
ajustement var configuration associ?\195?\169
Modified Paths:
--------------
trunk/catalog/admin/includes/classes/emailUtility.php
trunk/catalog/common/classes/seo_url.php
trunk/catalog/includes/filenames.php
trunk/catalog/install/includes/sql/mysql/data/91_osc_configuration.sql
trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/20_osc_status.sql
trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/40_osc_categories.sql
Added Paths:
-----------
trunk/catalog/common/modules/core/seo_modrewrite/
trunk/catalog/common/modules/core/seo_modrewrite/SeoR_byfolder.php
trunk/catalog/common/modules/core/seo_modrewrite/SeoR_classic.php
trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php
trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/91_osc_configuration.sql
Modified: trunk/catalog/admin/includes/classes/emailUtility.php
===================================================================
--- trunk/catalog/admin/includes/classes/emailUtility.php 2012-03-31 12:23:23 UTC (rev 4115)
+++ trunk/catalog/admin/includes/classes/emailUtility.php 2012-03-31 16:06:48 UTC (rev 4116)
@@ -230,8 +230,8 @@
$t[]=array('id'=>'', 'text'=>'--' );
while ($file = $dirs->read()) {
if (substr("$file", -4) == '.tpl') {
- $name=substr("$file",0,strlen($file)-4);
- $t[]=array('id'=>$file, 'text'=>$name );
+ $name=substr("$file",0,strlen($file)-4);
+ $t[]=array('id'=>$file, 'text'=>$name );
}
}
$dirs->close();
Modified: trunk/catalog/common/classes/seo_url.php
===================================================================
--- trunk/catalog/common/classes/seo_url.php 2012-03-31 12:23:23 UTC (rev 4115)
+++ trunk/catalog/common/classes/seo_url.php 2012-03-31 16:06:48 UTC (rev 4116)
@@ -127,7 +127,7 @@
/**
Interne static function
*/
- protected static $extention;
+ protected static $extension;
protected static $origUrl;
@@ -188,7 +188,7 @@
/**
Conf
*/
- self::$SEO_REWRITE_TYPE=defined('SEO_REWRITE_TYPE') ? SEO_REWRITE_TYPE : 'false';
+ self::$SEO_REWRITE_TYPE=defined('SEO_REWRITE_TYPE') ? SEO_REWRITE_TYPE : 'no';
self::$USE_SEO_REDIRECT= 'true'; //defined('USE_SEO_REDIRECT') ? USE_SEO_REDIRECT : 'false';
self::$USE_SEO_CACHE_GLOBAL=defined('USE_SEO_CACHE_GLOBAL') ? USE_SEO_CACHE_GLOBAL : 'false';
@@ -212,27 +212,12 @@
// call childs reg_anchors by datatyep module
$this->reg_anchors = DataTypes::GetRegAnchor(array());
-// 'type_object' => 'to',
$this->reg_anchors['type_object'] = 'to';
+ // load config module
+ $this->loadMod(self::$SEO_REWRITE_TYPE);
- /**
- @remarks mask pour reecriture
- %1$s => key
- %2$s => id
- %3$s => title
- %4$s => ext
- */
- $this->reg_mask['no-rewrite'] = '%1$s=%2$s';
- $this->reg_mask['Rewrite'] = '%2$s-%1$s-%3$s.%4$s';
- $this->reg_mask['Rewrite-mode2'] = '%1$s/%2$s/%3$s.%4$s';
- /// ext apres reecriture
- $this->reg_ext['no-rewrite']='html';
- $this->reg_ext['Rewrite']='html';
- $this->reg_ext['Rewrite-mode2']='html';
-
-
$this->performance = array('NUMBER_URLS_GENERATED' => 0,
'NUMBER_QUERIES' => 0,
'CACHE_QUERY_SAVINGS' => 0,
@@ -242,6 +227,7 @@
'TIME_PER_URL' => 0,
'QUERIES' => array()
);
+
//ojp generate_link_cache
if (_test_bool(self::$USE_SEO_CACHE_GLOBAL)){
$this->cache_file = 'seo_urls_v2_';
@@ -257,15 +243,6 @@
$this->GenerateCache_generic();
-
-// if ( _test_bool(self::$USE_SEO_CACHE_PRODUCTS )) $this->generate_products_cache();
-// if ( _test_bool(self::$USE_SEO_CACHE_CATEGORIES)) $this->generate_categories_cache();
- // if ( _test_bool($this->attributes['USE_SEO_CACHE_MANUFACTURERS'] ) ) $this->generate_manufacturers_cache();
- // if ( _test_bool($this->attributes['USE_SEO_CACHE_ARTICLES'] ) && defined('TABLE_ARTICLES_DESCRIPTION'))
- // $this->generate_articles_cache();
-// if ( _test_bool(self::$USE_SEO_CACHE_TOPICS) && defined('TABLE_CONTENT_DESCRIPTION')) $this->generate_topics_cache();
-// $this->generate_divers_cache();
-// if ( _test_bool(self::$USE_SEO_CACHE_LINKS) ) $this->generate_links_cache();
}
/**
@@ -279,25 +256,10 @@
/**
* \brief Prepa static var
*/
- self::$extention= (!empty($this->reg_ext[self::$SEO_REWRITE_TYPE]))? $this->reg_ext[self::$SEO_REWRITE_TYPE] : '';
-
self::$base_url = HTTP_SERVER . DIR_WS_HTTP_CATALOG;
self::$base_url_ssl = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG;
self::$origUrl = strip_tags($this->requested_page());
-
- /**
- *\brief Base tag defaut
- */
- $sql = "select head_title_tag , head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='generic' and ft.page_id = 'generic' and ftd.language_id = '" . (int)$this->languages_id. "' Limit 1";
-
- $query=$this->DB->query( $sql );
- $res=$query->fetchAssoc();
- define('HEAD_TITLE_TAG_ALL', $res['head_title_tag']);
- define('HEAD_DESC_TAG_ALL', $res['head_desc_tag']);
- define('HEAD_KEY_TAG_ALL', $res['head_keywords_tag']);
-
-
}
/**
@@ -309,15 +271,8 @@
return self::$_instance;
}
- /**
- @brief Reset
- */
-// public static function resetInstance($languages_id='') {
-// if(empty($languages_id)) global $languages_id;
-// self::$_instance = null;
-// return self::getInstance($languages_id);
-// }
+
/**
* \brief Function to return SEO URL link SEO'd with stock generattion for error fallback
* @author Bobby Easland
@@ -337,8 +292,6 @@
$link = ($connection == 'NONSSL' || !(getenv('HTTPS') == 'on') )? self::$base_url : self::$base_url_ssl;
$separator = '?';
-
-
if ($this->not_null($parameters)) $link .= $this->parse_parameters($page, $parameters ,$connection , $separator);
else $link .= $this->parse_parameters($page, (!empty($parameters)?$parameters.'&':'') .'divers='.substr($page,0,strlen($page)-4) ,$connection , $separator); //$page;
@@ -476,7 +429,7 @@
*/
protected function parse_parameters($page, $params ,$connection , &$separator){
$params=str_replace('&','&',$params);
-// var_dump($page,$params);
+
if(!empty($params))
$p = @explode('&', $params);
else
@@ -493,17 +446,10 @@
// specific static page diver, value is file name static
if($p2[0] =='d' && substr($p2[1],-3) =='php'){
$value = substr($p2[1],0,-4);
-
-// if( in_array($value, array(/*'index',*/ 'home')) ){
-// var_dump($page,$params);
-// $p2[1] = 'home';
-// $p2[0] = 'h';
-// }
-// else
- $p2[1] = $value;
+ $p2[1] = $value;
}
- $p3[$p2[0]]=(isset($p2[1])? $p2[1] : '' );
+ $p3[$p2[0]]=(isset($p2[1])? $p2[1] : '' );
}
$check=array_values($this->reg_anchors);
@@ -586,8 +532,8 @@
*/
private function make_url($page, $string, $anchor_type, $id, $separator){
-
- if(self::$SEO_REWRITE_TYPE =='no-rewrite')
+ global $language;
+ if(self::$SEO_REWRITE_TYPE =='no')
$key = $anchor_type;
else
$key = $this->reg_anchors[$anchor_type];
@@ -597,22 +543,28 @@
else
$cpath = '';
- if(self::$htexe)
- $this->header_tag['canonical']= sprintf(
- $this->reg_mask['no-rewrite'],
+ // create canonical url, no rewrite , mode 'no'
+ if(self::$htexe){
+ $this->loadMod();
+
+ $this->header_tag['canonical']= $this->obj_mode->makeurl(
+ $language, //['no-rewrite'],
$anchor_type,
$id,
$cpath.$string,
- self::$extention
+ self::$extension
);
+ }
- return sprintf(
- $this->reg_mask[self::$SEO_REWRITE_TYPE],
+ $this->loadMod(self::$SEO_REWRITE_TYPE);
+
+ return $this->obj_mode->makeurl(
+ $language,
$key,
$id,
$cpath.$string,
- self::$extention
- );
+ self::$extension
+ );
}
@@ -629,7 +581,7 @@
$parts = explode("-", self::$origUrl);
if (isset($parts[count($parts) - 2]) && $parts[count($parts) - 2] == $type){ //make sure it is the correct type for this link
- if (($pos = strpos($parts[count($parts) - 1], self::$extention)) !== FALSE) $id = substr($parts[count($parts) - 1], 0, $pos); //strip .html
+ if (($pos = strpos($parts[count($parts) - 1], self::$extension)) !== FALSE) $id = substr($parts[count($parts) - 1], 0, $pos); //strip .html
$catalog = DIR_WS_HTTP_CATALOG;
if ($catalog[0] == '/') substr(DIR_WS_HTTP_CATALOG, 1); //strip leading slash if present
@@ -692,15 +644,51 @@
/**
+ @fn loadMod($mod = 'no')
+ @brief chargement sous module de reecriture
+ @param $mod string name module , defaut is no for no rewrite and retrun normal path, but all class seo active,
+ @note use no for test or debugg AND retrun canonical url
+ @return none
+ */
+ private function loadMod($mod = 'no'){
+ if(isset($this->mod) && $this->mod == $mod)
+ return $this->obj_mode;
+
+ $this->mod = $mod;
+
+ // Load Childs mod for create rules
+ $mode= 'SeoR_'.$mod;
+ include_once( DIR_FS_CATALOG . DIR_WS_COMMON. 'modules/core/seo_modrewrite/'. $mode. '.php' );
+ $this->obj_mode = new $mode();
+
+ $this->reg_mask = $this->obj_mode->mask;
+ self::$extension = $this->obj_mode->extension;
+ }
+
+
+ /**
@brief genere all cache for Datatype data
*/
private function GenerateCache_generic(){
- $result = DataTypes::Getseocache($this->language_id);
+ $result = DataTypes::Getseocache($this->languages_id);
foreach($result as $row){
- self::GetCacheId($row[0],$row[1],$row[2]);
+ if(is_array($row) && count($row) ==3)
+ self::GetCacheId($row[0],$row[1],$row[2]);
}
+
+ /**
+ *\brief Base tag defaut
+ */
+ $sql = "select head_title_tag , head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='generic' and ft.page_id = 'generic' and ftd.language_id = '" . (int)$this->languages_id. "' Limit 1";
+
+ $query=$this->DB->query( $sql );
+ $res=$query->fetchAssoc();
+
+ define('HEAD_TITLE_TAG_ALL', $res['head_title_tag']);
+ define('HEAD_DESC_TAG_ALL', $res['head_desc_tag']);
+ define('HEAD_KEY_TAG_ALL', $res['head_keywords_tag']);
}
Added: trunk/catalog/common/modules/core/seo_modrewrite/SeoR_byfolder.php
===================================================================
--- trunk/catalog/common/modules/core/seo_modrewrite/SeoR_byfolder.php (rev 0)
+++ trunk/catalog/common/modules/core/seo_modrewrite/SeoR_byfolder.php 2012-03-31 16:06:48 UTC (rev 4116)
@@ -0,0 +1,95 @@
+<?php if (!defined('HTTP_SERVER')) die('You can not access this file directly!');
+/**
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
+ @portion code Copyright (c) 2002 osCommerce
+ @package osCSS-2 <www http://www.oscss.org>
+ @version 2.1.1
+ @date 16/03/2012, 16:16
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+*/
+
+class SeoR_byfolder {
+
+ /**
+ @var format for construct , not use separator, but use space
+ */
+ public $mask ;
+ /**
+ @var string separator for mask
+ */
+ public $separator ;
+ /**
+ @var string file extension
+ */
+ public $extension ;
+
+ /**
+ @brief
+ */
+ function __construct(){
+
+ $this->mask = '%_lang_% %_key_% %_id_% %_text_% %_ext_%';
+
+ $this->extension = 'html';
+
+ $this->separator = '/';
+ }
+
+ /**
+ @brief create url
+ */
+ function makeurl($lang, $key, $id, $text='',$ext=''){
+ $base = explode(' ',trim($this->mask));
+ $tans = array_flip($base);
+
+ if($text !=false && !empty($text)) {
+ $new_txt = $text;
+ }
+ else{
+ $new_txt = '';
+ unset($tans['%_text_%']);
+ }
+
+ if($ext !=false && !empty($ext)) {
+ $new_ext = '.'.$ext;
+ unset($tans['%_ext_%']);
+ }
+ else{
+ $new_ext = '';
+ unset($tans['%_ext_%']);
+ }
+
+ $replace = array(
+ $lang,
+ $key,
+ $id,
+ $new_txt,
+ '' /*$new_ext*/
+ );
+
+ return str_replace(
+ $base,
+ $replace,
+ implode($this->separator, array_flip($tans)) . $new_ext
+ );
+ }
+
+
+
+ /**
+ @brief
+ */
+ function GetHtaccess(){
+
+
+ /**
+ Chargement dynamique de tous les datatypes, et generation des regle associé pour chaque type
+
+ Prendre en compte la gestion des langue dans ces regle
+ */
+
+ }
+
+
+}
Added: trunk/catalog/common/modules/core/seo_modrewrite/SeoR_classic.php
===================================================================
--- trunk/catalog/common/modules/core/seo_modrewrite/SeoR_classic.php (rev 0)
+++ trunk/catalog/common/modules/core/seo_modrewrite/SeoR_classic.php 2012-03-31 16:06:48 UTC (rev 4116)
@@ -0,0 +1,94 @@
+<?php if (!defined('HTTP_SERVER')) die('You can not access this file directly!');
+/**
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
+ @portion code Copyright (c) 2002 osCommerce
+ @package osCSS-2 <www http://www.oscss.org>
+ @version 2.1.1
+ @date 16/03/2012, 16:16
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+*/
+
+class SeoR_classic {
+
+ /**
+ @var format for construct , not use separator, but use space
+ */
+ public $mask ;
+ /**
+ @var string separator for mask
+ */
+ public $separator ;
+ /**
+ @var string file extension
+ */
+ public $extension ;
+
+ /**
+ @brief
+ */
+ function __construct(){
+
+ $this->mask = '%_key_% %_id_% %_text_% %_ext_%';
+
+ $this->extension = 'html';
+
+ $this->separator = '-';
+ }
+
+ /**
+ @brief create url
+ */
+ function makeurl($lang, $key, $id, $text='',$ext=''){
+ $base = explode(' ',trim($this->mask));
+ $tans = array_flip($base);
+
+ if($text !=false && !empty($text)) {
+ $new_txt = $text;
+ }
+ else{
+ $new_txt = '';
+ unset($tans['%_text_%']);
+ }
+
+ if($ext !=false && !empty($ext)) {
+ $new_ext = '.'.$ext;
+ unset($tans['%_ext_%']);
+ }
+ else{
+ $new_ext = '';
+ unset($tans['%_ext_%']);
+ }
+
+ $replace = array(
+ $key,
+ $id,
+ $new_txt,
+ '' /*$new_ext*/
+ );
+
+ return str_replace(
+ $base,
+ $replace,
+ implode($this->separator, array_flip($tans)) . $new_ext
+ );
+ }
+
+
+
+ /**
+ @brief
+ */
+ function GetHtaccess(){
+
+
+ /**
+ Chargement dynamique de tous les datatypes, et generation des regle associé pour chaque type
+
+ Prendre en compte la gestion des langue dans ces regle
+ */
+
+ }
+
+
+}
Added: trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php
===================================================================
--- trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php (rev 0)
+++ trunk/catalog/common/modules/core/seo_modrewrite/SeoR_no.php 2012-03-31 16:06:48 UTC (rev 4116)
@@ -0,0 +1,67 @@
+<?php if (!defined('HTTP_SERVER')) die('You can not access this file directly!');
+/**
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
+ @portion code Copyright (c) 2002 osCommerce
+ @package osCSS-2 <www http://www.oscss.org>
+ @version 2.1.1
+ @date 16/03/2012, 16:16
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+*/
+
+class SeoR_no {
+
+ /**
+ @var format sprintf for construct
+ */
+ public $mask ;
+
+ /**
+ @var string separator for mask
+ */
+ public $separator ;
+
+ /**
+ @var string file extension
+ */
+ public $extension ;
+
+ /**
+ @brief
+ */
+ function __construct(){
+
+ $this->mask = '%_key_% %_id_%';
+
+ $this->extension = false;
+
+ $this->separator = '=';
+ }
+
+ /**
+ @brief create url
+ */
+ function makeurl($lang, $key, $id, $text='',$ext=''){
+ $base = explode(' ',trim($this->mask));
+
+ $replace = array(
+ $key,
+ $id,
+ );
+
+ return str_replace(
+ $base,
+ $replace,
+ implode($this->separator, $base)
+ );
+ }
+
+ /**
+ @brief
+ */
+ function GetHtaccess(){
+
+ }
+
+
+}
Modified: trunk/catalog/includes/filenames.php
===================================================================
--- trunk/catalog/includes/filenames.php 2012-03-31 12:23:23 UTC (rev 4115)
+++ trunk/catalog/includes/filenames.php 2012-03-31 16:06:48 UTC (rev 4116)
@@ -99,13 +99,11 @@
/**
@var File for register SEO
Add name for seo url in table_file_modules.php
+ Note use static driver datatype (diver)
*/
$seo_pages=array(
FILENAME_DEFAULT,
- FILENAME_POPUP_IMAGE,
-// FILENAME_PRODUCT_INFO,
-// FILENAME_CONTENT,
// FILENAME_ADVANCED_SEARCH,
FILENAME_PRODUCTS_NEW,
FILENAME_SMALL_PRICE,
Modified: trunk/catalog/install/includes/sql/mysql/data/91_osc_configuration.sql
===================================================================
--- trunk/catalog/install/includes/sql/mysql/data/91_osc_configuration.sql 2012-03-31 12:23:23 UTC (rev 4115)
+++ trunk/catalog/install/includes/sql/mysql/data/91_osc_configuration.sql 2012-03-31 16:06:48 UTC (rev 4116)
@@ -230,7 +230,7 @@
INSERT INTO osc_configuration ( configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function, configuration_type) VALUES ( 'USE_SEO_CACHE_CATEGORIES_S', 'USE_SEO_CACHE_CATEGORIES', 'true', 'USE_SEO_CACHE_CATEGORIES_L', 16, 7, NOW(), NOW(), NULL, 'tep_cfg_select_option(array(\'true\', \'false\'),', 2);
INSERT INTO osc_configuration ( configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function, configuration_type) VALUES ( 'USE_SEO_CACHE_TOPICS_S', 'USE_SEO_CACHE_TOPICS', 'true', 'USE_SEO_CACHE_TOPICS_L', 16, 8, NOW(), NOW(), NULL, 'tep_cfg_select_option(array(\'true\', \'false\'),', 2);
INSERT INTO osc_configuration ( configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function, configuration_type) VALUES ( 'USE_SEO_CACHE_LINKS_S', 'USE_SEO_CACHE_LINKS', 'true', 'USE_SEO_CACHE_LINKS_L', 16, 9, NOW(), NOW(), NULL, 'tep_cfg_select_option(array(\'true\', \'false\'),', 2);
-INSERT INTO osc_configuration ( configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function, configuration_type) VALUES ( 'SEO_REWRITE_TYPE_S', 'SEO_REWRITE_TYPE', 'Rewrite-mode2', 'SEO_REWRITE_TYPE_L', 16, 10, NOW(), NOW(), NULL, 'tep_cfg_select_option_bis(array(''no-rewrite''=>''Pas de rewriting, le htaccess n est pas necessaire'',''Rewrite''=>'' URL: titre-p-12.html'',''Rewrite-mode2''=>'' URL: p/12/titre.html''),', 2);
+INSERT INTO osc_configuration ( configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function, configuration_type) VALUES ( 'SEO_REWRITE_TYPE_S', 'SEO_REWRITE_TYPE', 'byfolder', 'SEO_REWRITE_TYPE_L', 16, 10, NOW(), NOW(), NULL,NULL, 2);
INSERT INTO osc_configuration ( configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function, configuration_type) VALUES ( 'SEO_CHAR_CONVERT_SET_S', 'SEO_CHAR_CONVERT_SET', 'é=>e,è=>e,à=>a,ù=>u,ë=>e,ï=>i,ê=>e,ô=>o,ö=>o,û=>u,â=>a,ñ=>n,ä=>ae,Ä=>Ae,ü=>ue,Ü=>Ue,ö=>oe,Ö=>Oe,ß=>ss', 'SEO_CHAR_CONVERT_SET_L', 16, 11, NOW(), NOW(), NULL, NULL, 2);
INSERT INTO osc_configuration ( configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function, configuration_type) VALUES ( 'SEO_REMOVE_ALL_SPEC_CHARS_S', 'SEO_REMOVE_ALL_SPEC_CHARS', 'true', 'SEO_REMOVE_ALL_SPEC_CHARS_L', 16, 12, '2010-06-14 14:15:38', '2010-06-14 14:15:38', NULL, 'tep_cfg_select_option(array(\'true\', \'false\'),', 2);
INSERT INTO osc_configuration ( configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, last_modified, date_added, use_function, set_function, configuration_type) VALUES ( 'SEO_URLS_CACHE_RESET_S', 'SEO_URLS_CACHE_RESET', 'false', 'SEO_URLS_CACHE_RESET_L', 16, 13, NOW(), NOW(), 'tep_reset_cache_data_seo_urls', 'tep_cfg_select_option(array(\'reset\', \'false\'),', 2);
Modified: trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/20_osc_status.sql
===================================================================
--- trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/20_osc_status.sql 2012-03-31 12:23:23 UTC (rev 4115)
+++ trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/20_osc_status.sql 2012-03-31 16:06:48 UTC (rev 4116)
@@ -12,4 +12,4 @@
--+######################################################################--+
-UPDATE osc_status SET status_type = 'product' WHERE status_type = 'products_virtual_types'
\ No newline at end of file
+UPDATE osc_status SET status_type = 'product' WHERE status_type = 'products_virtual_types';
\ No newline at end of file
Modified: trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/40_osc_categories.sql
===================================================================
--- trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/40_osc_categories.sql 2012-03-31 12:23:23 UTC (rev 4115)
+++ trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/40_osc_categories.sql 2012-03-31 16:06:48 UTC (rev 4116)
@@ -14,4 +14,4 @@
-UPDATE osc_categories SET categories_datatype = 'product'
\ No newline at end of file
+UPDATE osc_categories SET categories_datatype = 'product' ;
\ No newline at end of file
Added: trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/91_osc_configuration.sql
===================================================================
--- trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/91_osc_configuration.sql (rev 0)
+++ trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/91_osc_configuration.sql 2012-03-31 16:06:48 UTC (rev 4116)
@@ -0,0 +1,15 @@
+--+######################################################################--+
+--| osCSS Open Source E-commerce |
+--+######################################################################--+
+--| Copyright (c) 2005-2012 The osCSS developers |
+--| |
+--| http://www.oscss.org |
+--| Portions Copyright (c) 2003 osCommerce |
+--+######################################################################--+
+--| This source file is subject to version 2.0 of the GPL license, |
+--| available at the following url: |
+--| http://www.oscss.org/ |
+--+######################################################################--+
+
+
+UPDATE osc_configuration SET configuration_value = 'byfolder', set_function = NULL WHERE configuration_key = 'SEO_REWRITE_TYPE';
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-31 12:23:31
|
Revision: 4115
http://oscss.svn.sourceforge.net/oscss/?rev=4115&view=rev
Author: oscim
Date: 2012-03-31 12:23:23 +0000 (Sat, 31 Mar 2012)
Log Message:
-----------
suite centralisation des cache seo dans les drivers datatype et suit developpement
Modified Paths:
--------------
trunk/catalog/admin/includes/modules/pages/header_tags.php
trunk/catalog/common/classes/DataTypes.php
trunk/catalog/common/classes/datatype_drivers/Data_content.php
trunk/catalog/common/classes/datatype_drivers/Data_home.php
trunk/catalog/common/classes/seo_url.php
trunk/catalog/includes/classes/core_page/generic.php
trunk/catalog/install/data/templates/appareil_photo/2cShopHtml5Oscim/Childs_tpl/ssheader.php
trunk/catalog/install/data/templates/appareil_photo/electronix/ssheader.php
trunk/catalog/install/includes/application.php
trunk/catalog/install/includes/classes/core.php
trunk/catalog/install/includes/content/core.base.php
trunk/catalog/install/includes/content/core.configuration.php
trunk/catalog/install/includes/content/core.finition.php
trunk/catalog/install/includes/content/core.installdb.php
trunk/catalog/install/includes/content/core.modes.php
trunk/catalog/install/includes/content/core.template_sample.php
trunk/catalog/install/includes/content/core.update.php
trunk/catalog/install/includes/modele/htaccess.txt
Added Paths:
-----------
trunk/catalog/common/classes/datatype_drivers/Data_diver.php
Removed Paths:
-------------
trunk/catalog/common/classes/datatype_drivers/Data_diver.php
Modified: trunk/catalog/admin/includes/modules/pages/header_tags.php
===================================================================
--- trunk/catalog/admin/includes/modules/pages/header_tags.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/admin/includes/modules/pages/header_tags.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -89,7 +89,10 @@
self::$nameID=(isset($_GET['name'])?$_GET['name'] : '');
self::$action=$actions;
- //! chosse page/generic
+ /**
+ @remarks choose generic For all tags is specific tag no found
+ else choose static page
+ */
$mode_key=(self::$nameID=='generic')? 'generic' : 'page';
switch (self::$action) {
@@ -102,13 +105,13 @@
'page_id' => $_id);
if(isset($com->tag_id)){
- tep_db_perform(TABLE_FULL_TAG, $myarray, 'update', " tag_id='".$com->tag_id."'" );
- $tag_id=$com->tag_id;
+ tep_db_perform(TABLE_FULL_TAG, $myarray, 'update', " tag_id='".$com->tag_id."'" );
+ $tag_id=$com->tag_id;
}
else {
- tep_db_perform(TABLE_FULL_TAG, $myarray);
- $products_query = $DB->query($sql="SELECT tag_id FROM " . TABLE_FULL_TAG . " ft WHERE ft.page_type='".$mode_key."' and ft.page_id = '" . $_id . "' ");
- $tag_id=$products_query->__get('insertId');
+ tep_db_perform(TABLE_FULL_TAG, $myarray);
+ $products_query = $DB->query($sql="SELECT tag_id FROM " . TABLE_FULL_TAG . " ft WHERE ft.page_type='".$mode_key."' and ft.page_id = '" . $_id . "' ");
+ $tag_id=$products_query->__get('insertId');
}
$com=parent::load_post_values($_POST);
@@ -117,10 +120,10 @@
for ($i=0, $n=sizeof(self::$languages); $i<$n; $i++) {
- if(parent::load_db_descr_check($tag_id,self::$languages[$i]['id'])) $action='update';
- else $action='insert';
+ if(parent::load_db_descr_check($tag_id,self::$languages[$i]['id'])) $action='update';
+ else $action='insert';
- parent::insert_db_values($tag_id,$action,$com,self::$languages[$i]['id']);
+ parent::insert_db_values($tag_id,$action,$com,self::$languages[$i]['id']);
}
tep_redirect(tep_href_link(self::FILENAME, 'name='.self::$nameID.'&action=edit'));
Modified: trunk/catalog/common/classes/DataTypes.php
===================================================================
--- trunk/catalog/common/classes/DataTypes.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/common/classes/DataTypes.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -129,6 +129,8 @@
return false;
}
+
+
/**
@brief Get regle anchors in childs module for seo class
@note fontoffice use
@@ -149,7 +151,32 @@
return false;
}
+ /**
+ @brief Get regle anchors in childs module for seo class
+ @note fontoffice use
+ @param $anchor
+ @param $substype
+ @param $id
+ @param $language_id
+ */
+ public static function Getseocache( $language_id){
+ $obj = self::getInstance();
+ $arr = $obj->GetTypeForRootListing();
+ $result = array();
+ foreach(self::$env->modlist as $class=>$module){
+ $type = substr($class, strlen(self::PREFIX));
+
+ //no datatype static page or error
+// if($obj->DataTypeDynamic == true){
+
+ if($module->DataTypeDynamic == true && method_exists($module,'SeoCacheQuery') )
+ $result[$type] = $module->SeoCacheQuery($language_id);
+ }
+ return $result;
+ }
+
+
/**
@brief
*/
Modified: trunk/catalog/common/classes/datatype_drivers/Data_content.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_content.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/common/classes/datatype_drivers/Data_content.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -103,7 +103,27 @@
return $result;
}
+ /**
+ @brief Prepare an dgenere all cache for divers
+ */
+ public function SeoCacheQuery(/*$language_id*/){
+ global $languages_id;
+ $DB=Database::getInstance();
+ $return_array = array();
+ $sql= "select ft.page_id as ID, head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='content' and ftd.language_id = '" . $languages_id. "' " ;
+
+ $res=$DB->query( $sql );
+
+ while ($result =$res->fetchAssoc()){
+ $return_array[] = array ($result['ID'],$result,'CONTENT') ;
+ }
+
+ return $return_array;
+ }
+
+
+
/**
@brief calcul du cpath specifique a ce tyep de donnée
*/
Deleted: trunk/catalog/common/classes/datatype_drivers/Data_diver.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_diver.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/common/classes/datatype_drivers/Data_diver.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -1,150 +0,0 @@
-<?php if (!defined('HTTP_SERVER')) die('You can not access this file directly!');
-/**
- @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
- @portion code Copyright (c) 2002 osCommerce
- @package osCSS-2 <www http://www.oscss.org>
- @version 2.1.1
- @date 16/03/2012, 16:16
- @author oscim <mail aur...@os...> <www http://www.oscim.fr>
- @encode UTF-8
- @brief Use gabarit static html in dir content
- Or form
- OR module aca action and exec
-*/
-
-class Data_diver {
-
-
- /**
- @var DataType string
- */
- public $DataType = 'diver';
-
- /**
- @var DataType array reg for seo class
- */
- public $reg_anchors = array(
- 'divers' => 'd'
- );
-
- /**
- @var DataType dynamic
- */
- public $DataTypeDynamic = false;
-
- /**
- @brief constructor
- */
- function __construct(){
- }
-
- /**
- @brief test si al page est du type produits
- @param $mode le type de control (page/cpath/seo)
- */
- function is_type($mode='unique'){
- switch($mode){
- case 'unique':
-// default:
- if( (isset($_GET['d']) && $_GET['d'] !='home.php') || isset($_GET['content']) || isset($_GET['aca_mod']) )
- return true;
- break;
- }
- return false;
- }
-
-
- /**
- @brief calcul du cpath specifique a ce tyep de donnée
- */
- function GetcPath(){
- return '';
- }
-
- /**
- @brief Prepare an retrun result Seo request
- @param $mode string anchor key used
- @param $subtype Not used
- @param $id is string base name current id
- @param $language_id integer current language id
- @return array (
- ID => '',
- tName => '',
- head_desc_tag => '',
- head_keywords_tag =>''
- )
- */
- public function SeoGetQuery($mode, $subtype, $id_string, $language_id){
- $DB=Database::getInstance();
-
- switch($mode){
- default:
- $sql = "select head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='page' and ft.page_id = '" . basename($id_string). "' and ftd.language_id = '" . (int)$language_id. "' Limit 1";
- $rsql = $DB->query($sql);
- $result = $rsql->fetchAssoc();
- $result['head_desc_tag']='';
- $result['head_keywords_tag']='';
-
- $result['sql']=$sql;
- }
-
- return $result;
- }
-
-
- /**
- @brief calcul du cpath specifique a ce tyep de donnée
- */
- function FO_load_page(){
- global $aca_product,$product_info, $page_content, $language, $cPath;
-
- $page = page::getInstance();
- $DB=Database::getInstance();
-
-
- $p=(string)tep_db_prepare_input(basename($_GET['d']));
-
- $page->init($p,$language);
- $breadcrumb=$page->return_object('breadcrumb');
-
- switch ($p){
- // case 'form.php':
- case 'contact.php':
- $pp=substr($p, 0, -strlen($page->ext));
- $page->new_class($pp);
- $page_content = $page->force_content($pp.'_'.$page->_call($pp,'the_form').$page->ext);
- if (isset($_GET['action'])) $page->_call($pp,'action');
- break;
- default:
-
- /** Module aca */
- if (isset($_GET['aca_mod']) && !is_numeric($_GET['aca_mod']) && isset($_GET['aca_type']) && isset($_GET['aca_action'])){
- $module=(string)tep_db_prepare_input($_GET['aca_mod']);
- $type=(string)tep_db_prepare_input($_GET['aca_type']);
- $aca=$page->new_class($type);
- $aca_module=$page->_call($type,'ret_modules');
- /* cf content/page.php */
- $page_content =$page->force_content('unique'.$page->ext);
-
- if (isset($_GET['action']) ) {
- $action=(string)tep_db_prepare_input($_GET['action']);
- if ($aca_module[$module]->check_action($action) ) {
- /** Exe == true */
- $aca_module[$module]->after_check_action($action);
- // tep_redirect(tep_href_link('product_info.php', tep_get_all_get_params(array('action'))));
- }
- }
-
- }
- else {
- if(defined('NAVBAR_TITLE'))
- $breadcrumb->add(NAVBAR_TITLE, tep_href_link($p));
- }
- }
-
- return $page_content;
- }
-
-
-}
-?>
Added: trunk/catalog/common/classes/datatype_drivers/Data_diver.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_diver.php (rev 0)
+++ trunk/catalog/common/classes/datatype_drivers/Data_diver.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -0,0 +1,183 @@
+<?php if (!defined('HTTP_SERVER')) die('You can not access this file directly!');
+/**
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
+ @portion code Copyright (c) 2002 osCommerce
+ @package osCSS-2 <www http://www.oscss.org>
+ @version 2.1.1
+ @date 16/03/2012, 16:16
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+ @brief Use gabarit static html in dir content
+ Or form
+ OR module aca action and exec
+*/
+
+class Data_diver {
+
+
+ /**
+ @var DataType string
+ */
+ public $DataType = 'diver';
+
+ /**
+ @var DataType array reg for seo class
+ */
+ public $reg_anchors = array(
+ 'divers' => 'd'
+ );
+
+ /**
+ @var DataType array reg for seo class
+ */
+// public $reg_mask = array(
+// 'no-rewrite' => '%1$s=%2$s',
+// 'Rewrite' => '%2$s-%1$s-%3$s.%4$s',
+// 'Rewrite-mode2' => '%1$s/%2$s/%3$s.%4$s',
+// );
+
+ /**
+ @var DataType dynamic boolean
+ */
+ public $DataTypeDynamic = false;
+
+
+
+ /**
+ @brief constructor
+ */
+ function __construct(){
+ }
+
+ /**
+ @brief test si al page est du type produits
+ @param $mode le type de control (page/cpath/seo)
+ */
+ function is_type($mode='unique'){
+ switch($mode){
+ case 'unique':
+// default:
+ if( (isset($_GET['d']) && $_GET['d'] !='home.php') || isset($_GET['content']) || isset($_GET['aca_mod']) )
+ return true;
+ break;
+ }
+ return false;
+ }
+
+
+ /**
+ @brief calcul du cpath specifique a ce tyep de donnée
+ */
+ function GetcPath(){
+ return '';
+ }
+
+ /**
+ @brief Prepare an retrun result Seo request
+ @param $mode string anchor key used
+ @param $subtype Not used
+ @param $id is string base name current id
+ @param $language_id integer current language id
+ @return array (
+ ID => '',
+ tName => '',
+ head_desc_tag => '',
+ head_keywords_tag =>''
+ )
+ */
+ public function SeoGetQuery($mode, $subtype, $id_string, $language_id){
+ $DB=Database::getInstance();
+
+ switch($mode){
+ default:
+ $sql = "select head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='page' and ft.page_id = '" . basename($id_string). "' and ftd.language_id = '" . (int)$language_id. "' Limit 1";
+ $rsql = $DB->query($sql);
+ if($rsql->__get('numRows') ){
+ $result = $rsql->fetchAssoc();
+ }
+ else {
+ $result['tName']=basename($id_string);
+ $result['head_desc_tag']='';
+ $result['head_keywords_tag']='';
+ }
+
+ $result['sql']=$sql;
+ }
+
+ return $result;
+ }
+
+ /**
+ @brief Prepare an dgenere all cache for divers
+ */
+ public function SeoCacheQuery(/*$language_id*/){
+ global $language_id;
+ $DB=Database::getInstance();
+
+ $res=$DB->query( "select ft.page_id as ID, head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='page' and ftd.language_id = '" . $language_id. "' " );
+
+ while ($result =$res->fetchAssoc()){
+ $result[] = array ($result['ID'],$result,'DIVER') ;
+ }
+
+ return $result;
+ }
+
+
+
+ /**
+ @brief calcul du cpath specifique a ce tyep de donnée
+ */
+ function FO_load_page(){
+ global $aca_product,$product_info, $page_content, $language, $cPath;
+
+ $page = page::getInstance();
+ $DB=Database::getInstance();
+
+
+ $p=(string)tep_db_prepare_input(basename($_GET['d']));
+
+ $page->init($p,$language);
+ $breadcrumb=$page->return_object('breadcrumb');
+
+ switch ($p){
+ // case 'form.php':
+ case 'contact.php':
+ $pp=substr($p, 0, -strlen($page->ext));
+ $page->new_class($pp);
+ $page_content = $page->force_content($pp.'_'.$page->_call($pp,'the_form').$page->ext);
+ if (isset($_GET['action'])) $page->_call($pp,'action');
+ break;
+ default:
+
+ /** Module aca */
+ if (isset($_GET['aca_mod']) && !is_numeric($_GET['aca_mod']) && isset($_GET['aca_type']) && isset($_GET['aca_action'])){
+ $module=(string)tep_db_prepare_input($_GET['aca_mod']);
+ $type=(string)tep_db_prepare_input($_GET['aca_type']);
+ $aca=$page->new_class($type);
+ $aca_module=$page->_call($type,'ret_modules');
+ /* cf content/page.php */
+ $page_content =$page->force_content('unique'.$page->ext);
+
+ if (isset($_GET['action']) ) {
+ $action=(string)tep_db_prepare_input($_GET['action']);
+ if ($aca_module[$module]->check_action($action) ) {
+ /** Exe == true */
+ $aca_module[$module]->after_check_action($action);
+ // tep_redirect(tep_href_link('product_info.php', tep_get_all_get_params(array('action'))));
+ }
+ }
+
+ }
+ else {
+ if(defined('NAVBAR_TITLE'))
+ $breadcrumb->add(NAVBAR_TITLE, tep_href_link($p));
+ }
+ }
+
+ return $page_content;
+ }
+
+
+}
+?>
Modified: trunk/catalog/common/classes/datatype_drivers/Data_home.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_home.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/common/classes/datatype_drivers/Data_home.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -80,10 +80,14 @@
default:
$sql = "select head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='page' and ft.page_id = 'home' and ftd.language_id = '" . (int)$language_id. "' Limit 1";
$rsql = $DB->query($sql);
- $result = $rsql->fetchAssoc();
- $result['head_desc_tag']='';
- $result['head_keywords_tag']='';
-
+ if($rsql->__get('numRows') ){
+ $result = $rsql->fetchAssoc();
+ }
+ else {
+ $result['tName']='';
+ $result['head_desc_tag']='';
+ $result['head_keywords_tag']='';
+ }
$result['sql']=$sql;
}
@@ -91,6 +95,24 @@
}
/**
+ @brief Prepare an dgenere all cache for divers
+ */
+ public function SeoCacheQuery(/*$language_id*/){
+ global $language_id;
+ $DB=Database::getInstance();
+ $return_array = array();
+
+ $res=$DB->query( "select ft.page_id as ID, head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='home' and ftd.language_id = '" . $language_id. "' " );
+
+ while ($result =$res->fetchAssoc()){
+ $return_array[] = array ($result['ID'],$result,'HOME') ;
+ }
+
+ return $return_array ;
+ }
+
+
+ /**
@brief calcul du cpath specifique a ce tyep de donnée
*/
function FO_load_page(){
Modified: trunk/catalog/common/classes/seo_url.php
===================================================================
--- trunk/catalog/common/classes/seo_url.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/common/classes/seo_url.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -20,61 +20,61 @@
/**
Constant de class debugg
*/
- const USE_SEO_REDIRECT_DEBUG = false;
+ const USE_SEO_REDIRECT_DEBUG = true;
/**
* $cache is the per page data array that contains all of the previously stripped titles
- @var array
+ @var array
*/
- public $cache;
+ public static $cache;
/**
* $languages_id contains the language_id for this instance
- @var integer
+ @var integer
*/
public $languages_id;
/**
* $attributes array contains all the required settings for class
- @var array
+ @var array
*/
public $attributes;
/**
* $base_url is the NONSSL URL for site
- @var string
+ @var string
*/
protected static $base_url;
/**
* $base_url_ssl is the secure URL for the site
- @var string
+ @var string
*/
protected static $base_url_ssl;
/**
* $performance array contains evaluation metric data
- @var array
+ @var array
*/
public $performance;
/**
* $timestamp simply holds the temp variable for time calculations
- @var float
+ @var float
*/
public $timestamp;
/**
* $reg_anchors holds the anchors used by the .htaccess rewrites
- @var array
+ @var array
*/
public $reg_anchors;
/**
* $cache_query is the resource_id used for database cache logic
- @var resource
+ @var resource
*/
public $cache_query;
/**
* $cache_file is the basename of the cache database entry
- @var string
+ @var string
*/
public $cache_file;
/**
* $data array contains all records retrieved from database cache
- @var array
+ @var array
*/
public $data;
/**
@@ -84,12 +84,12 @@
public $need_redirect;
/**
* $is_seopage holds value as to whether page is in allowed SEO pages
- @var boolean
+ @var boolean
*/
public $is_seopage;
/**
* $uri contains the $_SERVER['REQUEST_URI'] value
- @var string
+ @var string
*/
public $uri;
/**
@@ -99,23 +99,23 @@
public $real_uri;
/**
* $uri_parsed contains the parsed uri value array
- @var array
+ @var array
*/
public $uri_parsed;
/**
* $path_info contains the getenv('PATH_INFO') value
- @var string
+ @var string
*/
public $path_info;
/**
* $DB is the database object
- @var object
+ @var object
*/
public $DB;
/**
* $header_tag element for page
- @var object
+ @var object
*/
public $header_tag;
/**
@@ -206,7 +206,7 @@
else
self::$USE_SEO_CACHE_TOPICS = 'false';
- $this->cache = array();
+ self::$cache = array();
$this->timestamp = 0;
@@ -244,8 +244,8 @@
);
//ojp generate_link_cache
if (_test_bool(self::$USE_SEO_CACHE_GLOBAL)){
- $this->cache_file = 'seo_urls_v2_';
- $this->cache_gc();
+ $this->cache_file = 'seo_urls_v2_';
+ $this->cache_gc();
/**
@@ -254,14 +254,18 @@
Rendre ces option de configuration en non editable
Lancer la genertaion du cache de de maniere systematique
*/
- if ( _test_bool(self::$USE_SEO_CACHE_PRODUCTS )) $this->generate_products_cache();
- if ( _test_bool(self::$USE_SEO_CACHE_CATEGORIES)) $this->generate_categories_cache();
+
+ $this->GenerateCache_generic();
+
+
+// if ( _test_bool(self::$USE_SEO_CACHE_PRODUCTS )) $this->generate_products_cache();
+// if ( _test_bool(self::$USE_SEO_CACHE_CATEGORIES)) $this->generate_categories_cache();
// if ( _test_bool($this->attributes['USE_SEO_CACHE_MANUFACTURERS'] ) ) $this->generate_manufacturers_cache();
// if ( _test_bool($this->attributes['USE_SEO_CACHE_ARTICLES'] ) && defined('TABLE_ARTICLES_DESCRIPTION'))
// $this->generate_articles_cache();
- if ( _test_bool(self::$USE_SEO_CACHE_TOPICS) && defined('TABLE_CONTENT_DESCRIPTION')) $this->generate_topics_cache();
- $this->generate_divers_cache();
- if ( _test_bool(self::$USE_SEO_CACHE_LINKS) ) $this->generate_links_cache();
+// if ( _test_bool(self::$USE_SEO_CACHE_TOPICS) && defined('TABLE_CONTENT_DESCRIPTION')) $this->generate_topics_cache();
+// $this->generate_divers_cache();
+// if ( _test_bool(self::$USE_SEO_CACHE_LINKS) ) $this->generate_links_cache();
}
/**
@@ -430,20 +434,21 @@
switch(true){
case (!isset($_SESSION['customer_id']) && _cst_bool('ENABLE_PAGE_CACHE') && class_exists('page_cache')):
- $page_cache = true;
- $return = $link . $separator . '<osCsid>';
+ $page_cache = true;
+ $return = $link . $separator . '<osCsid>';
break;
case (isset($_sid) && ( !$kill_sid )): ///// SID-KILLER ( change ) /// ORG: case (isset($_sid)):
- $page_cache = false;
- $return = $link . $separator . tep_output_string($_sid);
+ $page_cache = false;
+ $return = $link . $separator . tep_output_string($_sid);
break;
default:
- $page_cache = false;
- $return = $link;
+ $page_cache = false;
+ $return = $link;
break;
}
+
$this->performance['NUMBER_STANDARD_URLS_GENERATED']++;
- $this->cache['STANDARD_URLS'][] = $link;
+ self::$cache['STANDARD_URLS'][] = $link;
$time = 0;
$this->stop($this->timestamp, $time);
$this->performance['TOTAL_TIME'] += $time;
@@ -451,10 +456,10 @@
switch(true){
case (_test_bool($this->attributes['SEO_URLS_USE_W3C_VALID']) && !$page_cache):
- return htmlentities(str_replace('&','&',$return));
+ return htmlentities(str_replace('&','&',$return));
break;
default:
- return str_replace('&','&',$return);
+ return str_replace('&','&',$return);
break;
}
}
@@ -463,7 +468,6 @@
/**
* \brief Function to parse the parameters into an SEO URL
- * @author Bobby Easland
* @param $page string
* @param $params string
* @param $connection string
@@ -472,22 +476,32 @@
*/
protected function parse_parameters($page, $params ,$connection , &$separator){
$params=str_replace('&','&',$params);
+// var_dump($page,$params);
if(!empty($params))
- $p = @explode('&', $params);
+ $p = @explode('&', $params);
else
- $p=$p3 = array();
+ $p=$p3 = array();
krsort($p);
$container = array();
// preparation array key/value
foreach ($p as $index => $valuepair)
- if(!empty($valuepair) || $index !=0) {
+ if(!empty($valuepair)/* || $index !=0*/) {
$p2 = @explode('=', $valuepair);
- if($p2[0] =='d' && substr($p2[1],-3) =='php')
- $p2[1] = substr($p2[1],0,-4);
+ // specific static page diver, value is file name static
+ if($p2[0] =='d' && substr($p2[1],-3) =='php'){
+ $value = substr($p2[1],0,-4);
+// if( in_array($value, array(/*'index',*/ 'home')) ){
+// var_dump($page,$params);
+// $p2[1] = 'home';
+// $p2[0] = 'h';
+// }
+// else
+ $p2[1] = $value;
+ }
$p3[$p2[0]]=(isset($p2[1])? $p2[1] : '' );
}
@@ -497,8 +511,8 @@
$arflip = array_flip($this->reg_anchors);
if(count($p3)==0)
- if($page ==FILENAME_HOME)
- $p3['home'] = 'home';
+ if($page ==FILENAME_HOME)
+ $p3['home'] = 'home';
foreach ($p3 as $key => $value){
@@ -511,6 +525,7 @@
case (in_array($key, $check)):
$resultarray = $this->GetName_generic($key, $value);
+ $resultarray['tName'] = $this->strip($resultarray['tName']);
if(self::$htexe)
$this->transph_header_tag($resultarray);
@@ -534,8 +549,8 @@
}
//! home by page content
else {
- $url = $this->make_url('home', DataTypes::Getseoquery('d', '', 'home', $this->languages_id), 'divers', 'home', $separator);
- $this->ValidateName($url, "d", 'home', $connection, $separator);
+// $url = $this->make_url('home', DataTypes::Getseoquery('h', '', 'home', $this->languages_id), 'home', '', $separator);
+// $this->ValidateName($url, "h", 'home', $connection, $separator);
}
break;
default:
@@ -559,9 +574,7 @@
}
/**
- * Function to return the generated SEO URL
- @author Bobby Easland
- @version 1.0
+ @brief Function to return the generated SEO URL
@param $page string
@param $string string Stripped, formed anchor
@param $anchor_type string Parameter type (products_id, cPath, etc.)
@@ -605,7 +618,7 @@
/**
- * \brief Ajout ext url
+ * @brief Ajout ext url
* @param $url
* @param $type
* @param $realID
@@ -646,7 +659,7 @@
/**
- * \brief Function to get the product name. Use evaluated cache, per page cache, or database query in that order of precedent
+ * @brief Function to get the product name. Use evaluated cache, per page cache, or database query in that order of precedent
* @param $anchor string key anchor
* @param $id integer current id data
* @return string Stripped anchor text
@@ -657,9 +670,9 @@
switch(true){
- case (_test_bool(self::$USE_SEO_CACHE_GLOBAL) && isset($this->cache[$TYPE][$id])):
+ case (_test_bool(self::$USE_SEO_CACHE_GLOBAL) && isset(self::$cache[$TYPE][$id])):
$this->performance['CACHE_QUERY_SAVINGS']++;
- $result = $this->get_cache_id($id,'',$TYPE);
+ $result = self::GetCacheId($id,'',$TYPE);
$result['tName'] = (isset($result['tName'])? $this->strip($result['tName']): $this->strip($id));
break;
@@ -669,7 +682,7 @@
$result = DataTypes::Getseoquery($anchor, '', $id, (int)$this->languages_id );
- $this->get_cache_id($id,$result,$TYPE);
+ self::GetCacheId($id,$result,$TYPE);
$this->performance['QUERIES'][$TYPE][] = $result['sql'];
}
@@ -678,32 +691,20 @@
}
- /**
- * \brief Mise en cache de la table des type page, / table TABLE_FULL_TAG
- * @return array
- */
- private function generate_divers_cache(){
- $res=$this->DB->query( "select ft.page_id as ID, head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='page' and ftd.language_id = '" . (int)$this->languages_id. "' " );
- while ($result =$res->fetchAssoc()){
- $this->get_cache_id($result['ID'],$result,'DIVERS');
- }
- }
+ /**
+ @brief genere all cache for Datatype data
+ */
+ private function GenerateCache_generic(){
+
+ $result = DataTypes::Getseocache($this->language_id);
+ foreach($result as $row){
+ self::GetCacheId($row[0],$row[1],$row[2]);
+ }
+ }
- /**
- * \brief Mise en cache de la table des type page, / table TABLE_FULL_TAG
- * @return array
- */
- private function generate_links_cache(){
- $res=$this->DB->query( "select ft.page_id as ID, head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='link' and ftd.language_id = '" . (int)$this->languages_id. "' " );
- while ($result =$res->fetchAssoc()){
- $this->get_cache_id($result['ID'],$result,'LINKS');
- }
- }
-
-
/**
* \brief Mise en cache des element produits / table TABLE_FULL_TAG
* @return array
@@ -741,7 +742,7 @@
$result['path']= $path . ((isset($result['url']) && !empty($result['url']) )? $result['url'] : $result['tName']) ;
- $this->get_cache_id($result['ID'],$result,'PRODUCT');
+ self::GetCacheId($result['ID'],$result,'PRODUCT');
}
@@ -757,8 +758,8 @@
private function generate_categories_cache(){
$res = $this->DB->query( "select ft.page_id as ID , head_title_tag as tName, head_desc_tag, head_keywords_tag from " . TABLE_FULL_TAG . " ft, " . TABLE_FULL_TAG_DESCRIPTION . " ftd where ft.tag_id=ftd.tag_id and ft.page_type='cat' and ftd.language_id = '" . (int)$this->languages_id. "'" );
while($result = $res->fetchAssoc()){
-// if(!isset($this->cache['GET_CATEGORIES_P'][$result['ID']])) $this->cache['GET_CATEGORIES_P'][$result['ID']]=$result['parent_id'];
- $this->get_cache_id($result['ID'],$result,'CATEGORIES');
+// if(!isset(self::$cache['GET_CATEGORIES_P'][$result['ID']])) self::$cache['GET_CATEGORIES_P'][$result['ID']]=$result['parent_id'];
+ self::GetCacheId($result['ID'],$result,'CATEGORIES');
}
}
@@ -792,22 +793,22 @@
$result['path']= $path . ((isset($result['url']) && !empty($result['url']) )? $result['url'] : $result['tName']) ;
- $this->get_cache_id($result['ID'],$result,'TOPICS');
+ self::GetCacheId($result['ID'],$result,'TOPICS');
}
}
/**
- * \brief Ajout et/ou recup le cache
- * @author oscim <mail os...@os...> <www http://www.oscim.fr>
+ * @fn self::GetCacheId($id,$result,$type)
+ * @brief Ajout et/ou recup le cache
* @param $id
* @param $result
* @param $type
* @return array
*/
- private function get_cache_id($id,$result,$type){
- if(!isset($this->cache[$type][$id])) return $this->cache[$type][$id]= $result;
- elseif(is_array($result)) return $this->cache[$type][$id]= array_merge($this->cache[$type][$id], $result);
- else return $this->cache[$type][$id];
+ private static function GetCacheId($id,$result,$type){
+ if(!isset(self::$cache[$type][$id])) return self::$cache[$type][$id]= $result;
+ elseif(is_array($result)) return self::$cache[$type][$id]= array_merge(self::$cache[$type][$id], $result);
+ else return self::$cache[$type][$id];
}
@@ -843,16 +844,16 @@
* @param $categories_id integer
*/
private function GetParentCategories(&$categories, $categories_id) {
- if(_test_bool(self::$USE_SEO_CACHE_GLOBAL) && isset($this->cache['GET_CATEGORIES_P'][$categories_id])) {
- $categories[sizeof($categories)] =$this->cache['GET_CATEGORIES_P'][$categories_id];
+ if(_test_bool(self::$USE_SEO_CACHE_GLOBAL) && isset(self::$cache['GET_CATEGORIES_P'][$categories_id])) {
+ $categories[sizeof($categories)] =self::$cache['GET_CATEGORIES_P'][$categories_id];
} else {
$sql = "SELECT parent_id FROM " . TABLE_CATEGORIES . " WHERE categories_id='" . (int)$categories_id . "'";
$parent_categories_query = $this->DB->query($sql);
while ($parent_categories = $parent_categories_query->fetchAssoc()) {
- $this->cache['GET_CATEGORIES_P'][$categories_id]=$parent_categories['parent_id'];
- if ($parent_categories['parent_id'] == 0) return true;
- $categories[sizeof($categories)] = $parent_categories['parent_id'];
- if ($parent_categories['parent_id'] != $categories_id) $this->GetParentCategories($categories, $parent_categories['parent_id']);
+ self::$cache['GET_CATEGORIES_P'][$categories_id]=$parent_categories['parent_id'];
+ if ($parent_categories['parent_id'] == 0) return true;
+ $categories[sizeof($categories)] = $parent_categories['parent_id'];
+ if ($parent_categories['parent_id'] != $categories_id) $this->GetParentCategories($categories, $parent_categories['parent_id']);
}
}
}
@@ -905,7 +906,7 @@
// private function profile(){
// $this->calculate_performance();
// $this->PrintArray($this->attributes, 'Class Attributes');
-// $this->PrintArray($this->cache, 'Cached Data');
+// $this->PrintArray(self::$cache, 'Cached Data');
// }
/**
@@ -914,7 +915,7 @@
* @return mixed Output of performance data wrapped in HTML pre tags
*/
// private function calculate_performance(){
-// foreach ($this->cache as $type) $this->performance['TOTAL_CACHED_PER_PAGE_RECORDS'] += sizeof($type);
+// foreach (self::$cache as $type) $this->performance['TOTAL_CACHED_PER_PAGE_RECORDS'] += sizeof($type);
// $this->performance['TIME_PER_URL'] = $this->performance['TOTAL_TIME'] / $this->performance['NUMBER_URLS_GENERATED'];
// return $this->PrintArray($this->performance, 'Performance Data');
// }
@@ -956,11 +957,11 @@
private function expand($set){
if ( $this->not_null($set) ){
if ( $data = @explode(',', $set) ){
- foreach ( $data as $index => $valuepair){
- $p = @explode('=>', $valuepair);
- $container[trim($p[0])] = trim($p[1]);
- }
- return $container;
+ foreach ( $data as $index => $valuepair){
+ $p = @explode('=>', $valuepair);
+ $container[trim($p[0])] = trim($p[1]);
+ }
+ return $container;
}
else return 'false';
}
@@ -1137,28 +1138,28 @@
if ( $num_rows ){
$container = array();
while($cache = $this->cache_query->fetchAssoc()){
- $cache_name = $cache['cache_name'];
- if ( $cache['cache_expires'] > date("Y-m-d H:i:s") ) {
- $cache_data = ( $cache['cache_gzip'] == 1 ? gzinflate(base64_decode($cache['cache_data'])) : stripslashes($cache['cache_data']) );
- switch($cache['cache_method']){
- case 'EVAL': // must be PHP code
- eval("$cache_data");
- break;
- case 'ARRAY':
- $cache_data = unserialize($cache_data);
- case 'RETURN':
- default:
- }
- if ($global) $container['GLOBAL'][$cache_name] = $cache_data;
- else $container[$cache_name] = $cache_data; // not global
- } else { // cache is expired
- if ($global) $container['GLOBAL'][$cache_name] = false;
- else $container[$cache_name] = false;
- }
- if (/* $this->keep_in_memory ||*/ $local_memory ) {
- if ($global) $this->data['GLOBAL'][$cache_name] = $container['GLOBAL'][$cache_name];
- else $this->data[$cache_name] = $container[$cache_name];
- }
+ $cache_name = $cache['cache_name'];
+ if ( $cache['cache_expires'] > date("Y-m-d H:i:s") ) {
+ $cache_data = ( $cache['cache_gzip'] == 1 ? gzinflate(base64_decode($cache['cache_data'])) : stripslashes($cache['cache_data']) );
+ switch($cache['cache_method']){
+ case 'EVAL': // must be PHP code
+ eval("$cache_data");
+ break;
+ case 'ARRAY':
+ $cache_data = unserialize($cache_data);
+ case 'RETURN':
+ default:
+ }
+ if ($global) $container['GLOBAL'][$cache_name] = $cache_data;
+ else $container[$cache_name] = $cache_data; // not global
+ } else { // cache is expired
+ if ($global) $container['GLOBAL'][$cache_name] = false;
+ else $container[$cache_name] = false;
+ }
+ if (/* $this->keep_in_memory ||*/ $local_memory ) {
+ if ($global) $this->data['GLOBAL'][$cache_name] = $container['GLOBAL'][$cache_name];
+ else $this->data[$cache_name] = $container[$cache_name];
+ }
}
unset($cache_data);
$this->cache_query->Free($this->cache_query);
Modified: trunk/catalog/includes/classes/core_page/generic.php
===================================================================
--- trunk/catalog/includes/classes/core_page/generic.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/includes/classes/core_page/generic.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -29,6 +29,7 @@
$this-> generics_id='';
$this-> image_handler='';
$this->modules=array();
+ $list_mod = array();
foreach(parent::initialise_type('MODULE_GENERIC_INSTALLED','generic') as $class){
$cl[$class]=new $class ();
Modified: trunk/catalog/install/data/templates/appareil_photo/2cShopHtml5Oscim/Childs_tpl/ssheader.php
===================================================================
--- trunk/catalog/install/data/templates/appareil_photo/2cShopHtml5Oscim/Childs_tpl/ssheader.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/install/data/templates/appareil_photo/2cShopHtml5Oscim/Childs_tpl/ssheader.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -61,7 +61,7 @@
<nav>
<ul class="menu content">
- <li><a href="<?php echo tep_href_link(FILENAME_DEFAULT) ?>" class="nav1"><?php echo __('home') ?></a></li>
+ <li><a href="<?php echo tep_href_link() ?>" class="nav1"><?php echo __('home') ?></a></li>
<li><a href="<?php echo tep_href_link(FILENAME_SMALL_PRICE) ?>" class="nav2"><?php echo PAGE_SMALL_PRICE ?></a></li>
<li>
<?php if(defined('FILENAME_WISHLIST')) : ?>
Modified: trunk/catalog/install/data/templates/appareil_photo/electronix/ssheader.php
===================================================================
--- trunk/catalog/install/data/templates/appareil_photo/electronix/ssheader.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/install/data/templates/appareil_photo/electronix/ssheader.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -51,7 +51,7 @@
<div id="menu_tab">
<div class="left_menu_corner"></div>
<ul class="menu">
- <li><a href="<?php echo tep_href_link(FILENAME_DEFAULT) ?>" class="nav1"><?php echo __('home') ?></a></li>
+ <li><a href="<?php echo tep_href_link() ?>" class="nav1"><?php echo __('home') ?></a></li>
<li class="divider"></li>
<li><a href="<?php echo tep_href_link(FILENAME_SMALL_PRICE) ?>" class="nav2"><?php echo PAGE_SMALL_PRICE ?></a></li>
<li class="divider"></li>
Modified: trunk/catalog/install/includes/application.php
===================================================================
--- trunk/catalog/install/includes/application.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/install/includes/application.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -15,7 +15,7 @@
define('CHARSET', 'UTF-8');
define('DRIVER_SQL', 'mysql');
- define('DIR_WS_COMMON_CLASSES', 'classes/');
+ if(!defined('DIR_WS_COMMON_CLASSES')) define('DIR_WS_COMMON_CLASSES', 'classes/');
require('includes/functions/general.php');
require('includes/functions/database.php');
Modified: trunk/catalog/install/includes/classes/core.php
===================================================================
--- trunk/catalog/install/includes/classes/core.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/install/includes/classes/core.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -29,64 +29,68 @@
-// self::browse_rep()
+
+ foreach(self::browse_rep('includes/content/') as $k=>$element){
+ if(substr($element['file'],-3) =='php'){
+ $name = substr($element['file'],0,-4);
+ $class = substr($name,5) ;
+ if(!class_exists($class)) include('includes/content/'.$element['file']);
+ $etape[$element['name']] = call_user_func(array($class, 'GetSort')); //$current->GetSort();
+ }
+ }
+
+// exit;
+// /**
+// Ordre des etape de l'install
+// Fichier present dans /includes/content/
+// */
+// $etape=array(
+// /**
+// Check etat fichier et repertoire (droit fichier)
+// Cherche fichier configure pour detreminer mode d'install
+// */
+// 'core.base'=>1,
+// /**
+// 2 Etpape
+// Choix mode install (install|update)
+// Information DB , SSL
+// Information path , url
+// */
+// 'core.modes'=>2,
+// /**
+// */
+// 'core.update'=>3,
+// /**
+// Recup svn
+// */
+// 'core.installdb'=>4,
+// /**
//
-// foreach(self::browse_rep('includes/content/') as $k=>$element){
-// // if(isset($this->order_etape[$element['name']]) ){
-// // if(isset($_GET['etape']) && $_GET['etape']>$k)$class = 'class="finished"';
-// // elseif(( isset($_GET['etape']) && $_GET['etape']==$k) || (!isset($_GET['etape']) && $k==1) )$class = 'class="selected"';
-// // else $class='';
-// //
-// // echo "<li $class>".core::l10n('etape '.$element['name']).'</li>'."\n";
-// // }
-// }
-// //
+// */
+// 'core.configuration'=>5,
+// 'core.template_sample'=>6,
+// 'core.finition'=>7,
+// );
- /**
- Ordre des etape de l'install
- Fichier present dans /includes/content/
- */
- $etape=array(
- /**
- Check etat fichier et repertoire (droit fichier)
- Cherche fichier configure pour detreminer mode d'install
- */
- 'core.base'=>1,
- /**
- 2 Etpape
- Choix mode install (install|update)
- Information DB , SSL
- Information path , url
- */
- 'core.modes'=>2,
- /**
- */
- 'core.update'=>3,
- /**
- Recup svn
- */
- 'core.installdb'=>4,
- /**
- */
- 'core.configuration'=>5,
- 'core.template_sample'=>6,
- 'core.finition'=>7,
- );
+ asort($etape);
-
-
- $i=0;
+ $i=1;
if (!function_exists('curl_init') && !(boolean)ini_get('allow_url_fopen')){
foreach($etape as $k=>$v)
if($k!='core.update') $this->order_etape[$k]=$i++;
}
else
- $this->order_etape =$etape;
+ foreach($etape as $k=>$v)
+ $this->order_etape[$k]=$i++;
+
+// print_r($this->order_etape);
+// exit;
+
$this->Pile=array();
}
@@ -149,10 +153,10 @@
$language = 'fr_FR';
// Try to get browser language
foreach ($this->available_languages as $language_code => $language_name) {
- if (substr($language_code,0,2) == @substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2)) {
- $language = $language_code;
- break;
- }
+ if (substr($language_code,0,2) == @substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2)) {
+ $language = $language_code;
+ break;
+ }
}
}
// Retrieve traductions
@@ -264,14 +268,13 @@
$count=0;
while($file = readdir($fichier)){
if(!in_array($file, array(".","..")) && (substr($file,-1) !='~') && (substr($file,-4) !='.svn') && !is_dir($file)){
- $count++;
- $name=substr($file, 0,-4);
- $res[(isset($orderby[$name])?$orderby[$name] : $count)]=
- array('file'=>$file,
- 'name'=>$name,
- 'count'=>$count
- );
-
+ $count++;
+ $name=substr($file, 0,-4);
+ $res[(isset($orderby[$name])?$orderby[$name] : $count)]=
+ array('file'=>$file,
+ 'name'=>$name,
+ 'count'=>$count
+ );
}
}
closedir($fichier);
@@ -404,7 +407,7 @@
$this->getLanguage();
$tab=array_flip($this->order_etape);
$class=(!isset($_GET['etape']))? 'base' : (is_numeric($_GET['etape']) ? substr($tab[$_GET['etape']],5) :$_GET['etape'] ) ;
- require('includes/content/core.'.$class.'.php');
+ if(!class_exists($class)) require('includes/content/core.'.$class.'.php');
self::$class=$class;
$etape= new $class();
Modified: trunk/catalog/install/includes/content/core.base.php
===================================================================
--- trunk/catalog/install/includes/content/core.base.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/install/includes/content/core.base.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -15,11 +15,14 @@
class base
extends core {
- function _construct(){
+
+ public static function GetSort(){
// sort in process
- $this->sort = 1;
+ return 1;
}
+
+
function definition(){
/** tableau des répertoires et fichiers contrôlés */
@@ -157,5 +160,6 @@
$this->draw_form();
}
+
}
?>
\ No newline at end of file
Modified: trunk/catalog/install/includes/content/core.configuration.php
===================================================================
--- trunk/catalog/install/includes/content/core.configuration.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/install/includes/content/core.configuration.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -54,10 +54,12 @@
*/
-error_reporting(E_ALL);
+// error_reporting(E_ALL);
class configuration extends core {
+
+
/**
@var
*/
@@ -77,9 +79,9 @@
- function _construct(){
+ public static function GetSort(){
// sort in process
- $this->sort = 1;
+ return 99;
}
Modified: trunk/catalog/install/includes/content/core.finition.php
===================================================================
--- trunk/catalog/install/includes/content/core.finition.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/install/includes/content/core.finition.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -12,6 +12,12 @@
class finition extends core {
+
+ public static function GetSort(){
+ // sort in process
+ return 99;
+ }
+
function draw_form(){
$this->get_fs_document_root();
$this->get_server_conf();
Modified: trunk/catalog/install/includes/content/core.installdb.php
===================================================================
--- trunk/catalog/install/includes/content/core.installdb.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/install/includes/content/core.installdb.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -13,7 +13,10 @@
class installdb extends core {
-
+ public static function GetSort(){
+ // sort in process
+ return 50;
+ }
/**
Installation du systeme de base, creation table + insertion conf
*/
Modified: trunk/catalog/install/includes/content/core.modes.php
===================================================================
--- trunk/catalog/install/includes/content/core.modes.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/install/includes/content/core.modes.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -18,9 +18,9 @@
extends core {
- function _construct(){
+ public static function GetSort(){
// sort in process
- $this->sort = 1;
+ return 20;
}
/**
@@ -131,10 +131,10 @@
.'</p>'."\n";
echo '<p class="smallDesc">'."\n"
- .'<label>'.core::l10n('Rewriting :').'</label>'."\n"
- .osc_draw_checkbox_field('install[rewrite]', '', 'on', true)."\n"
- .core::draw_help('rewriteConfig', core::l10n("Cette option permet d'exploiter les rewriting , donc le SEO. Il est nécessaire que votre serveur le supporte.")/*, core::l10n('Utiliser le rewriting (doit être installé)')*/)."\n"
- .'</p>'."\n";
+ .'<label>'.core::l10n("Type d'installation :").'</label>'."\n"
+ .osc_draw_radio_field('install[type]', 'typeinstall', 'basic', ( (!isset($_POST['install']['type']) || (isset($_POST['install']['type'])&& $_POST['install']['type'] == 'basic'))? true : false) ).core::l10n("Install type basic").' '
+ .osc_draw_radio_field('install[type]', 'typeinstall', 'advanced', ( (isset($_POST['install']['type'])&& $_POST['install']['type'] == 'advanced')? true : false)).core::l10n("Install type advanced").' '
+ .'</p>'."\n";
echo '<h2>'.core::l10n("Base de donnée").'</h2>'."\n";
@@ -170,33 +170,22 @@
.core::draw_help('dbNamePrefix', core::l10n('Le prefix à utiliser pour les tables crées sur la base de données. Un exemple de préfixe de table : "osc_" ce qui créera une table nommée osc_products.')/*, core::l10n('Préfix des tables de la base de données')*/)."\n"
.'</p>'."\n";
-
- echo '<h2>'.core::l10n("Serveur").'</h2>'."\n";
+ echo '<h3>'.core::l10n("Avance").'</h3>'."\n";
echo '<p class="smallDesc">'."\n"
- .'<label>'.core::l10n('Activer les connections SSL:').'</label>'."\n"
- .osc_draw_checkbox_field('ENABLE_SSL', '', ( (isset($_POST['ENABLE_SSL'])&& $_POST['ENABLE_SSL'] == 'true')? true : false) )."\n"
- .core::draw_help('httpSSL', core::l10n('Activer les connections sécurisé SSL (HTTPS) (exige un certificat installé sur le serveur web).')/*, core::l10n('Activer les connections SSL:')*/)."\n"
- .'</p>'."\n";
-
-
- echo '<h2>'.core::l10n("Avance").'</h2>'."\n";
-
-
- echo '<p class="smallDesc">'."\n"
.'<label>'.core::l10n('Type de base de donnée').'</label>'."\n"
- .'<select name="DBMOTOR" >'."\n"
- .'<option value="Mysql" '.($language_code == DC_LOADER_LANG ? 'selected="selected"' : '').'>Mysql</option>'."\n"
- .'<option value="Mysqli" '.($language_code == DC_LOADER_LANG ? 'selected="selected"' : '').'>Mysqli</option>'."\n"
- .'</select>'."\n"
+ .'<select name="DBMOTOR" >'."\n"
+ .'<option value="Mysql" selected="selected">Mysql</option>'."\n"
+ .'<option value="Mysqli" >Mysqli</option>'."\n"
+ .'</select>'."\n"
.core::draw_help('httpSSL', core::l10n('Le type de base de donnée'))."\n"
.'</p>'."\n";
echo '<p class="smallDesc">'."\n"
.'<label>'.core::l10n('Base de donnée encodage').'</label>'."\n"
- .'<select name="DBMOTOR_CHARSET" >'."\n"
- .'<option value="utf8" '.($language_code == DC_LOADER_LANG ? 'selected="selected"' : '').'>utf-8</option>'."\n"
- .'<option value="latin1" '.($language_code == DC_LOADER_LANG ? 'selected="selected"' : '').'>latin1</option>'."\n"
- .'</select>'."\n"
+ .'<select name="DBMOTOR_CHARSET" >'."\n"
+ .'<option value="utf8" selected="selected">utf-8</option>'."\n"
+ .'<option value="latin1" >latin1</option>'."\n"
+ .'</select>'."\n"
.core::draw_help('httpSSL', core::l10n('L\'encodage de la base de donnée'))."\n"
.'</p>'."\n";
@@ -208,26 +197,51 @@
echo '<p class="smallDesc">'."\n"
.'<label>'.core::l10n('Type de moteur dans la base de donnée').'</label>'."\n"
- .'<select name="DBMOTOR_TYPE" >'."\n"
- .'<option value="MyISAM" '.($language_code == DC_LOADER_LANG ? 'selected="selected"' : '').'>MyISAM</option>'."\n"
- .'<option value="InnoDB" '.($language_code == DC_LOADER_LANG ? 'selected="selected"' : '').'>InnoDB</option>'."\n"
- .'</select>'."\n"
+ .'<select name="DBMOTOR_TYPE" >'."\n"
+ .'<option value="MyISAM" selected="selected">MyISAM</option>'."\n"
+ .'<option value="InnoDB" >InnoDB</option>'."\n"
+ .'</select>'."\n"
.core::draw_help('httpSSL', core::l10n('Preferer le moteur innodb pour les base volumineuse, uniquement lors d\'une nouvelle installation. le moteur ne peut être converti apres installation'))."\n"
.'</p>'."\n";
+ echo '<h2>'.core::l10n("Serveur").'</h2>'."\n";
echo '<p class="smallDesc">'."\n"
- .'<label>'.core::l10n('Choix de l\'arboresance des dossiers inscriptibles').'</label>'."\n"
+ .'<label>'.core::l10n('Activer les connections SSL:').'</label>'."\n"
+ .osc_draw_checkbox_field('ENABLE_SSL', '', ( (isset($_POST['ENABLE_SSL'])&& $_POST['ENABLE_SSL'] == 'true')? true : false) )."\n"
+ .core::draw_help('httpSSL', core::l10n('Activer les connections sécurisé SSL (HTTPS) (exige un certificat installé sur le serveur web).')/*, core::l10n('Activer les connections SSL:')*/)."\n"
+ .'</p>'."\n";
+
+
+ echo '<p class="smallDesc">'."\n"
+ .'<label>'.core::l10n('Rewriting :').'</label>'."\n"
+ .osc_draw_checkbox_field('install[rewrite]', '', 'on', true)."\n"
+ .core::draw_help('rewriteConfig', core::l10n("Cette option permet d'exploiter les rewriting , donc le SEO. Il est nécessaire que votre serveur le supporte.")/*, core::l10n('Utiliser le rewriting (doit être installé)')*/)."\n"
+ .'</p>'."\n";
+
+
+
+
+
+ echo '<h3>'.core::l10n("Arboresance").'</h3>'."\n";
+
+ echo '<p class="smallDesc">'."\n"
+ .'<label>'.core::l10n('Choix de l\'arboresance des dossiers et fichiers inscriptibles').'</label>'."\n"
.'<ul>'
.'<li>'
.osc_draw_radio_field('ARBORESANCE', '1', 'all',( (!isset($_POST['ARBORESANCE']) || $_POST['ARBORESANCE'] == '1')? true : false) )."\n" . core::l10n('Classique')
- .core::draw_help('httpSSL', core::l10n('Un dossier contient l\'ensemble des donnée de l\'application')/*, core::l10n('Activer les connections SSL:')*/)."\n"
- .'</li>'
- .'<li>'
+ .core::draw_help('httpSSL', core::l10n('Un dossier contient l\'ensemble des données de l\'application')/*, core::l10n('Activer les connections SSL:')*/)."\n"
+ .'</li>';
+
+
+ $path = substr($this->fs_document_root,0, -(int)strlen('catalog/') );
+ if(file_exists($path) && is_dir($path) && is_writeable($path))
+ echo '<li>'
.osc_draw_radio_field('ARBORESANCE', '2', 'vhost', ( (isset($_POST['ARBORESANCE'])&& $_POST['ARBORESANCE'] == '2')? true : false) )."\n" . core::l10n('Vhost')
- .core::draw_help('httpSSL', core::l10n('Le dossier des données et document est placé au dessus du dossier de l\'application. modificatio du vhost ou acces au dossier superieur')/*, core::l10n('Activer les connections SSL:')*/)."\n"
- .'</li>'
- .'</ul>'
+ .core::draw_help('httpSSL', core::l10n('Le dossier des données et document est placé au dessus du dossier de l\'application. modification du vhost ou acces au dossier superieur')/*, core::l10n('Activer les connections SSL:')*/)."\n"
+ .'</li>';
+
+ echo '</ul>'
.'</p>'."\n";
@@ -240,7 +254,7 @@
/**
- Supplement formulaire pour connexion securisée
+ @brief Supplement formulaire pour connexion securisée
*/
private function connexion_ssl(){
@@ -271,7 +285,7 @@
/**
- Js control
+ @brief Js control
*/
private static function jscontrol(){
?>
@@ -308,6 +322,8 @@
global $db_error;
+ $this->get_fs_document_root();
+
$this->err=false;
$db_error=$lp_error=true;
@@ -328,20 +344,20 @@
osc_db_connect($db['DBMOTOR'], $db['DBMOTOR_PORT'],$db['DBMOTOR_CHARSET'], $db['DB_SERVER'], $db['DB_SERVER_USERNAME'], $db['DB_SERVER_PASSWORD'],$db['DB_DATABASE'], strtolower( $db['DBMOTOR_TYPE']) );
// if ( osc_db_connect($db['DBMOTOR'], $db['DBMOTOR_PORT'], $db['DBMOTOR_PORT'], $db['DBMOTOR_TYPE'],$db['DBMOTOR_CHARSET'], $db['DB_SERVER'], $db['DB_SERVER_USERNAME'], $db['DB_SERVER_PASSWORD']) != false) {
- if(!osc_db_select_db()){
- $this->PileMessage('alert', core::l10n("Test de connexion à la base de données échoué. ") );
+ if(!osc_db_select_db()){
+ $this->PileMessage('alert', core::l10n("Test de connexion à la base de données échoué. ") );
- if(osc_db_test_create_db_permission($db['DB_DATABASE']) ==true){
- $db_error= false;
- $this->PileMessage('alert', core::l10n("Création de la base de donnée") );
- }
- else {
- $db_error= true;
- $this->PileMessage('alert', core::l10n("la création de la base de donnée à echoué, creer la base manuellement puis poursuivez l'installation") );
- }
- }
- else
- $db_error= false;
+ if(osc_db_test_create_db_permission($db['DB_DATABASE']) ==true){
+ $db_error= false;
+ $this->PileMessage('alert', core::l10n("Création de la base de donnée") );
+ }
+ else {
+ $db_error= true;
+ $this->PileMessage('alert', core::l10n("la création de la base de donnée à echoué, creer la base manuellement puis poursuivez l'installation") );
+ }
+ }
+ else
+ $db_error= false;
// }
// else{
// $lp_error=false;
@@ -351,14 +367,14 @@
/** Test si db oscss deja existante, si c'est le cas, force mode upgrade db */
if ($db_error === false) {
- $final=array();
- $res=osc_db_query('SHOW TABLES FROM '.$db['DB_DATABASE']);
- if(tep_db_num_rows($res)>0){
- while($table=tep_db_fetch_array($res))
- $final[]=$table['Tables_in_'.$db['DB_DATABASE']];
- }
+ $final=array();
+ $res=osc_db_query('SHOW TABLES FROM '.$db['DB_DATABASE']);
+ if(tep_db_num_rows($res)>0){
+ while($table=tep_db_fetch_array($res))
+ $final[]=$table['Tables_in_'.$db['DB_DATABASE']];
+ }
- $this->db_exists=(in_array($db['DB_TABLE_PREFIX'].'customers',$final))? true : false;
+ $this->db_exists=(in_array($db['DB_TABLE_PREFIX'].'customers',$final))? true : false;
}
Modified: trunk/catalog/install/includes/content/core.template_sample.php
===================================================================
--- trunk/catalog/install/includes/content/core.template_sample.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/install/includes/content/core.template_sample.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -11,18 +11,25 @@
Structure de répertoire associé au exemple et template/
Les répertoires d'exemple, dans /data/sample
- Les sous-répertoires (photo[chaussure)
+ Les sous-répertoires (photo[chaussure)
Les répertoires de template /sample/templates
- Les sous-répertoires d'exemple (photo[chaussure)
- Les différents templates, /sample/templates/photo/template1 | /sample/templates/photo/template2
+ Les sous-répertoires d'exemple (photo[chaussure)
+ Les différents templates, /sample/templates/photo/template1 | /sample/templates/photo/template2
*/
define('I_WS_DATA', 'data/');
-class template_sample extends core {
+class template_sample
+ extends core {
+ public static function GetSort(){
+ // sort in process
+ return 80;
+ }
+
+
/**
Function exécutée par la class Suivante
*/
Modified: trunk/catalog/install/includes/content/core.update.php
===================================================================
--- trunk/catalog/install/includes/content/core.update.php 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/install/includes/content/core.update.php 2012-03-31 12:23:23 UTC (rev 4115)
@@ -27,14 +27,9 @@
class update
extends core {
-
-
-
-
-
- function _construct(){
+ public static function GetSort(){
// sort in process
- $this->sort = 1;
+ return 99;
}
Modified: trunk/catalog/install/includes/modele/htaccess.txt
===================================================================
--- trunk/catalog/install/includes/modele/htaccess.txt 2012-03-30 19:29:03 UTC (rev 4114)
+++ trunk/catalog/install/includes/modele/htaccess.txt 2012-03-31 12:23:23 UTC (rev 4115)
@@ -145,13 +145,14 @@
RewriteRule ^(.*)account(_([a-z_]*)).(php|html)$ account.php?action=$3&%{QUERY_STRING} [L,QSA]
RewriteRule ^address_([a-z_]*).php$ account.php?aca_mod=address_book&aca_type=account&aca_action=display_view&%{QUERY_STRING}
+ ## form contact_us
RewriteRule ^contact.(php|html)$ index.php?d=contact.php&%{QUERY_STRING} [L,QSA]
## Move xxxx.php >> xxx.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#Mode SEO2 default
- RewriteRule ^([a-zA-Z_]*)\.(php)$ d/$1/$1.html?&%{QUERY_STRING} [R=301]
+ RewriteRule ^([a-zA-Z_]*)\.(php)$ d/$1/$1.html?&%{QUERY_STRING} [R=301]
## Mode SEO
# RewriteRule ^([a-zA-Z_]*)\.(php)$ $1d-$1.html?&%{QUERY_STRING} [R=301]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-30 19:29:10
|
Revision: 4114
http://oscss.svn.sourceforge.net/oscss/?rev=4114&view=rev
Author: oscim
Date: 2012-03-30 19:29:03 +0000 (Fri, 30 Mar 2012)
Log Message:
-----------
correction coquille code, ajustement ergonomie/fonctionnement
Modified Paths:
--------------
trunk/catalog/admin/includes/classes/categorieUtility.php
trunk/catalog/admin/includes/classes/emailUtility.php
trunk/catalog/admin/includes/gabarit/categories/display_view.edit.gab
trunk/catalog/admin/includes/languages/fr_FR/modules/pages/categories.txt
trunk/catalog/admin/includes/modules/configuration/modmail.php
trunk/catalog/admin/includes/modules/pages/categories.php
trunk/catalog/admin/includes/template/oscss/data/icon_set.xml
trunk/catalog/admin/includes/template/oscss/stylesheet-1.css
Modified: trunk/catalog/admin/includes/classes/categorieUtility.php
===================================================================
--- trunk/catalog/admin/includes/classes/categorieUtility.php 2012-03-30 18:04:11 UTC (rev 4113)
+++ trunk/catalog/admin/includes/classes/categorieUtility.php 2012-03-30 19:29:03 UTC (rev 4114)
@@ -9,6 +9,8 @@
@encode UTF-8
@class categorieUtility
*/
+
+
class categorieUtility {
@@ -175,9 +177,8 @@
}
/**
- Parse and secure the cPath parameter values
- @package oscss
- @author OscssTeam
+ @brief Parse and secure the cPath parameter values
+ @param $cPath
*/
public static function parse_category_path($cPath) {
// make sure the category IDs are integers
@@ -209,8 +210,11 @@
}
/**
- @package oscss
- @author OscssTeam
+ @brief generate cpath for categorie
+ @param $id int categorie id
+ @param $from string
+ @param $categories_array array
+ @param $index
*/
public static function generate_category_path($id, $from = 'category', $categories_array = '', $index = 0) {
global $languages_id;
Modified: trunk/catalog/admin/includes/classes/emailUtility.php
===================================================================
--- trunk/catalog/admin/includes/classes/emailUtility.php 2012-03-30 18:04:11 UTC (rev 4113)
+++ trunk/catalog/admin/includes/classes/emailUtility.php 2012-03-30 19:29:03 UTC (rev 4114)
@@ -253,8 +253,7 @@
$t[]=array('id'=>'', 'text'=>'--' );
while ($file = $dirs->read()) {
if ($file !='.' && $file !='..' && is_dir( DIR_FS_ROOT_DOCS. DIR_MODELES.self::TYPE_EMAIL .$file ) ) {
-
- $t[]=array('id'=>$file, 'text'=>$file );
+ $t[]=array('id'=>$file, 'text'=>$file );
}
}
$dirs->close();
Modified: trunk/catalog/admin/includes/gabarit/categories/display_view.edit.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/categories/display_view.edit.gab 2012-03-30 18:04:11 UTC (rev 4113)
+++ trunk/catalog/admin/includes/gabarit/categories/display_view.edit.gab 2012-03-30 19:29:03 UTC (rev 4114)
@@ -76,6 +76,9 @@
<?php foreach($DT->GetTypeForRootListing() as $k=>$row): ?>
<li><?php echo tep_draw_radio_field('categories_datatype', 'categories_datatype' , $row , (in_array($row, explode(',', categories::$cInfo->categories_datatype))? true : false) ) . ' '. $row ?></li>
<?php endforeach; ?>
+
+ <li><hr />
+ <?php echo tep_draw_radio_field('categories_datatype', 'categories_datatype' , 'NULL' , ((categories::$cInfo->categories_datatype == '')? true : false) ) . ' '. __('input datatype value none') ?></li>
</ul>
</div>
</div>
Modified: trunk/catalog/admin/includes/languages/fr_FR/modules/pages/categories.txt
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/modules/pages/categories.txt 2012-03-30 18:04:11 UTC (rev 4113)
+++ trunk/catalog/admin/includes/languages/fr_FR/modules/pages/categories.txt 2012-03-30 19:29:03 UTC (rev 4114)
@@ -28,6 +28,7 @@
$lang['text categories image']="Image de la catégorie :" ;
$lang['text sort order']="Ordre de tri :" ;
$lang['text edit datatype categorie']="Datatype actif pour cette categorie" ;
+ $lang['input datatype value none']="aucun datatype specifique" ;
/* New light */
$lang['image add cat and edit']="Créer et editer" ;
Modified: trunk/catalog/admin/includes/modules/configuration/modmail.php
===================================================================
--- trunk/catalog/admin/includes/modules/configuration/modmail.php 2012-03-30 18:04:11 UTC (rev 4113)
+++ trunk/catalog/admin/includes/modules/configuration/modmail.php 2012-03-30 19:29:03 UTC (rev 4114)
@@ -51,31 +51,31 @@
switch($action){
/**
- @brief save page groupe
+ @brief save page groupe
*/
case 'save_mutli':
- if(tep_not_null($gID) ){
+ if(tep_not_null($gID) ){
- $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
+ $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
- foreach($list as $row) {
+ foreach($list as $row) {
- if(isset($_POST['configuration'][$row->key])) {
- $configuration_value = tep_db_prepare_input($_POST['configuration'][$row->key]);
+ if(isset($_POST['configuration'][$row->key])) {
+ $configuration_value = tep_db_prepare_input($_POST['configuration'][$row->key]);
- if( ($res=sqlconfiguration::update(array('key'=>$row->key , 'value'=>tep_db_input($configuration_value) ))) == false)$erreur[]=false;
- else $erreur[]=true;
+ if( ($res=sqlconfiguration::update(array('key'=>$row->key , 'value'=>tep_db_input($configuration_value) ))) == false)$erreur[]=false;
+ else $erreur[]=true;
- }
+ }
- }
+ }
- if(!in_array(false,$erreur)) $messageStack->add_session(SAVE_CONFIG_OK, 'success');
- else $messageStack->add_session(SAVE_CONFIG_NOT_OK, 'error');
+ if(!in_array(false,$erreur)) $messageStack->add_session(SAVE_CONFIG_OK, 'success');
+ else $messageStack->add_session(SAVE_CONFIG_NOT_OK, 'error');
- }
+ }
- tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $_GET['gID'] . '&cID=' . $cID));
+ tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $_GET['gID'] . '&cID=' . $cID));
break;
}
}
@@ -86,33 +86,33 @@
public function load_db_values($Id){
- $list_edit=array();
- $gID = 12;
+ $list_edit=array();
+ $gID = 12;
- $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
+ $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
- foreach($list as $row) {
+ foreach($list as $row) {
- $cfgValue =configUtility::CallExecConfigLine($row->use, $row->key, $row->value);
+ $cfgValue =configUtility::CallExecConfigLine($row->use, $row->key, $row->value);
- if (!empty($row->set)){
- if(strpos($row->set,'(') === false) $row->set.='(';
- eval('$value_field = ' . $row->set . '"' . htmlspecialchars($row->value) . '","'.$row->key.'");');
- }
- else $value_field = tep_draw_input_field('configuration['.$row->key.']', '',$row->value);
+ if (!empty($row->set)){
+ if(strpos($row->set,'(') === false) $row->set.='(';
+ eval('$value_field = ' . $row->set . '"' . htmlspecialchars($row->value) . '","'.$row->key.'");');
+ }
+ else $value_field = tep_draw_input_field('configuration['.$row->key.']', '',$row->value);
- $conf = $row;
- $row->cfgValue=$cfgValue;
- $row->value_field=$value_field;
+ $conf = $row;
+ $row->cfgValue=$cfgValue;
+ $row->value_field=$value_field;
- $list_edit[$row->key]=$conf;
- }
+ $list_edit[$row->key]=$conf;
+ }
return $list_edit;
}
/**
- Appelé dans le header de page
+ @brief Appelé dans le header de page
*/
public static function draw_header(){
?>
@@ -130,10 +130,7 @@
}
/**
- Contenu central
- @param
- @e global $action
- @e global $gparentID
+ @brief Contenu central
*/
public function draw(){
global $action,$gparentID;
Modified: trunk/catalog/admin/includes/modules/pages/categories.php
===================================================================
--- trunk/catalog/admin/includes/modules/pages/categories.php 2012-03-30 18:04:11 UTC (rev 4113)
+++ trunk/catalog/admin/includes/modules/pages/categories.php 2012-03-30 19:29:03 UTC (rev 4114)
@@ -512,10 +512,12 @@
private static function get_item_action($categories){
return sprintf(
CsrtAction::getFormat('row_action'),
- sprintf(CsrtAction::getLink('row_action_right', __('image view public') , 'publiclink'), '', tep_catalog_href_link('index.php', 'cPath=' . $categories['cPath'],'SSL', true, 'forceview') ,' target="blank" ' ).
sprintf(CsrtAction::getLink('row_action_right', IMAGE_EDIT, 'edit'), '', tep_href_link(self::FILENAME, 'cPath=' . self::$cPath . '&cID=' . $categories['categories_id'] . '&action=edit' ),'' ).
sprintf(CsrtAction::getLink('row_action_right', IMAGE_DELETE, 'delete'), 'fancy', tep_href_link(self::FILENAME, 'cPath=' . self::$cPath . '&cID=' . $categories['categories_id'] . '&action=delete') ,'' ),
- sprintf(CsrtAction::getLink('row_action_right', ICON_FOLDER, 'dir'), '', tep_href_link(self::FILENAME, 'cPath=' . $categories['cPath'] ),'' )
+
+ sprintf(CsrtAction::getLink('row_action_right', ICON_FOLDER, 'childs'), '', tep_href_link(self::FILENAME, 'cPath=' . $categories['cPath'] ),'' ).
+ sprintf(CsrtAction::getLink('row_action_right', __('image view public') , 'publiclink'), '', tep_catalog_href_link('index.php', 'cPath=' . $categories['cPath'],'SSL', true, 'forceview') ,' target="blank" ' )
+
);
}
Modified: trunk/catalog/admin/includes/template/oscss/data/icon_set.xml
===================================================================
--- trunk/catalog/admin/includes/template/oscss/data/icon_set.xml 2012-03-30 18:04:11 UTC (rev 4113)
+++ trunk/catalog/admin/includes/template/oscss/data/icon_set.xml 2012-03-30 19:29:03 UTC (rev 4114)
@@ -36,6 +36,7 @@
<refresh>refresh.png</refresh>
<config>settings.png</config>
<heldorder>arrow_switch.png</heldorder>
+ <childs>icon_plus.gif</childs>
<!-- <recup_order>
</recup_order> -->
<remove>remove.gif</remove>
Modified: trunk/catalog/admin/includes/template/oscss/stylesheet-1.css
===================================================================
--- trunk/catalog/admin/includes/template/oscss/stylesheet-1.css 2012-03-30 18:04:11 UTC (rev 4113)
+++ trunk/catalog/admin/includes/template/oscss/stylesheet-1.css 2012-03-30 19:29:03 UTC (rev 4114)
@@ -7,7 +7,7 @@
* @author oscim <mail aur...@os...> <www http://www.oscim.fr>
* @encode UTF-8
*/
-body { background:#faf9f7 url(img/1/body.jpg) repeat-x; color:#000; margin:0; padding:0; font: normal 11px Verdana, Arial, sans-serif; }
+body { background:#faf9f7 url(img/1/body.jpg) left -80px repeat-x; color:#000; margin:0; padding:0; font: normal 11px Verdana, Arial, sans-serif; }
html { height: 100%;}
/* prepend */
* {margin:0;padding:0}
@@ -274,7 +274,7 @@
#menubar{ background:transparent ; height:25px; border-top: 1px solid #fff;}
#menubar li.account {padding-right:8px;}
/* user bar */
-#user { background:transparent ;border-top: 1px solid #fff; padding-right:10px; height:25px;}
+#user { background:transparent ;border-top: 1px solid #fff; padding-right:10px; height:28px;}
#user ul#MenuExts li { background:transparent url(img/1/bg_header.jpg) repeat-x ;padding:0 8px;}
#user ul#MenuExts li a {color:white;}
#user ul#MenuExts li a:hover{color:gray;}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-30 18:04:20
|
Revision: 4113
http://oscss.svn.sourceforge.net/oscss/?rev=4113&view=rev
Author: oscim
Date: 2012-03-30 18:04:11 +0000 (Fri, 30 Mar 2012)
Log Message:
-----------
Suite developpement de la prise en charge de la col datatype des categories, et restructuration de la creation des categories, amelioration de la class sqlcategorie, ajout de criteres plus large dans les appels , ajustement de categorieUtility, et mise a niveau du code , asjustement des functions associ?\195?\169es dans function/generale, mise a niveau du fr
ajout de creation rapide de categorie dircetement dans les pages produit / content, ajustement code et gabarit html, mise a niveau du fr
Amelioration et mise a niveau du code , ajustement des fichier sql d'install et d'upgrade
Correction et amelioration du css du admin/template/oscss
Modified Paths:
--------------
trunk/catalog/admin/includes/classes/categorieUtility.php
trunk/catalog/admin/includes/classes/drivers/sqlcategorie.php
trunk/catalog/admin/includes/functions/general.php
trunk/catalog/admin/includes/functions/html_output.php
trunk/catalog/admin/includes/gabarit/categories/display_view.edit.gab
trunk/catalog/admin/includes/gabarit/categories/display_view.inline.gab
trunk/catalog/admin/includes/gabarit/categories/display_view.listing.gab
trunk/catalog/admin/includes/gabarit/cms_content/display_view.edit.gab
trunk/catalog/admin/includes/gabarit/cms_content/display_view.listing.gab
trunk/catalog/admin/includes/gabarit/header_tags.form.gab
trunk/catalog/admin/includes/gabarit/products/display_view.edit.gab
trunk/catalog/admin/includes/gabarit/products/display_view.listing.gab
trunk/catalog/admin/includes/languages/fr_FR/modules/pages/categories.txt
trunk/catalog/admin/includes/languages/fr_FR/modules/pages/cms_content.txt
trunk/catalog/admin/includes/languages/fr_FR/modules/pages/products.txt
trunk/catalog/admin/includes/modules/pages/categories.php
trunk/catalog/admin/includes/modules/pages/products.php
trunk/catalog/admin/includes/template/oscss/jquery-ui-1.css
trunk/catalog/admin/includes/template/oscss/stylesheet-1.css
trunk/catalog/install/includes/sql/mysql/data/40_osc_categories.sql
trunk/catalog/install/includes/sql/mysql/tables/osc_categories.sql
Added Paths:
-----------
trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/40_osc_categories.sql
trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/tables/osc_categories.sql
Modified: trunk/catalog/admin/includes/classes/categorieUtility.php
===================================================================
--- trunk/catalog/admin/includes/classes/categorieUtility.php 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/classes/categorieUtility.php 2012-03-30 18:04:11 UTC (rev 4113)
@@ -4,7 +4,7 @@
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 13/03/2012, 10:01
+ @date 30/03/2012, 09:32
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
@class categorieUtility
@@ -13,40 +13,69 @@
/**
- Construction tableau recap des categories, fonction recusrive
- @package oscss-codev
- @author oscim - <mail aur...@os...> <www http://www.oscim.fr>
- @version 1.0
- @param
- @a int l'id de la categorie root
- @a bool/int false par defaut, entier du niveau de la branche si appel recursif
+ @fn get_cat_list($current_ID='',$incre=false)
+ @brief Construction tableau recap des categories, et ajout des information de profondeur de la categorie et du nombre de sous categorie
+ @note fonction recusrive
+ @param $option array (
+ $current_ID int l'id de la categorie root ,
+ $incre bool/int false par defaut, entier du niveau de la branche si appel recursif ,
+ $datatype string force datatype ,
+ )
+ @return
+ array (
+ categories_id,
+ categories_name,
+ categories_image,
+ parent_id,
+ sort_order,
+ date_added,
+ last_modified,
+ categories_status,
+ categories_hidden,
+ )
*/
- public static function get_cat_list($current_ID='',$incre=false){
+ public static function get_cat_list($option){
global $languages_id, $current_category_id;
+ $incre= (isset($option['incre']) ? (bool)$option['incre']: false );
$cat=array();
$niv=($incre ==false)? 0 : $incre++ ;
$search = (isset($_GET['search'])) ? "and cd.categories_name like '%" .tep_db_prepare_input($_GET['search']). "%' " : '' ;
- $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id, c.sort_order, c.date_added, c.last_modified,c.categories_status,c.categories_hidden, cd.categories_description, cd.categories_head_keywords_tag from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)(($current_ID >=0)?$current_ID :$current_category_id) . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' ".$search." order by c.parent_id ASC , c.sort_order ASC, cd.categories_name ASC");
+ if(isset($option['root']) && (int)$option['root']>=0)
+ $current_ID = (int) $option['root'];
+ else
+ $current_ID = (int) $current_category_id;
+ if(isset($option['datatype'])) $search .="AND (c.categories_datatype LIKE '%".(string)tep_db_input($option['datatype'])."%' OR c.categories_datatype ='' ) ";
+ if(isset($option['status'])) $search .="AND c.categories_status = '".(int)tep_db_input($option['status'])."' ";
+ if(isset($option['hidden'])) $search .="AND c.categories_hidden = '".(int)tep_db_input($option['hidden'])."' ";
+
+ $sql ="SELECT c.categories_id, cd.categories_name, c.categories_image, c.parent_id, c.sort_order, c.date_added, c.last_modified,c.categories_status,c.categories_hidden ".
+ " FROM " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd ".
+ " WHERE c.parent_id = '" . $current_ID . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id .
+ "' ".$search.
+ " ORDER BY c.parent_id ASC , c.sort_order ASC, cd.categories_name ASC";
+
+ $categories_query = tep_db_query($sql);
+
while ($categories = tep_db_fetch_array($categories_query)){
- $nbr=self::childs_in_category_count($categories['categories_id']);
- $cat[]=array_merge($categories, array('childs_count' => $nbr, 'niveau'=>$niv) );
- $niv++;
- if($nbr !=0) $cat=array_merge($cat,(array)get_cat_list($categories['categories_id'], $niv) );
- $niv--;
+ $nbr=self::childs_in_category_count($categories['categories_id']);
+ $cat[]=array_merge($categories, array('childs_count' => $nbr, 'niveau'=>$niv) );
+ $niv++;
+ if($nbr !=0) $cat=array_merge($cat,(array)get_cat_list($categories['categories_id'], $niv) );
+ $niv--;
}
return $cat;
}
/**
- Count how many subcategories exist in a category
- TABLES: categories
- @package oscss-2 <www http://www.oscss.org>
- @author oscim <mail os...@os...> <www http://www.oscim.fr>
- @param
- @a int l'id de la categorie parent
+ @fn childs_in_category_count($categories_id)
+ @brief Count how many subcategories exist in a category
+ TABLES: categories
+ @param $categories_id int l'id de la categorie parent
+ @return
+ integer number of childs categorie for current categorie
*/
public static function childs_in_category_count($categories_id) {
$categories_count = 0;
@@ -74,7 +103,7 @@
if(count($carr)>1) {
foreach(array_reverse($carr) as $v)
- $calculated_category_path_string .=$v['id'] . '_';
+ $calculated_category_path_string .=$v['id'] . '_';
$calculated_category_path_string = substr($calculated_category_path_string, 0, -1);
}
@@ -85,23 +114,61 @@
}
-
- public static function get_category_tree($parent_id = '0', $spacing = '', $exclude = '', $category_tree_array = '', $include_itself = false) {
+ /**
+ @brief construct array categorie name for select menu
+ @param $opt array for put params
+ */
+// public static function get_category_tree($parent_id = '0', $spacing = '', $exclude = '', $category_tree_array = '', $include_itself = false) {
+ public static function get_category_tree($opt) {
global $languages_id;
+ $parent_id = (isset($opt['parent_id'])) ? $opt['parent_id'] : 0;
+ $spacing = (isset($opt['spacing'])) ? $opt['spacing'] : ' ';
+ $exclude = (isset($opt['exclude'])) ? (array)$opt['exclude'] : array();
+ $category_tree_array = (isset($opt['category_tree_array'])) ? $opt['category_tree_array'] : '';
+ $include_itself = (isset($opt['include_itself '])) ? $opt['include_itself '] : false;
+
if (!is_array($category_tree_array)) $category_tree_array = array();
- if ( (sizeof($category_tree_array) < 1) && ($exclude != '0') ) $category_tree_array[] = array('id' => '0', 'text' => TEXT_TOP);
+ if ( (sizeof($category_tree_array) < 1) && (! in_array(0, $exclude )) ) $category_tree_array[] = array('id' => '0', 'text' => TEXT_TOP);
- if ($include_itself) {
- $category_query = tep_db_query("select cd.categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " cd where cd.language_id = '" . (int)$languages_id . "' and cd.categories_id = '" . (int)$parent_id . "'");
- $category = tep_db_fetch_array($category_query);
- $category_tree_array[] = array('id' => $parent_id, 'text' => $category['categories_name']);
- }
+ $param['parent_id'] = $parent_id;
- $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and c.parent_id = '" . (int)$parent_id . "' order by c.sort_order, cd.categories_name");
- while ($categories = tep_db_fetch_array($categories_query)) {
- if ($exclude != $categories['categories_id']) $category_tree_array[] = array('id' => $categories['categories_id'], 'text' => $spacing . $categories['categories_name']);
- $category_tree_array = self::get_category_tree($categories['categories_id'], $spacing . ' ', $exclude, $category_tree_array);
+ if(isset($opt['datatype']))
+ $param['datatype'] = $opt['datatype'];
+
+ if(isset($opt['language_id'])){
+ $lg = $param['language_id'] = $opt['language_id'];
+ }
+ else
+ $lg = $languages_id;
+
+
+ $all = sqlcategorie::fetch($param, true);
+
+ if(is_object($all))
+ $res = array($all);
+ else
+ $res = $all;
+
+
+
+// if ($include_itself) {
+// $category_query = tep_db_query("select cd.categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " cd where cd.language_id = '" . (int)$languages_id . "' and cd.categories_id = '" . (int)$parent_id . "'");
+// $category = tep_db_fetch_array($category_query);
+// $category_tree_array[] = array('id' => $parent_id, 'text' => $category['categories_name']);
+// }
+ if(is_array($res))
+ foreach($res as $row){
+ if (! in_array($row->id, $exclude )){
+ $category_tree_array[] = array( 'id' => $row->id, 'text' => tep_decal(substr_count($row->cpath,'_')) . $row->name[$lg]);
+
+ $new_opt = $opt;
+ $new_opt['parent_id'] = (int)$row->id;
+ $new_opt['category_tree_array'] = $category_tree_array;
+ $new_opt['exclude'] = $exclude;
+
+ $category_tree_array = self::get_category_tree($new_opt);
+ }
}
return $category_tree_array;
Modified: trunk/catalog/admin/includes/classes/drivers/sqlcategorie.php
===================================================================
--- trunk/catalog/admin/includes/classes/drivers/sqlcategorie.php 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/classes/drivers/sqlcategorie.php 2012-03-30 18:04:11 UTC (rev 4113)
@@ -4,7 +4,7 @@
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 06/03/2012, 20:11
+ @date 30/03/2012, 09:32
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
@class sqlcategorie
@@ -59,11 +59,12 @@
self::getInstance();
-// if( ! isset($option['id']) )
-// self::$error = __('no id');
-// else
-// $id = (int)$option['id'];
+ if( ! isset($option['sqlarray']) )
+ self::$error = __('sqlarray');
+ else
+ $sqlarray = (array)$option['sqlarray'];
+
if( ! isset($option['post']) )
self::$error = __('no post');
else
@@ -72,14 +73,13 @@
$list_languages=tep_get_languages();
$sql_data_array['date_added'] = 'now()';
- $sql_data_array['sort_order'] = (!empty($post['sort_order'])) ? tep_db_prepare_input((int)$post['sort_order']) : 0 ;
- $sql_data_array['parent_id'] = (!empty($sql_data_array['parent_id'])) ? tep_db_prepare_input((int)$sql_data_array['parent_id']) : 0 ;
+ $sql_data_array['sort_order'] = (!empty($sqlarray['sort_order']) ? tep_db_prepare_input((int)$sqlarray['sort_order']) : 0 );
+ $sql_data_array['parent_id'] = (!empty($sqlarray['parent_id']) ? tep_db_prepare_input((int)$sqlarray['parent_id']) : 0 );
- $sql_data_array['categories_status'] = (!empty($post['categories_status'])) ? tep_db_prepare_input((int)$post['categories_status']) : 0 ;
- $sql_data_array['categories_hidden'] = (!empty($post['categories_hidden'])) ? tep_db_prepare_input((int)$post['categories_hidden']) : 0 ;
- $sql_data_array['categories_datatype'] = (!empty($post['categories_datatype'])) ? tep_db_prepare_input((int)$post['categories_datatype']) : 'product' ;
+ $sql_data_array['categories_status'] = (!empty($sqlarray['status'])) ? tep_db_prepare_input((int)$sqlarray['status']) : 0 ;
+ $sql_data_array['categories_hidden'] = (!empty($sqlarray['hidden'])) ? tep_db_prepare_input((int)$sqlarray['hidden']) : 0 ;
+ $sql_data_array['categories_datatype'] = (!empty($sqlarray['datatype'])) ? tep_db_prepare_input($sqlarray['datatype']) : '' ;
-
// Put post value
self::$modules->load_post_values($post);
@@ -88,7 +88,6 @@
$res=tep_db_perform(TABLE_CATEGORIES, $sql_data_array);
-
if(!$res)
return $res;
else
@@ -99,6 +98,7 @@
// cpath adjust
$sql_data_array=array();
$sql_data_array['categories_cpath'] = categorieUtility::get_generated_category_path_ids($categories_id);
+
$res=tep_db_perform(TABLE_CATEGORIES, $sql_data_array, 'update', "categories_id = '" . $categories_id . "'");
@@ -204,22 +204,25 @@
}
/**
- @brief load ligne in table configuration
+ @brief load ligne in table categorie and categorie_description
+ @note if language_id
@param option array
- id => row id int (configuration_id)
- key => string key (configuration_key)
- group_id => group_id int (configuration_group_id)
-
+ id => row id int (categories_id)
+ datatype => string key dadatype
+ status => status int flag on/off
+ hidden => hidden int visibility
+ language_id => language_id int if defined retrun One language else retrun all language
+
@return
object(stdClass)[13]
- public 'id' => string '1' (length=1)
+ public 'id' => string '1' (length=1)
- OR
- array(
- object(stdClass)[13]
- ...
- object(stdClass)[13]
+ OR
+ array(
+ object(stdClass)[13]
+ ...
+ object(stdClass)[13]
..
)
@@ -227,44 +230,59 @@
public static function fetch($option,$shortkey=false){
self::getInstance();
$DB=Database::getInstance();
+ $languages_id = 0;
+
$sql ="";
- if( ! isset($option['id']) )
- self::$error = __('no id');
- else{
- $ID = $option['id'];
- }
+ $sort="";
- if( ! isset($option['language_id']) )
- self::$error = __('no language_id');
- else
+ if(isset($option['id'])) $sql .="AND c.categories_id = '".(int)tep_db_input($option['id'])."' ";
+ if(isset($option['parent_id'])) $sql .="AND c.parent_id = '".(int)tep_db_input($option['parent_id'])."' ";
+ if(isset($option['datatype'])) $sql .="AND (c.categories_datatype LIKE '%".(string)tep_db_input($option['datatype'])."%' OR c.categories_datatype ='' ) ";
+ if(isset($option['status'])) $sql .="AND c.categories_status = '".(int)tep_db_input($option['status'])."' ";
+ if(isset($option['hidden'])) $sql .="AND c.categories_hidden = '".(int)tep_db_input($option['hidden'])."' ";
+
+
+ if( isset($option['language_id']) )
$languages_id = $option['language_id'];
+ // retro-compatibilite
+ elseif( isset($option['languages_id']) )
+ $languages_id = $option['languages_id'];
+ if( isset($option['sort']) )
+ $sort = $option['sort'];
- $sql ="SELECT * FROM " . TABLE_CATEGORIES . " c WHERE c.categories_id = '" . (int)$ID . "' "; //.substr($sql,3);
- $res=$DB->query($sql);
+ $_sql ="SELECT * FROM " . TABLE_CATEGORIES . " c ";
+ if($sql !='') $_sql .=" WHERE ".substr($sql,3);
+ if($sort !='') $_sql .=" ".$sort;
+
+ $res=$DB->query($_sql);
$num = $res->__get('numRows');
if($num == 1){
$result = $res->fetchAssoc();
- $check_q = $DB->query($sql="select * from " . TABLE_CATEGORIES_DESCRIPTION . " cd where categories_id = '" .(int) $ID . "'");
+ if($languages_id > 0)
+ $check_q = $DB->query($sql="select * from " . TABLE_CATEGORIES_DESCRIPTION . " cd where categories_id = '" .(int) $result['categories_id'] . "' AND language_id = '".(int)$languages_id."' ");
+ else
+ $check_q = $DB->query($sql="select * from " . TABLE_CATEGORIES_DESCRIPTION . " cd where categories_id = '" .(int) $result['categories_id'] . "'");
foreach($check_q->fetchAllAssoc() as $catlg){
$result['categories_name'][$catlg['language_id']] = $catlg['categories_name'];
$result['categories_description'][$catlg['language_id']] = $catlg['categories_description'];
}
+
if($result['categories_datatype'] == 'product')
- $result['products_count'] = categorieUtility::products_in_category_count($ID);
+ $result['products_count'] = categorieUtility::products_in_category_count((int) $result['categories_id']);
elseif($result['categories_datatype'] == 'content')
- $result['cms_count'] =categorieUtility::cms_in_category_count($ID);
+ $result['cms_count'] =categorieUtility::cms_in_category_count((int) $result['categories_id']);
- $result['childs_count'] =categorieUtility::childs_in_category_count($ID);
- $result['cPath'] = categorieUtility::get_generated_category_path_ids($ID);
+ $result['childs_count'] =categorieUtility::childs_in_category_count((int) $result['categories_id'] );
+ $result['cPath'] = categorieUtility::get_generated_category_path_ids( (int) $result['categories_id'] );
/// Childs module load
- self::$modules->load_db_values($ID);
+ self::$modules->load_db_values((int) $result['categories_id']);
return ((!$shortkey)? $result : self::CleanKey($result));
}
@@ -273,20 +291,23 @@
foreach($res->fetchAllAssoc() as $result){
- $check_q = $DB->query($sql="select * from " . TABLE_CATEGORIES_DESCRIPTION . " cd where categories_id = '" .(int) $ID . "'");
+ if($languages_id > 0)
+ $check_q = $DB->query($sql="select * from " . TABLE_CATEGORIES_DESCRIPTION . " cd where categories_id = '" .(int) $result['categories_id'] . "' AND language_id = '".(int)$languages_id."' ");
+ else
+ $check_q = $DB->query($sql="select * from " . TABLE_CATEGORIES_DESCRIPTION . " cd where categories_id = '" .(int) $result['categories_id'] . "'");
foreach($check_q->fetchAllAssoc() as $catlg){
$result['categories_name'][$catlg['language_id']] = $catlg['categories_name'];
$result['categories_description'][$catlg['language_id']] = $catlg['categories_description'];
}
- $result['products_count'] = categorieUtility::products_in_category_count($ID);
- $result['cms_count'] =categorieUtility::cms_in_category_count($ID);
- $result['childs_count'] =categorieUtility::childs_in_category_count($ID);
- $result['cPath'] = categorieUtility::get_generated_category_path_ids($ID);
+ $result['products_count'] = categorieUtility::products_in_category_count( (int) $result['categories_id'] );
+ $result['cms_count'] =categorieUtility::cms_in_category_count( (int) $result['categories_id'] );
+ $result['childs_count'] =categorieUtility::childs_in_category_count( (int) $result['categories_id'] );
+ $result['cPath'] = categorieUtility::get_generated_category_path_ids( (int) $result['categories_id'] );
/// Childs module load
- self::$modules->load_db_values($ID);
+ self::$modules->load_db_values( (int) $result['categories_id'] );
$array[]= ((!$shortkey)? $result : self::CleanKey($result));
}
@@ -365,7 +386,7 @@
$DB->query($sql="INSERT INTO " . $table . " (".$datatype."_id, categories_id) VALUES ('" . (int)$data_id . "', '".ORPHELIN_COLLECTOR."')");
else
foreach($data_array_link as $value)
- $DB->query($sql="INSERT INTO " . $table . " (".$datatype."_id, categories_id) VALUES ('" . (int)$data_id . "', '" . (int)preg_replace('#.*_#i','',$value). "')");
+ $DB->query($sql="INSERT INTO " . $table . " (".$datatype."_id, categories_id) VALUES ('" . (int)$data_id . "', '" . (int)preg_replace('#.*_#i','',$value). "')");
return true;
}
Modified: trunk/catalog/admin/includes/functions/general.php
===================================================================
--- trunk/catalog/admin/includes/functions/general.php 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/functions/general.php 2012-03-30 18:04:11 UTC (rev 4113)
@@ -1,10 +1,10 @@
<?php
/**
- @licence GPL 2005-2010 The osCSS developers - osCSS Open Source E-commerce
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 22/09/11, 20:11
+ @date 30/03/2012, 09:32
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
@@ -756,6 +756,10 @@
return graphs_stats::ajax_in_Sats($cl);
}
+
+
+
+
function tep_get_file_permissions($mode) { return fileUtility::get_file_permissions($mode);}
function tep_remove($source) { return fileUtility::_rmdir($source); }
function bu_gzip($directory, $file_in, $ext='zip',$delete_file = false, $level = 6) { return fileUtility::compress_dir($directory, $file_in, $ext, $delete_file , $level); }
@@ -780,13 +784,15 @@
function tep_get_languages($byindex=false, $public=true) { return language::get_languages($byindex, $public); }
-function get_cat_list($current_ID='',$incre=false){ return categorieUtility:: get_cat_list($current_ID,$incre); }
+function get_cat_list($current_ID='',$incre=false){ return categorieUtility::get_cat_list(array('root'=>$current_ID,'incre'=>$incre)); }
function tep_childs_in_category_count($categories_id) { return categorieUtility::childs_in_category_count($categories_id); }
function tep_get_generated_category_path_ids($id, $from = 'category') { return categorieUtility::get_generated_category_path_ids($id, $from); }
-function tep_get_category_tree($parent_id = '0', $spacing = '', $exclude = '', $category_tree_array = '', $include_itself = false) { return categorieUtility::get_category_tree($parent_id, $spacing, $exclude, $category_tree_array, $include_itself); }
function tep_parse_category_path($cPath) { return categorieUtility::parse_category_path($cPath); }
function tep_get_category_name($category_id, $language_id='') { return categorieUtility::get_category_name($category_id, $language_id); }
function tep_generate_category_path($id, $from = 'category', $categories_array = '', $index = 0) { return categorieUtility::generate_category_path($id, $from, $categories_array, $index); }
+function tep_get_category_tree($parent_id = '0', $spacing = '', $exclude = '', $category_tree_array = '', $include_itself = false) {
+ return categorieUtility::get_category_tree( array( 'parent_id'=> $parent_id, 'spacing'=> $spacing, 'exclude'=> $exclude, 'category_tree_array'=> $category_tree_array, 'include_itself'=> $include_itself ));
+}
function tep_get_products_special_price($product_id) { return productUtility::get_products_special_price($product_id); }
function tep_get_uprid($prid, $params) { return productUtility::get_uprid($prid, $params); }
Modified: trunk/catalog/admin/includes/functions/html_output.php
===================================================================
--- trunk/catalog/admin/includes/functions/html_output.php 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/functions/html_output.php 2012-03-30 18:04:11 UTC (rev 4113)
@@ -3,8 +3,8 @@
@licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
- @version 2.1.2
- @date 18/01/2012, 22:53
+ @version 2.1.1
+ @date 30/03/2012, 09:32
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
Modified: trunk/catalog/admin/includes/gabarit/categories/display_view.edit.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/categories/display_view.edit.gab 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/gabarit/categories/display_view.edit.gab 2012-03-30 18:04:11 UTC (rev 4113)
@@ -74,7 +74,7 @@
<Label><?php echo __('text edit datatype categorie') ?></label>
<ul>
<?php foreach($DT->GetTypeForRootListing() as $k=>$row): ?>
- <li><?php echo tep_draw_radio_field('categories_datatype', 'categories_datatype' , $row , ((categories::$cInfo->categories_datatype == $row)? true : false) ) . ' '. $row ?></li>
+ <li><?php echo tep_draw_radio_field('categories_datatype', 'categories_datatype' , $row , (in_array($row, explode(',', categories::$cInfo->categories_datatype))? true : false) ) . ' '. $row ?></li>
<?php endforeach; ?>
</ul>
</div>
Modified: trunk/catalog/admin/includes/gabarit/categories/display_view.inline.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/categories/display_view.inline.gab 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/gabarit/categories/display_view.inline.gab 2012-03-30 18:04:11 UTC (rev 4113)
@@ -14,10 +14,10 @@
<td>
<div>
<ul>
- <li><?php echo __('text date added').tep_date_short(categories::$cInfo->date_added) ?></li>
- <li><a href="<?php echo tep_href_link(FILENAME_CATEGORIES, 'cPath='.categories::$cInfo->categories_id) ?>"><?php echo __('text subcategories').categories::$cInfo->childs_count ?></a></li>
- <li><a href="<?php echo tep_href_link(FILENAME_PRODUCTS, 'cPath='.categories::$cInfo->categories_id) ?>"><?php echo __('text products').categories::$cInfo->products_count ?></a></li>
- <li><a href="<?php echo tep_href_link(FILENAME_CMS_CONTENT, 'cPath='.categories::$cInfo->cPath) ?>"><?php echo __('text cms').categories::$cInfo->cms_count ?></a></li>
+ <li><?php echo __('text date added').tep_date_short(categories::$cInfo->date_added) ?></li>
+ <li><a href="<?php echo tep_href_link(FILENAME_CATEGORIES, 'cPath='.categories::$cInfo->categories_id) ?>"><?php echo __('text subcategories').categories::$cInfo->childs_count ?></a></li>
+ <li><a href="<?php echo tep_href_link(FILENAME_PRODUCTS, 'cPath='.categories::$cInfo->categories_id) ?>"><?php echo __('text products').categories::$cInfo->products_count ?></a></li>
+ <li><a href="<?php echo tep_href_link(FILENAME_CMS_CONTENT, 'cPath='.categories::$cInfo->cPath) ?>"><?php echo __('text cms').categories::$cInfo->cms_count ?></a></li>
</ul>
</div>
</td>
Modified: trunk/catalog/admin/includes/gabarit/categories/display_view.listing.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/categories/display_view.listing.gab 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/gabarit/categories/display_view.listing.gab 2012-03-30 18:04:11 UTC (rev 4113)
@@ -8,6 +8,7 @@
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
+global $languages_id;
?>
<h3><?php echo __('heading title'); ?></h3>
@@ -24,7 +25,7 @@
<div class="box_uniq">
<div id="CurrentPathSelect" >
- <?php echo tep_draw_form('goto', categories::FILENAME, '', 'get').'<p>'. tep_draw_pull_down_menu('cPath', tep_get_category_tree(), categories::$current_category_id, 'onchange="this.form.submit();" title="'.__('heading title goto').'" ').'</p></form>'; ?>
+ <?php echo tep_draw_form('goto', categories::FILENAME, '', 'get').'<p>'. tep_draw_pull_down_menu('cPath', categorieUtility::get_category_tree(array('language_id'=>$languages_id )), categories::$current_category_id, 'onchange="this.form.submit();" title="'.__('heading title goto').'" ').'</p></form>'; ?>
</div>
Modified: trunk/catalog/admin/includes/gabarit/cms_content/display_view.edit.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/cms_content/display_view.edit.gab 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/gabarit/cms_content/display_view.edit.gab 2012-03-30 18:04:11 UTC (rev 4113)
@@ -65,12 +65,15 @@
<?php echo tep_draw_radio_field('content_status', 'content_status_1', '1', cms_content::$enabled_status) . __('text content enabled') . tep_draw_radio_field('content_status', 'content_status_0', '0', cms_content::$disabled_status) . __('text content disabled'); ?>
</dt>
<dt class="block_input w_90 CategoryView">
- <label><?php echo __('txt categories'); ?></label>
+ <label>
+ <span class="text"><?php echo __('txt categories'); ?></span>
+ <span class="button_nav"><?php echo '<a class="buttonimg fancy" href="' . tep_href_link(FILENAME_CATEGORIES, '&datatype=content&action=new_light&origin='. urlencode(cms_content::FILENAME.'?action=edit&cID='. (int)@$_GET['cID']) ) . '" title="'. __('add category datatype content').'">' .tep_image(DIR_WS_ICONS.'icon_add_new.png' ). '</a>'; ?> </span>
+ </label>
<ul id="cat_list_in_edit">
<?php foreach(cms_content::$cInfo->categories as $v){ $k=$v['categories_id'];
echo '<li class="selected">'. tep_draw_checkbox_field('categories['.$k.']','cat_'.$k, tep_get_generated_category_path_ids($k), true ).' '.tep_get_category_name($k).'</li>';
}
- foreach(get_cat_list(0) as $v)
+ foreach(categorieUtility::get_cat_list(array('root'=>0,'incre'=>false, 'datatype'=>'content'))/*get_cat_list(0)*/ as $v)
if(!isset(cms_content::$cInfo->categories[$v['categories_id']])){
echo '<li class="'.(isset(cms_content::$cInfo->categories[$v['categories_id']])? 'selected' : 'noselected').'">'.tep_decal($v['niveau']).' '. tep_draw_checkbox_field('categories['.$v['categories_id'].']','cat_'.$v['categories_id'], tep_get_generated_category_path_ids($v['categories_id']), (isset(cms_content::$cInfo->categories[$v['categories_id']])?true : false) ).' '.$v['categories_name'].'</li>';
}
Modified: trunk/catalog/admin/includes/gabarit/cms_content/display_view.listing.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/cms_content/display_view.listing.gab 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/gabarit/cms_content/display_view.listing.gab 2012-03-30 18:04:11 UTC (rev 4113)
@@ -1,25 +1,27 @@
<?php
/**
- @licence GPL 2005-2011 The osCSS developers - osCSS Open Source E-commerce
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 17/12/11, 09:32
+ @date 30/03/2012, 09:32
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
+global $languages_id;
?>
<h3 class="pageHeading"><?php echo __('heading title'); ?></h3>
<div class="button_nav ">
- <?php echo '<a class="button" href="' . tep_href_link(cms_content::FILENAME, 'action=new') . '">' .tep_image(DIR_WS_ICONS.'icon_add_new.png' ). IMAGE_INSERT . '</a>'; ?>
+ <?php echo '<a class="button" href="' . tep_href_link(cms_content::FILENAME, 'action=new') . '">' .tep_image(DIR_WS_ICONS.'icon_add_new.png' ). __('image create new content') . '</a>'; ?>
+ <?php echo '<a class="button fancy" href="' . tep_href_link(FILENAME_CATEGORIES, '&datatype=content&action=new_light&origin='. cms_content::FILENAME) . '">' .tep_image(DIR_WS_ICONS.'icon_add_new.png' ). __('add category datatype content') . '</a>'; ?>
</div>
<br style="clear:both"/>
<div class="box_uniq">
<div id="CurrentPathSelect" >
- <?php echo tep_draw_form('goto', cms_content::FILENAME, '', 'get').'<p>'. tep_draw_pull_down_menu('cPath', tep_get_category_tree(), (isset($_GET['cPath'])?(int)$_GET['cPath']: 0) , 'onchange="this.form.submit();" title="'.__('heading title goto').'" ').'</p></form>'; ?>
+ <?php echo tep_draw_form('goto', cms_content::FILENAME, '', 'get').'<p>'. tep_draw_pull_down_menu('cPath', categorieUtility::get_category_tree(array('datatype'=>'content', 'language_id'=>$languages_id )), (isset($_GET['cPath'])?(int)$_GET['cPath']: 0) , 'onchange="this.form.submit();" title="'.__('heading title goto').'" ').'</p></form>'; ?>
</div>
<table class="dataTable">
Modified: trunk/catalog/admin/includes/gabarit/header_tags.form.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/header_tags.form.gab 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/gabarit/header_tags.form.gab 2012-03-30 18:04:11 UTC (rev 4113)
@@ -31,12 +31,12 @@
<br />
<label for="<?php echo 'header_tags' ?>_head_desc_tag_<?php echo header_tags::$languages[$i]['id'] ?>"><?php echo __('text products header description').tep_image(DIR_WS_ICONS .'icon_help.gif', __('text products header description help')) ?></label>
- <?php echo tep_draw_textarea_field('header_tags'.'[head_desc_tag][' . header_tags::$languages[$i]['id'] . ']', 'header_tags'.'_head_desc_tag_' . header_tags::$languages[$i]['id'], '70', '3', (isset( header_tags::$pInfo->head_desc_tag[header_tags::$languages[$i]['id']]) ? header_tags::$pInfo->head_desc_tag[header_tags::$languages[$i]['id']] : '')) ?>
+ <?php echo tep_draw_textarea_field('header_tags'.'[head_desc_tag][' . header_tags::$languages[$i]['id'] . ']', 'header_tags'.'_head_desc_tag_' . header_tags::$languages[$i]['id'], '60', '3', (isset( header_tags::$pInfo->head_desc_tag[header_tags::$languages[$i]['id']]) ? header_tags::$pInfo->head_desc_tag[header_tags::$languages[$i]['id']] : '')) ?>
<br />
<label for="<?php echo 'header_tags' ?>_head_keywords_tag_<?php echo header_tags::$languages[$i]['id'] ?>"><?php echo __('text products keywords').tep_image(DIR_WS_ICONS .'icon_help.gif', __('text products keywords help')) ?></label>
- <?php echo tep_draw_textarea_field('header_tags'.'[head_keywords_tag][' . header_tags::$languages[$i]['id'] . ']', 'header_tags'.'_head_keywords_tag_' . header_tags::$languages[$i]['id'], '70', '3', (isset( header_tags::$pInfo->head_keywords_tag[header_tags::$languages[$i]['id']]) ? header_tags::$pInfo->head_keywords_tag[header_tags::$languages[$i]['id']] :'')); ?>
+ <?php echo tep_draw_textarea_field('header_tags'.'[head_keywords_tag][' . header_tags::$languages[$i]['id'] . ']', 'header_tags'.'_head_keywords_tag_' . header_tags::$languages[$i]['id'], '60', '3', (isset( header_tags::$pInfo->head_keywords_tag[header_tags::$languages[$i]['id']]) ? header_tags::$pInfo->head_keywords_tag[header_tags::$languages[$i]['id']] :'')); ?>
</fieldset>
</div>
Modified: trunk/catalog/admin/includes/gabarit/products/display_view.edit.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/products/display_view.edit.gab 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/gabarit/products/display_view.edit.gab 2012-03-30 18:04:11 UTC (rev 4113)
@@ -4,7 +4,7 @@
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 21/02/2012, 23:13
+ @date 30/02/2012, 23:13
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
@@ -223,18 +223,23 @@
<?php echo tep_draw_radio_field('products_status', 'products_status_1', '1', products::$in_status,'','class="radio"') . __('text product available') . tep_draw_radio_field('products_status', 'products_status_0', '0', products::$out_status,'','class="radio"') . __('text product not available'); ?>
</dd>
<dd class="block_input w_90 CategoryView ">
- <label for="products_date_available"><?php echo __('txt categories'); ?></label>
+
+ <label>
+ <span class="text"><?php echo __('txt categories'); ?></span>
+ <span class="button_nav"><?php echo '<a class="buttonimg fancy" href="' . tep_href_link(FILENAME_CATEGORIES, '&datatype=content&action=new_light&origin='. urlencode(products::FILENAME.'?action=edit&pID='. (int)@$_GET['cID']) ) . '" title="'. __('add category datatype content').'">' .tep_image(DIR_WS_ICONS.'icon_add_new.png' ). '</a>'; ?> </span>
+ </label>
+
<ul id="cat_list_in_edit" class="ChooseSelect">
<?php foreach(products::$pInfo->categories as $v){ $k=$v['categories_id'];
echo '<li class="selected">'. tep_draw_checkbox_field('categories['.$k.']','cat_'.$k, tep_get_generated_category_path_ids($k), true ).' '.tep_get_category_name($k).'</li>';
}
- foreach(get_cat_list(0) as $v)
- if(!isset(products::$pInfo->categories[$v['categories_id']])){
- echo '<li class="'.(isset(products::$pInfo->categories[$v['categories_id']])? 'selected' : 'noselected').'">'.tep_decal($v['niveau']).' '. tep_draw_checkbox_field('categories['.$v['categories_id'].']','cat_'.$v['categories_id'], tep_get_generated_category_path_ids($v['categories_id']), (isset(products::$pInfo->categories[$v['categories_id']])?true : false) ).' '.$v['categories_name'].'</li>';
- }
- else
- echo '<li class="'.(isset(products::$pInfo->categories[$v['categories_id']])? 'selected' : 'noselected').'">'.tep_decal($v['niveau']).' '. ' '.$v['categories_name'].'</li>';
- ?>
+
+ foreach(categorieUtility::get_cat_list(array('root'=>0,'incre'=>false, 'datatype'=>'product')) as $v)
+ if(!isset(products::$pInfo->categories[$v['categories_id']]))
+ echo '<li class="'.(isset(products::$pInfo->categories[$v['categories_id']])? 'selected' : 'noselected').'">'.tep_decal($v['niveau']).' '. tep_draw_checkbox_field('categories['.$v['categories_id'].']','cat_'.$v['categories_id'], tep_get_generated_category_path_ids($v['categories_id']), (isset(products::$pInfo->categories[$v['categories_id']])?true : false) ).' '.$v['categories_name'].'</li>';
+ else
+ echo '<li class="'.(isset(products::$pInfo->categories[$v['categories_id']])? 'selected' : 'noselected').'">'.tep_decal($v['niveau']).' '. ' '.$v['categories_name'].'</li>';
+ ?>
</ul>
</dd>
<dd class="block_input button_nav" style="width:95%;">
Modified: trunk/catalog/admin/includes/gabarit/products/display_view.listing.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/products/display_view.listing.gab 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/gabarit/products/display_view.listing.gab 2012-03-30 18:04:11 UTC (rev 4113)
@@ -4,7 +4,7 @@
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 26/03/2012, 09:32
+ @date 30/03/2012, 09:32
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
@@ -18,16 +18,17 @@
</div>
<div class="navButtons">
<?php
-
/// Uniquement si stock actif
if(_cst_bool('STOCK_CHECK'))
echo '<a class="button" href="' . tep_href_link(FILENAME_FEEDS,'box=low_stock') . '">' . tep_image(DIR_WS_ICONS.'icon_feed.png' , IMAGE_TRACKED_LOW_STOCK,16,16) .IMAGE_TRACKED_LOW_STOCK . '</a>';
-
- echo '<a class="button" href="' . tep_href_link(FILENAME_PRODUCTS, tep_get_all_get_params(array('action','cPath','search')).'action=new') . '">' . tep_image(DIR_WS_ICONS.'icon_add_new.png' , IMAGE_NEW_PRODUCT) .IMAGE_NEW_PRODUCT . '</a>';
if(!isset($_GET['expected'])) echo '<a class="button" href="' . tep_href_link(FILENAME_PRODUCTS, 'expected=true') . '">' . __('image expected on') . '</a>';
else echo '<a class="button" href="' . tep_href_link(FILENAME_PRODUCTS) . '">' . __('image expected off') . '</a>';
- ?>
+
+ echo '<a class="button" href="' . tep_href_link(FILENAME_PRODUCTS, tep_get_all_get_params(array('action','cPath','search')).'action=new') . '">' . tep_image(DIR_WS_ICONS.'icon_add_new.png' , IMAGE_NEW_PRODUCT) .IMAGE_NEW_PRODUCT . '</a>';
+
+ echo '<a class="button fancy" href="' . tep_href_link(FILENAME_CATEGORIES, '&datatype=product&action=new_light&origin='. products::FILENAME) . '">' .tep_image(DIR_WS_ICONS.'icon_add_new.png' ). __('add category datatype content') . '</a>';
+ ?>
</div>
</div>
<br style="clear:both;" />
Modified: trunk/catalog/admin/includes/languages/fr_FR/modules/pages/categories.txt
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/modules/pages/categories.txt 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/languages/fr_FR/modules/pages/categories.txt 2012-03-30 18:04:11 UTC (rev 4113)
@@ -1,10 +1,10 @@
<?php
/**
- @licence GPL 2005-2011 The osCSS developers - osCSS Open Source E-commerce
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 13/09/11, 17:30
+ @date 30/03/2012, 09:32
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
@@ -13,22 +13,25 @@
$lang['heading title goto']="Aller à :" ;
/* listing */
-$lang['table heading id']="ID" ;
-$lang['table heading categories images']="img" ;
-$lang['table heading categories']="Catégories" ;
-$lang['table heading action']="Action" ;
-$lang['table heading status']="Statut" ;
-$lang['table heading categories id']="ID" ;
-$lang['table heading view status']="Menu" ;
-$lang['table heading view datatype']="Données" ;
+ $lang['table heading id']="ID" ;
+ $lang['table heading categories images']="img" ;
+ $lang['table heading categories']="Catégories" ;
+ $lang['table heading action']="Action" ;
+ $lang['table heading status']="Statut" ;
+ $lang['table heading categories id']="ID" ;
+ $lang['table heading view status']="Menu" ;
+ $lang['table heading view datatype']="Données" ;
/* Edit */
-$lang['text categories name']="Nom de la catégorie :" ;
-$lang['text categories image']="Image de la catégorie :" ;
-$lang['text sort order']="Ordre de tri :" ;
-$lang['text edit datatype categorie']="Datatype actif pour cette categorie" ;
+ $lang['text categories name']="Nom de la catégorie :" ;
+ $lang['text categories image']="Image de la catégorie :" ;
+ $lang['text sort order']="Ordre de tri :" ;
+ $lang['text edit datatype categorie']="Datatype actif pour cette categorie" ;
+/* New light */
+ $lang['image add cat and edit']="Créer et editer" ;
+
/* other */
$lang['text categories']="Catégories :" ;
$lang['text subcategories']="Sous-catégories :" ;
Modified: trunk/catalog/admin/includes/languages/fr_FR/modules/pages/cms_content.txt
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/modules/pages/cms_content.txt 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/languages/fr_FR/modules/pages/cms_content.txt 2012-03-30 18:04:11 UTC (rev 4113)
@@ -1,22 +1,32 @@
<?php
/**
- @licence GPL 2005-2011 The osCSS developers - osCSS Open Source E-commerce
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 08/10/11, 11:13
+ @date 30/03/2012, 09:32
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
$lang['heading title']="Gestion du contenu" ;
$lang['heading title edit']="Édition d'une page" ;
-$lang['table heading id']="ID" ;
-$lang['table heading listings']="Clef" ;
-$lang['table heading date added']="Crée(s)" ;
-$lang['table heading categories']="Catégorie" ;
-$lang['table heading c title']="Titre" ;
-$lang['table heading last modified']="Dernière modification" ;
-$lang['table heading action']="Action" ;
+
+/* listing */
+ $lang['table heading id']="ID" ;
+ $lang['table heading listings']="Clef" ;
+ $lang['table heading date added']="Crée(s)" ;
+ $lang['table heading categories']="Catégorie" ;
+ $lang['table heading c title']="Titre" ;
+ $lang['table heading last modified']="Dernière modification" ;
+ $lang['table heading action']="Action" ;
+
+ $lang['add category datatype content']="Ajouter une catégorie" ;
+ $lang['image create new content']="Créer une page" ;
+/* Edit */
+
+/* other */
+
+
$lang['entry content']="Clef : " ;
$lang['entry content help']="La clef permet l'appel de cette page, elle ce doit d'être unique. Pour appeler plusieurs page, il est possible d'utiliser une racine de clef commune " ;
$lang['text info delete content intro']="Êtes-vous sûr de vouloir supprimer ce contenu ?" ;
@@ -37,4 +47,7 @@
$lang['heading title search']="Chercher" ;
$lang['txt categories']="Catégories" ;
$lang['tab content data']="Contenu" ;
+
+
+
?>
\ No newline at end of file
Modified: trunk/catalog/admin/includes/languages/fr_FR/modules/pages/products.txt
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/modules/pages/products.txt 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/languages/fr_FR/modules/pages/products.txt 2012-03-30 18:04:11 UTC (rev 4113)
@@ -4,7 +4,7 @@
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 21/02/2012, 23:13
+ @date 30/03/2012, 09:32
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
@@ -51,6 +51,7 @@
$lang['table heading price']="Prix" ;
$lang['table heading type']="Type" ;
+ $lang['add category datatype content']="Ajouter une catégorie" ;
/* new products */
$lang['heading title type']="Type :" ;
Modified: trunk/catalog/admin/includes/modules/pages/categories.php
===================================================================
--- trunk/catalog/admin/includes/modules/pages/categories.php 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/modules/pages/categories.php 2012-03-30 18:04:11 UTC (rev 4113)
@@ -4,7 +4,7 @@
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 01/01/12, 09:44
+ @date 30/03/2012, 09:32
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
@brief manage category and module aca for cat
@@ -144,9 +144,10 @@
/// specific SEO cache
if ( preg_match("/(insert|update|setflag)/i", self::$action) )
- tep_reset_cache_data_seo_urls('reset');
+ tep_reset_cache_data_seo_urls('reset');
switch (self::$action) {
+
case 'setflag':
if ( ($_GET['flag'] == '0') || ($_GET['flag'] == '1') ) {
if (isset($_GET['cID'])) {
@@ -186,53 +187,93 @@
/**
CATEGORIES
*/
- case 'insert':
- case 'update':
+ case 'insert':
+// print_r($_POST['cPath']);
+ $params['sqlarray'] = array(
+ 'sort_order' => (isset($_POST['sort_order'])) ? tep_db_prepare_input((int)$_POST['sort_order']) : 0 ,
+ 'parent_id' => (isset($_POST['cPath'])) ? tep_db_prepare_input($_POST['cPath']) : 0,
+ 'status' => (isset($_POST['categories_status'])) ? tep_db_prepare_input((int)$_POST['categories_status']) : 0,
+ 'hidden' => (isset($_POST['categories_hidden'])) ? tep_db_prepare_input((int)$_POST['categories_hidden']) : 0 ,
+ 'datatype' => (isset($_POST['categories_datatype'])) ? tep_db_prepare_input((string)$_POST['categories_datatype']) : 'product' ,
+ 'cPath' => (isset($_POST['cPath'])) ? tep_db_prepare_input($_POST['cPath']) : 0,
+ );
- if (isset($_POST['categories_id'])) $categories_id = tep_db_prepare_input((int)$_POST['categories_id']);
+ if (!isset($_POST['categories_image_no']) && !empty($_POST['categories_image']) )
+ $params['sqlarray']['categories_image']=sqlcategorie::AddImage(@$_POST['categories_image'], @$_POST['categories_image_no']);
+ else
+ $params['sqlarray']['categories_image']='';
- $params['sqlarray'] = array('sort_order' => (isset($_POST['sort_order'])) ? tep_db_prepare_input((int)$_POST['sort_order']) : 0 ,
- 'parent_id' => tep_db_prepare_input((int)@$_POST['cPath']),
- 'categories_status' => (isset($_POST['categories_status'])) ? tep_db_prepare_input((int)$_POST['categories_status']) : 0,
- 'categories_hidden' => (isset($_POST['categories_hidden'])) ? tep_db_prepare_input((int)$_POST['categories_hidden']) : 0 ,
- 'categories_datatype' => (isset($_POST['categories_datatype'])) ? tep_db_prepare_input((string)$_POST['categories_datatype']) : 'product' ,
- );
+ $params['action']=self::$action;
+ $params['post']=$_POST;
+ $params['language_id']= $languages_id;
+// $params['cPath']=(isset($_POST['cPath'])) ? tep_db_prepare_input($_POST['cPath']) : 0;
- if (!isset($_POST['categories_image_no']) && !empty($_POST['categories_image']) )
- $params['sqlarray']['categories_image']=sqlcategorie::AddImage(@$_POST['categories_image'], @$_POST['categories_image_no']);
- else
- $params['sqlarray']['categories_image']='';
+ $res = sqlcategorie::create($params);
+ if( ! $res )
+ $messageStack->add_session(sprintf(__('error save categorie : %s'), sqlcategorie::$error ), 'error');
+ else
+ $messageStack->add_session(sprintf(__('save categorie %s success'), $categories_id ), 'success');
- $params['id']=$categories_id;
- $params['action']=self::$action;
- $params['post']=$_POST;
- $params['language_id']= $languages_id;
- $params['cPath']=(isset($_POST['cPath'])) ? tep_db_prepare_input($_POST['cPath']) : 0;
+ osCSS_Cache::clear('categoriesBox');
+ osCSS_Cache::clear('category_tree');
+ osCSS_Cache::clear('also_purchased');
+ if(isset($_POST['up_and_close']) )
+ if(isset($_POST['origin']) ) tep_redirect(tep_href_link($_POST['origin']));
+ else tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . self::$cPath . ''));
+ else
+ tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . self::$cPath . '&cID=' . $categories_id.'&action=edit'));
+ break;
- if (self::$action == 'insert')
- $res = sqlcategorie::create($params);
- elseif (self::$action == 'update')
- $res = sqlcategorie::update($params);
+ case 'update':
+ if (isset($_POST['categories_id'])) $categories_id = tep_db_prepare_input((int)$_POST['categories_id']);
- if( ! $res )
- $messageStack->add_session(sprintf(__('error save categorie : %s'), sqlcategorie::$error ), 'error');
- else
- $messageStack->add_session(sprintf(__('save categorie %s success'), $categories_id ), 'success');
+ $params['sqlarray'] = array('sort_order' => (isset($_POST['sort_order'])) ? tep_db_prepare_input((int)$_POST['sort_order']) : 0 ,
+ 'parent_id' => tep_db_prepare_input((int)@$_POST['cPath']),
+ 'categories_status' => (isset($_POST['categories_status'])) ? tep_db_prepare_input((int)$_POST['categories_status']) : 0,
+ 'categories_hidden' => (isset($_POST['categories_hidden'])) ? tep_db_prepare_input((int)$_POST['categories_hidden']) : 0 ,
+ 'categories_datatype' => (isset($_POST['categories_datatype'])) ? tep_db_prepare_input((string)$_POST['categories_datatype']) : 'product' ,
+ );
- osCSS_Cache::clear('categoriesBox');
- osCSS_Cache::clear('category_tree');
- osCSS_Cache::clear('also_purchased');
+ if (!isset($_POST['categories_image_no']) && !empty($_POST['categories_image']) )
+ $params['sqlarray']['categories_image']=sqlcategorie::AddImage(@$_POST['categories_image'], @$_POST['categories_image_no']);
+ else
+ $params['sqlarray']['categories_image']='';
- if(isset($_POST['up_and_close']) ) tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . self::$cPath . '&cID=' . $categories_id));
- else tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . self::$cPath . '&cID=' . $categories_id.'&action=edit'));
- break;
+ $params['id']=$categories_id;
+ $params['action']=self::$action;
+ $params['post']=$_POST;
+ $params['language_id']= $languages_id;
+ $params['cPath']=(isset($_POST['cPath'])) ? tep_db_prepare_input($_POST['cPath']) : 0;
+
+
+
+ if (self::$action == 'insert')
+ $res = sqlcategorie::create($params);
+ elseif (self::$action == 'update')
+ $res = sqlcategorie::update($params);
+
+
+ if( ! $res )
+ $messageStack->add_session(sprintf(__('error save categorie : %s'), sqlcategorie::$error ), 'error');
+ else
+ $messageStack->add_session(sprintf(__('save categorie %s success'), $categories_id ), 'success');
+
+
+ osCSS_Cache::clear('categoriesBox');
+ osCSS_Cache::clear('category_tree');
+ osCSS_Cache::clear('also_purchased');
+
+ if(isset($_POST['up_and_close']) ) tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . self::$cPath . '&cID=' . $categories_id));
+ else tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . self::$cPath . '&cID=' . $categories_id.'&action=edit'));
+
+ break;
case 'delete_confirm':
/**
@@ -325,6 +366,27 @@
tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . self::$cPath ));
break;
+ /**
+ @remarks Popup Ajax QuickNew
+ */
+ case 'new_light':
+ $GLOBALS['cPath']=null;
+
+ self::$cInfo = new objectInfo( sqlcategorie::Specimen() );
+
+ if(isset($_GET['datatype']))
+ self::$cInfo->categories_datatype = tep_db_prepare_input( $_GET['datatype']);
+
+ $oscss->_add_ext(BO_WISIWYG_SELECTED,'editeur/');
+ for ($i=0, $n=sizeof(self::$languages); $i<$n; $i++) {
+ echo $oscss->_call(BO_WISIWYG_SELECTED,'_top','categories_description[' . self::$languages[$i]['id'] . ']','600','400');
+ }
+
+ break;
+
+ /**
+ @remarks Normal Form news
+ */
case 'new':
/// reliquat oscom Reset Global For use tep_input_radio
$GLOBALS['cPath']=null;
@@ -407,6 +469,13 @@
break;
/**
+ @remarks Ajax popup
+ */
+ case 'new_light':
+ $action='new_light';
+ break;
+
+ /**
@remarks Normal View Page
*/
case 'edit':
Modified: trunk/catalog/admin/includes/modules/pages/products.php
===================================================================
--- trunk/catalog/admin/includes/modules/pages/products.php 2012-03-30 11:52:24 UTC (rev 4112)
+++ trunk/catalog/admin/includes/modules/pages/products.php 2012-03-30 18:04:11 UTC (rev 4113)
@@ -189,142 +189,144 @@
tep_redirect(tep_href_link(self::FILENAME));
break;
- case 'insert':
-// case 'insert_product_base':
- $typeID = (int)tep_db_prepare_input($_POST['products_virtual_type_id']);
+ case 'insert':
+ // case 'insert_product_base':
+ $typeID = (int)tep_db_prepare_input($_POST['products_virtual_type_id']);
- $products_id=sqlproduct::create(array('type'=>$typeID, 'language_id'=>$typeID));
+ $products_id=sqlproduct::create(array('type'=>$typeID, 'language_id'=>$typeID));
- tep_redirect(tep_href_link(self::FILENAME, tep_get_all_get_params(array('action','cPath','pID'),false).'pID=' . $products_id.'&action=edit'));
- break;
+ tep_redirect(tep_href_link(self::FILENAME, tep_get_all_get_params(array('action','cPath','pID'),false).'pID=' . $products_id.'&action=edit'));
+ break;
- case 'insert_product':
- case 'update_product':
- $params = array();
- if (isset($_GET['pID'])) $products_id = tep_db_prepare_input($_GET['pID']);
+ case 'insert_product':
+ case 'update_product':
+ $params = array();
+ if (isset($_GET['pID'])) $products_id = tep_db_prepare_input($_GET['pID']);
- $products_date_available = (isset($_POST['products_date_available'])) ? tep_db_prepare_input($_POST['products_date_available']) : '';
- $products_date_available = (date('Y-m-d') < tep_date_raw($products_date_available)) ? tep_date_raw($products_date_available) : 'null';
+ $products_date_available = (isset($_POST['products_date_available'])) ? tep_db_prepare_input($_POST['products_date_available']) : '';
+ $products_date_available = (date('Y-m-d') < tep_date_raw($products_date_available)) ? tep_date_raw($products_date_available) : 'null';
- $params['sqlarray'] = array('products_quantity' => (isset($_POST['products_quantity']) ? tep_db_prepare_input($_POST['products_quantity']) : 0),
- 'products_model' => (isset($_POST['products_model'])? tep_db_prepare_input($_POST['products_model']) : ''),
- 'products_price' => tep_db_prepare_input($_POST['products_price']),
- 'products_date_available' => $products_date_available,
- 'products_weight' => (isset($_POST['products_weight'])? tep_db_prepare_input($_POST['products_weight']) : 0) ,
- 'products_status' => tep_db_prepare_input($_POST['products_status']),
- 'products_tax_class_id' => tep_db_prepare_input($_POST['products_tax_class_id']),
- 'manufacturers_id' => (isset($_POST['manufacturers_id']) ?tep_db_prepare_input($_POST['manufacturers_id']) : ''),
- 'track_stock' => (isset($_POST['track_stock']) ? tep_db_prepare_input($_POST['track_stock']) : ((self::$modules->type_flag==1 ) ? 1 : 0) ),
- 'products_ordered' => (isset($_POST['products_ordered']) ? tep_db_prepare_input($_POST['products_ordered']) : '0' )
- );
+ $params['sqlarray'] = array('products_quantity' => (isset($_POST['products_quantity']) ? tep_db_prepare_input($_POST['products_quantity']) : 0),
+ 'products_model' => (isset($_POST['products_model'])? tep_db_prepare_input($_POST['products_model']) : ''),
+ 'products_price' => tep_db_prepare_input($_POST['products_price']),
+ 'products_date_available' => $products_date_available,
+ 'products_weight' => (isset($_POST['products_weight'])? tep_db_prepare_input($_POST['products_weight']) : 0) ,
+ 'products_status' => tep_db_prepare_input($_POST['products_status']),
+ 'products_tax_class_id' => tep_db_prepare_input($_POST['products_tax_class_id']),
+ 'manufacturers_id' => (isset($_POST['manufacturers_id']) ?tep_db_prepare_input($_POST['manufacturers_id']) : ''),
+ 'track_stock' => (isset($_POST['track_stock']) ? tep_db_prepare_input($_POST['track_stock']) : ((self::$modules->type_flag==1 ) ? 1 : 0) ),
+ 'products_ordered' => (isset($_POST['products_ordered']) ? tep_db_prepare_input($_POST['products_ordered']) : '0' )
+ );
- //! added qtpro
- if(self::$product_investigation['has_tracked_options'] or self::$product_investigation['stock_entries_count'] > 0){
- //Do not modify the stock from this page if the product has database entries or has tracked options
- unset($params['sqlarray']['products_quantity']);
- }
+ //! added qtpro
+ if(self::$product_investigation['has_tracked_options'] or self::$product_investigation['stock_entries_count'] > 0){
+ //Do not modify the stock from this page if the product has database entries or has tracked options
+ unset($params['sqlarray']['products_quantity']);
+ }
- if (isset($_POST['products_image']) && !preg_match('#^[0-9]*$#',$_POST['products_image']) && ($_POST['products_image'] != 'none')){
- if( substr($_POST['products_image'], 0,strlen( DIR_WS_CATALOG_IMAGES)) ==DIR_WS_CA...
[truncated message content] |
|
From: <os...@us...> - 2012-03-30 11:52:31
|
Revision: 4112
http://oscss.svn.sourceforge.net/oscss/?rev=4112&view=rev
Author: oscim
Date: 2012-03-30 11:52:24 +0000 (Fri, 30 Mar 2012)
Log Message:
-----------
Report de l'usage de la class DataType dans le BO
Ajustement de Datatype pour fonctionner en FO et BO
Correction et amelioration des driver pour une prise en chareg correct, et ajout d'un flag dynamic, pour separer les Datatype dynamic (product, content, .. ) des static (diver, error)
Ajustement des pages de categorie pour la prise en charge de la selction du datatype, celui reste dynamique en fonction des datatype actif dans la configuration
Ajout d'un retour en 404, lorsque la page d'index ne trouve pas de datatype coresspondant
Modified Paths:
--------------
trunk/catalog/admin/includes/classes/drivers/sqlcategorie.php
trunk/catalog/admin/includes/gabarit/categories/display_view.edit.gab
trunk/catalog/admin/includes/gabarit/categories/display_view.listing.gab
trunk/catalog/admin/includes/languages/fr_FR/modules/pages/categories.txt
trunk/catalog/admin/includes/modules/pages/categories.php
trunk/catalog/common/classes/DataTypes.php
trunk/catalog/common/classes/datatype_drivers/Data_categorie.php
trunk/catalog/common/classes/datatype_drivers/Data_content.php
trunk/catalog/common/classes/datatype_drivers/Data_customer.php
trunk/catalog/common/classes/datatype_drivers/Data_diver.php
trunk/catalog/common/classes/datatype_drivers/Data_error.php
trunk/catalog/common/classes/datatype_drivers/Data_home.php
trunk/catalog/common/classes/datatype_drivers/Data_manufacturer.php
trunk/catalog/common/classes/datatype_drivers/Data_product.php
trunk/catalog/index.php
Modified: trunk/catalog/admin/includes/classes/drivers/sqlcategorie.php
===================================================================
--- trunk/catalog/admin/includes/classes/drivers/sqlcategorie.php 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/admin/includes/classes/drivers/sqlcategorie.php 2012-03-30 11:52:24 UTC (rev 4112)
@@ -77,7 +77,9 @@
$sql_data_array['categories_status'] = (!empty($post['categories_status'])) ? tep_db_prepare_input((int)$post['categories_status']) : 0 ;
$sql_data_array['categories_hidden'] = (!empty($post['categories_hidden'])) ? tep_db_prepare_input((int)$post['categories_hidden']) : 0 ;
+ $sql_data_array['categories_datatype'] = (!empty($post['categories_datatype'])) ? tep_db_prepare_input((int)$post['categories_datatype']) : 'product' ;
+
// Put post value
self::$modules->load_post_values($post);
@@ -152,12 +154,13 @@
$sql_data_array = $option['sqlarray'];
$sql_data_array['last_modified'] = 'now()';
- $sql_data_array['sort_order'] = (!empty($post['sort_order'])) ? tep_db_prepare_input((int)$post['sort_order']) : 0 ;
+ $sql_data_array['sort_order'] = (!empty($sql_data_array['sort_order'])) ? tep_db_prepare_input((int)$sql_data_array['sort_order']) : 0 ;
$sql_data_array['parent_id'] = (!empty($sql_data_array['parent_id'])) ? tep_db_prepare_input((int)$sql_data_array['parent_id']) : 0 ;
$sql_data_array['categories_cpath'] = categorieUtility::get_generated_category_path_ids($id,'category');
- $sql_data_array['categories_status'] = (!empty($post['categories_status'])) ? tep_db_prepare_input((int)$post['categories_status']) : 0 ;
- $sql_data_array['categories_hidden'] = (!empty($post['categories_hidden'])) ? tep_db_prepare_input((int)$post['categories_hidden']) : 0 ;
+ $sql_data_array['categories_status'] = (!empty($sql_data_array['categories_status'])) ? tep_db_prepare_input((int)$sql_data_array['categories_status']) : 0 ;
+ $sql_data_array['categories_hidden'] = (!empty($sql_data_array['categories_hidden'])) ? tep_db_prepare_input((int)$sql_data_array['categories_hidden']) : 0 ;
+ if(!empty($sql_data_array['categories_datatype'])) $sql_data_array['categories_datatype'] = tep_db_prepare_input($sql_data_array['categories_datatype']) ;
// Put post value
self::$modules->load_post_values($post);
@@ -173,14 +176,14 @@
for ($i=0, $n=sizeof($list_languages); $i<$n; $i++) {
- $language_id = (int)$list_languages[$i]['id'];
- $sql_data_array = array('categories_name' => tep_db_prepare_input($categories_name_array[$language_id]),
- 'categories_description'=>tep_db_prepare_input($categories_desc_array[$language_id]));
+ $language_id = (int)$list_languages[$i]['id'];
+ $sql_data_array = array('categories_name' => tep_db_prepare_input($categories_name_array[$language_id]),
+ 'categories_description'=>tep_db_prepare_input($categories_desc_array[$language_id]));
- $tabl=self::$modules->get_update_table_categories_description ($list_languages[$i]['id']);
- $sql_data_array = array_merge($sql_data_array, $tabl);
+ $tabl=self::$modules->get_update_table_categories_description ($list_languages[$i]['id']);
+ $sql_data_array = array_merge($sql_data_array, $tabl);
- tep_db_perform(TABLE_CATEGORIES_DESCRIPTION, $sql_data_array, 'update', "categories_id = '" . $id . "' and language_id = '" . $language_id . "'");
+ tep_db_perform(TABLE_CATEGORIES_DESCRIPTION, $sql_data_array, 'update', "categories_id = '" . $id . "' and language_id = '" . $language_id . "'");
}
@@ -252,8 +255,11 @@
$result['categories_name'][$catlg['language_id']] = $catlg['categories_name'];
$result['categories_description'][$catlg['language_id']] = $catlg['categories_description'];
}
- $result['products_count'] = categorieUtility::products_in_category_count($ID);
- $result['cms_count'] =categorieUtility::cms_in_category_count($ID);
+ if($result['categories_datatype'] == 'product')
+ $result['products_count'] = categorieUtility::products_in_category_count($ID);
+ elseif($result['categories_datatype'] == 'content')
+ $result['cms_count'] =categorieUtility::cms_in_category_count($ID);
+
$result['childs_count'] =categorieUtility::childs_in_category_count($ID);
$result['cPath'] = categorieUtility::get_generated_category_path_ids($ID);
@@ -267,21 +273,22 @@
foreach($res->fetchAllAssoc() as $result){
- $check_q = $DB->query($sql="select * from " . TABLE_CATEGORIES_DESCRIPTION . " cd where categories_id = '" .(int) $ID . "'");
+ $check_q = $DB->query($sql="select * from " . TABLE_CATEGORIES_DESCRIPTION . " cd where categories_id = '" .(int) $ID . "'");
- foreach($check_q->fetchAllAssoc() as $catlg){
- $result['categories_name'][$catlg['language_id']] = $catlg['categories_name'];
- $result['categories_description'][$catlg['language_id']] = $catlg['categories_description'];
- }
- $result['products_count'] = categorieUtility::products_in_category_count($ID);
- $result['cms_count'] =categorieUtility::cms_in_category_count($ID);
- $result['childs_count'] =categorieUtility::childs_in_category_count($ID);
- $result['cPath'] = categorieUtility::get_generated_category_path_ids($ID);
+ foreach($check_q->fetchAllAssoc() as $catlg){
+ $result['categories_name'][$catlg['language_id']] = $catlg['categories_name'];
+ $result['categories_description'][$catlg['language_id']] = $catlg['categories_description'];
+ }
- /// Childs module load
- self::$modules->load_db_values($ID);
+ $result['products_count'] = categorieUtility::products_in_category_count($ID);
+ $result['cms_count'] =categorieUtility::cms_in_category_count($ID);
+ $result['childs_count'] =categorieUtility::childs_in_category_count($ID);
+ $result['cPath'] = categorieUtility::get_generated_category_path_ids($ID);
- $array[]= ((!$shortkey)? $result : self::CleanKey($result));
+ /// Childs module load
+ self::$modules->load_db_values($ID);
+
+ $array[]= ((!$shortkey)? $result : self::CleanKey($result));
}
return $array;
@@ -291,6 +298,7 @@
return false;
}
+
/**
@brief delete row
*/
@@ -365,14 +373,16 @@
/**
- @brief
- @return array empty
+ @brief Speciemen
+ @return array or object
*/
public static function Specimen($shortkey=false){
$list_languages=tep_get_languages();
$result = array(
+ 'categories_id'=>0,
+ 'categories_datatype'=>'product',
'parent_id'=>0,
'sort_order'=>0,
'categories_id'=>null,
Modified: trunk/catalog/admin/includes/gabarit/categories/display_view.edit.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/categories/display_view.edit.gab 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/admin/includes/gabarit/categories/display_view.edit.gab 2012-03-30 11:52:24 UTC (rev 4112)
@@ -9,6 +9,9 @@
@encode UTF-8
*/
global $oscss;
+
+$DT = DataTypes::getInstance();
+
?>
<h3><?php echo __('text info heading edit category'); ?></h3>
@@ -32,15 +35,8 @@
<div id="tabs-1" class="tabPage">
- <p class="block_input">
- <Label><?php echo __('text edit sort order') ?></label>
- <?php echo tep_draw_input_field('sort_order', '', categories::$cInfo->sort_order, 'size="2"') ?>
+<!-- <p class="block_input"> -->
- <?php /** Hidden Inputs */ if(categories::$action == 'edit') echo tep_draw_hidden_field('categories_id', '', categories::$cInfo->categories_id); ?>
-
- </p>
- <p class="block_input">
-
<div class="tabs_lang">
<ul>
<?php for ($i=0, $n=sizeof(categories::$languages); $i<$n; $i++) { ?>
@@ -61,6 +57,27 @@
</fieldset>
<?php } ?>
</div>
+
+
+
+
+ <p class="block_input">
+ <Label><?php echo __('text edit sort order') ?></label>
+ <?php echo tep_draw_input_field('sort_order', '', categories::$cInfo->sort_order, 'size="2"') ?>
+
+ <?php /** Hidden Inputs */ if(categories::$action == 'edit') echo tep_draw_hidden_field('categories_id', '', categories::$cInfo->categories_id); ?>
+
+ </p>
+
+
+ <div class="block_input">
+ <Label><?php echo __('text edit datatype categorie') ?></label>
+ <ul>
+ <?php foreach($DT->GetTypeForRootListing() as $k=>$row): ?>
+ <li><?php echo tep_draw_radio_field('categories_datatype', 'categories_datatype' , $row , ((categories::$cInfo->categories_datatype == $row)? true : false) ) . ' '. $row ?></li>
+ <?php endforeach; ?>
+ </ul>
+ </div>
</div>
<?php
Modified: trunk/catalog/admin/includes/gabarit/categories/display_view.listing.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/categories/display_view.listing.gab 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/admin/includes/gabarit/categories/display_view.listing.gab 2012-03-30 11:52:24 UTC (rev 4112)
@@ -28,31 +28,34 @@
</div>
- <table class="dataTable">
- <thead>
- <tr>
- <th> </th>
- <th><?php echo __('table heading categories id'); ?></th>
- <th style="width:<?php echo TEMP_BO_SMALL_IMAGE_WIDTH ?>px"><?php echo __('table heading categories images'); ?></th>
- <th><?php echo __('table heading categories'); ?></th>
- <th class="tcenter row_status"><?php echo __('table heading status'); ?></th>
- <th class="tcenter row_status"><?php echo __('table heading view status'); ?></th>
- <th class="tcenter row_action"><?php echo __('table heading action'); ?></th>
- </tr>
- </thead>
+ <table class="dataTable">
+ <thead>
+ <tr>
+ <th> </th>
+ <th><?php echo __('table heading categories id'); ?></th>
+ <th style="width:<?php echo TEMP_BO_SMALL_IMAGE_WIDTH ?>px"><?php echo __('table heading categories images'); ?></th>
+ <th><?php echo __('table heading categories'); ?></th>
+ <th class="tcenter row_status"><?php echo __('table heading view datatype'); ?></th>
+ <th class="tcenter row_status"><?php echo __('table heading status'); ?></th>
+ <th class="tcenter row_status"><?php echo __('table heading view status'); ?></th>
+ <th class="tcenter row_action"><?php echo __('table heading action'); ?></th>
+ </tr>
+ </thead>
<tfoot>
<tr>
- <td style="width:2%"> </td>
- <td style="width:2%"> </td>
- <td style="width:<?php echo TEMP_BO_SMALL_IMAGE_WIDTH ?>px"> </td>
- <td class="w_60"> </td>
- <td class="tcenter row_status"> </td>
- <td class="tcenter row_status"> </td>
- <td class="tcenter row_action"> </td>
+ <td style="width:2%"> </td>
+ <td style="width:2%"> </td>
+ <td style="width:<?php echo TEMP_BO_SMALL_IMAGE_WIDTH ?>px"> </td>
+ <td class="w_60"> </td>
+ <td class="tcenter "> </td>
+ <td class="tcenter row_status"> </td>
+ <td class="tcenter row_status"> </td>
+ <td class="tcenter row_action"> </td>
</tr>
</tfoot>
- <tbody>
- <!-- BLOCK AJAX -->
- </tbody>
- </table>
+
+ <tbody>
+ <!-- BLOCK AJAX -->
+ </tbody>
+ </table>
</div>
\ No newline at end of file
Modified: trunk/catalog/admin/includes/languages/fr_FR/modules/pages/categories.txt
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/modules/pages/categories.txt 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/admin/includes/languages/fr_FR/modules/pages/categories.txt 2012-03-30 11:52:24 UTC (rev 4112)
@@ -11,6 +11,8 @@
$lang['heading title']="Catégories" ;
$lang['heading title search']="Rechercher :" ;
$lang['heading title goto']="Aller à :" ;
+
+/* listing */
$lang['table heading id']="ID" ;
$lang['table heading categories images']="img" ;
$lang['table heading categories']="Catégories" ;
@@ -18,6 +20,16 @@
$lang['table heading status']="Statut" ;
$lang['table heading categories id']="ID" ;
$lang['table heading view status']="Menu" ;
+$lang['table heading view datatype']="Données" ;
+
+
+/* Edit */
+$lang['text categories name']="Nom de la catégorie :" ;
+$lang['text categories image']="Image de la catégorie :" ;
+$lang['text sort order']="Ordre de tri :" ;
+$lang['text edit datatype categorie']="Datatype actif pour cette categorie" ;
+
+/* other */
$lang['text categories']="Catégories :" ;
$lang['text subcategories']="Sous-catégories :" ;
$lang['txt cat all']="Catégorie parent" ;
@@ -48,9 +60,7 @@
$lang['text move categories intro']="Merci de sélectionner la catégorie où vous voudriez que <strong>%s</strong> soit placé" ;
$lang['text move']="Déplacer <strong>%s</strong> vers :" ;
$lang['text new category intro']="Merci de compléter les informations suivantes pour la nouvelle catégorie" ;
-$lang['text categories name']="Nom de la catégorie :" ;
-$lang['text categories image']="Image de la catégorie :" ;
-$lang['text sort order']="Ordre de tri :" ;
+
$lang['text products']="Produits : " ;
$lang['txt categories']="Positions de cette categorie (choix du parent) : " ;
$lang['text cms']="Page : " ;
Modified: trunk/catalog/admin/includes/modules/pages/categories.php
===================================================================
--- trunk/catalog/admin/includes/modules/pages/categories.php 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/admin/includes/modules/pages/categories.php 2012-03-30 11:52:24 UTC (rev 4112)
@@ -184,54 +184,55 @@
/**
- CATEGORIES
+ CATEGORIES
*/
- case 'insert':
- case 'update':
+ case 'insert':
+ case 'update':
- if (isset($_POST['categories_id'])) $categories_id = tep_db_prepare_input((int)$_POST['categories_id']);
+ if (isset($_POST['categories_id'])) $categories_id = tep_db_prepare_input((int)$_POST['categories_id']);
- $params['sqlarray'] = array('sort_order' => (isset($_POST['sort_order'])) ? tep_db_prepare_input((int)$_POST['sort_order']) : 0 ,
- 'parent_id' => tep_db_prepare_input((int)@$_POST['cPath']),
- 'categories_status' => (isset($_POST['categories_status'])) ? tep_db_prepare_input((int)$_POST['categories_status']) : 0,
- 'categories_hidden' => (isset($_POST['categories_hidden'])) ? tep_db_prepare_input((int)$_POST['categories_hidden']) : 0 ,
- );
+ $params['sqlarray'] = array('sort_order' => (isset($_POST['sort_order'])) ? tep_db_prepare_input((int)$_POST['sort_order']) : 0 ,
+ 'parent_id' => tep_db_prepare_input((int)@$_POST['cPath']),
+ 'categories_status' => (isset($_POST['categories_status'])) ? tep_db_prepare_input((int)$_POST['categories_status']) : 0,
+ 'categories_hidden' => (isset($_POST['categories_hidden'])) ? tep_db_prepare_input((int)$_POST['categories_hidden']) : 0 ,
+ 'categories_datatype' => (isset($_POST['categories_datatype'])) ? tep_db_prepare_input((string)$_POST['categories_datatype']) : 'product' ,
+ );
- if (!isset($_POST['categories_image_no']) && !empty($_POST['categories_image']) )
- $params['sqlarray']['categories_image']=sqlcategorie::AddImage(@$_POST['categories_image'], @$_POST['categories_image_no']);
- else
- $params['sqlarray']['categories_image']='';
+ if (!isset($_POST['categories_image_no']) && !empty($_POST['categories_image']) )
+ $params['sqlarray']['categories_image']=sqlcategorie::AddImage(@$_POST['categories_image'], @$_POST['categories_image_no']);
+ else
+ $params['sqlarray']['categories_image']='';
- $params['id']=$categories_id;
- $params['action']=self::$action;
- $params['post']=$_POST;
- $params['language_id']= $languages_id;
- $params['cPath']=(isset($_POST['cPath'])) ? tep_db_prepare_input($_POST['cPath']) : 0;
+ $params['id']=$categories_id;
+ $params['action']=self::$action;
+ $params['post']=$_POST;
+ $params['language_id']= $languages_id;
+ $params['cPath']=(isset($_POST['cPath'])) ? tep_db_prepare_input($_POST['cPath']) : 0;
- if (self::$action == 'insert')
- $res = sqlcategorie::create($params);
- elseif (self::$action == 'update')
- $res = sqlcategorie::update($params);
+ if (self::$action == 'insert')
+ $res = sqlcategorie::create($params);
+ elseif (self::$action == 'update')
+ $res = sqlcategorie::update($params);
- if( ! $res )
- $messageStack->add_session(sprintf(__('error save categorie : %s'), sqlcategorie::$error ), 'error');
- else
- $messageStack->add_session(sprintf(__('save categorie %s success'), $categories_id ), 'success');
+ if( ! $res )
+ $messageStack->add_session(sprintf(__('error save categorie : %s'), sqlcategorie::$error ), 'error');
+ else
+ $messageStack->add_session(sprintf(__('save categorie %s success'), $categories_id ), 'success');
- osCSS_Cache::clear('categoriesBox');
- osCSS_Cache::clear('category_tree');
- osCSS_Cache::clear('also_purchased');
+ osCSS_Cache::clear('categoriesBox');
+ osCSS_Cache::clear('category_tree');
+ osCSS_Cache::clear('also_purchased');
- if(isset($_POST['up_and_close']) ) tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . self::$cPath . '&cID=' . $categories_id));
- else tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . self::$cPath . '&cID=' . $categories_id.'&action=edit'));
+ if(isset($_POST['up_and_close']) ) tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . self::$cPath . '&cID=' . $categories_id));
+ else tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . self::$cPath . '&cID=' . $categories_id.'&action=edit'));
- break;
+ break;
case 'delete_confirm':
/**
@@ -491,6 +492,7 @@
'c.categories_id'=>true,
'categories_image'=>true,
'categories_name'=>true,
+ 'categories_datatype'=>true,
'categories_status'=>true,
'categories_hidden'=>true,
'action'=>false
@@ -503,7 +505,7 @@
'categories_name'=>'',
'categories_image'=>'',
// 'parent_id',
-// 'sort_order',
+ 'categories_datatype',
'categories_status'=>'',
'categories_hidden'=>'',
// 'p.categories_status',
@@ -518,7 +520,7 @@
$DB=Database::getInstance();
- $categories_query = "SELECT DISTINCT c.categories_id, cd.categories_name, c.categories_image, c.parent_id, c.sort_order, c.date_added, c.last_modified,c.categories_status,c.categories_hidden, cd.categories_description, cd.categories_head_keywords_tag ".
+ $categories_query = "SELECT DISTINCT c.categories_id, cd.categories_name, c.categories_image, c.parent_id, c.sort_order,categories_datatype, c.date_added, c.last_modified,c.categories_status,c.categories_hidden, cd.categories_description, cd.categories_head_keywords_tag ".
" FROM " . TABLE_CATEGORIES . " c ".
" JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd ON (cd.categories_id = c.categories_id AND cd.language_id = '" . (int)$languages_id . "') ".
"WHERE c.parent_id = '" . (int)$cID . "' ".$sWhere.
Modified: trunk/catalog/common/classes/DataTypes.php
===================================================================
--- trunk/catalog/common/classes/DataTypes.php 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/common/classes/DataTypes.php 2012-03-30 11:52:24 UTC (rev 4112)
@@ -48,7 +48,7 @@
protected function __construct(){
self::$env = new stdClass();
- self::$env->path_childs = DIR_WS_COMMON_CLASSES . self::PATH ;
+ self::$env->path_childs = DIR_FS_CATALOG . DIR_WS_COMMON_CLASSES . self::PATH ;
self::$env->modlist = array();
// $alltype = explode(',',PUBLIC_PAGE_TYPE);
@@ -57,25 +57,51 @@
foreach($alltype as $test){
if(!empty($test)) {
+
$childclass = self::PREFIX.trim($test) ;
- @include(self::$env->path_childs . $childclass. '.php' );
+
+ include_once(self::$env->path_childs . $childclass. '.php' );
if(!class_exists($childclass)) continue;
self::$env->modlist[$childclass] = $tp = new $childclass();
-// self::$env->actived[$childclass] = true;
+
if(isset($tp->RootListing) && count($tp->RootListing) > 0 )
- self::$env->RootListing[$childclass] = $tp->RootListing; //( ( isset($tp->RootListing) && count($tp->RootListing) > 0 )? $tp->RootListing : false );
+ self::$env->RootListing[$childclass] = $tp->RootListing;
}
}
+ }
+ /**
+ @brief Get regle anchors in childs module for seo class
+ @note backoffice use
+ @return array all type datatypeDynamic for manage and adjust in BO
+ */
+ public function GetTypeForRootListing(){
+ $list = array();
+ foreach(self::$env->modlist as $class=>$obj){
+ //no datatype RootListing type (categroie/manufacturer)
+ if(!isset(self::$env->RootListing[$class])){
+
+ //no datatype static page or error
+ if($obj->DataTypeDynamic == true){
+ $list[] = $obj->DataType ;
+ }
+ }
+ }
+
+ return $list;
}
+
+
+
/**
@brief Get regle anchors in childs module for seo class
+ @note fontoffice use
*/
public static function GetRegAnchor($reg_anchors){
self::getInstance();
@@ -90,6 +116,7 @@
/**
@brief return type based on anchors
+ @note fontoffice use
@param $anchors string anchor used in seo and url
*/
public static function GetTypeForAnchor($anchors){
@@ -104,6 +131,7 @@
}
/**
@brief Get regle anchors in childs module for seo class
+ @note fontoffice use
@param $anchor
@param $substype
@param $id
@@ -133,6 +161,7 @@
/**
@brief Return currenttype datatype
+ @note fontoffice use
*/
public static function GetTypePage(){
self::getInstance();
@@ -142,6 +171,7 @@
/**
@brief active required childs module datatype used in Rootlisting
+ @note fontoffice use
*/
public static function ForceChilds($type = '', $subtype=''){
self::getInstance();
@@ -155,6 +185,7 @@
/**
@brief Get ForceChilds statut
+ @note fontoffice use
*/
public static function GetForceChilds(){
self::getInstance();
@@ -164,6 +195,7 @@
/**
@fn DataTypes::is_type($mode='page');
@brief execute le control du type, et renvoi l'objet correspondant, sinon renvoi false
+ @note fontoffice use
@param $mode le type de control (page/cpath/seo)
@return false or object
*/
@@ -184,6 +216,7 @@
/**
@brief call transversal load in other modules
+ @note fontoffice use
@param $mode le type de control (page/cpath/seo)
@return false or object
*/
@@ -213,6 +246,7 @@
/**
@brief call transversal load in other modules
+ @note fontoffice use
@param $mode le type de control (page/cpath/seo)
@return false or object
*/
Modified: trunk/catalog/common/classes/datatype_drivers/Data_categorie.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_categorie.php 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/common/classes/datatype_drivers/Data_categorie.php 2012-03-30 11:52:24 UTC (rev 4112)
@@ -25,12 +25,19 @@
);
/**
+ @var DataType dynamic
+ */
+ public $DataTypeDynamic = true;
+
+ /**
@var DataType root listing
Use for generate listing based on current data type precised in array
*/
public $RootListing = array('product', 'content', 'nested');
-
+ /**
+ @brief constructor
+ */
public function __construct(){
}
Modified: trunk/catalog/common/classes/datatype_drivers/Data_content.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_content.php 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/common/classes/datatype_drivers/Data_content.php 2012-03-30 11:52:24 UTC (rev 4112)
@@ -24,7 +24,15 @@
'content' => 't'
);
+ /**
+ @var DataType dynamic
+ */
+ public $DataTypeDynamic = true;
+
+ /**
+ @brief constructor
+ */
function __construct(){
}
Modified: trunk/catalog/common/classes/datatype_drivers/Data_customer.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_customer.php 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/common/classes/datatype_drivers/Data_customer.php 2012-03-30 11:52:24 UTC (rev 4112)
@@ -25,7 +25,14 @@
'customers_id' => 'u'
);
+ /**
+ @var DataType dynamic
+ */
+ public $DataTypeDynamic = true;
+ /**
+ @brief constructor
+ */
function __construct(){
}
Modified: trunk/catalog/common/classes/datatype_drivers/Data_diver.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_diver.php 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/common/classes/datatype_drivers/Data_diver.php 2012-03-30 11:52:24 UTC (rev 4112)
@@ -27,7 +27,14 @@
'divers' => 'd'
);
+ /**
+ @var DataType dynamic
+ */
+ public $DataTypeDynamic = false;
+ /**
+ @brief constructor
+ */
function __construct(){
}
Modified: trunk/catalog/common/classes/datatype_drivers/Data_error.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_error.php 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/common/classes/datatype_drivers/Data_error.php 2012-03-30 11:52:24 UTC (rev 4112)
@@ -26,7 +26,14 @@
public $reg_anchors = array(
);
+ /**
+ @var DataType dynamic
+ */
+ public $DataTypeDynamic = false;
+ /**
+ @brief constructor
+ */
function __construct(){
}
Modified: trunk/catalog/common/classes/datatype_drivers/Data_home.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_home.php 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/common/classes/datatype_drivers/Data_home.php 2012-03-30 11:52:24 UTC (rev 4112)
@@ -24,10 +24,17 @@
@var DataType array reg for seo class
*/
public $reg_anchors = array(
- 'home'=> 'h'
+ 'home'=> 'h'
);
+ /**
+ @var DataType dynamic
+ */
+ public $DataTypeDynamic = true;
+ /**
+ @brief constructor
+ */
function __construct(){
}
Modified: trunk/catalog/common/classes/datatype_drivers/Data_manufacturer.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_manufacturer.php 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/common/classes/datatype_drivers/Data_manufacturer.php 2012-03-30 11:52:24 UTC (rev 4112)
@@ -25,12 +25,19 @@
);
/**
+ @var DataType dynamic
+ */
+ public $DataTypeDynamic = true;
+
+ /**
@var DataType root listing
Use for generate listing based on current data type precised in array
*/
public $RootListing = array('product');
-
+ /**
+ @brief constructor
+ */
function __construct(){
}
Modified: trunk/catalog/common/classes/datatype_drivers/Data_product.php
===================================================================
--- trunk/catalog/common/classes/datatype_drivers/Data_product.php 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/common/classes/datatype_drivers/Data_product.php 2012-03-30 11:52:24 UTC (rev 4112)
@@ -25,7 +25,14 @@
);
+ /**
+ @var DataType dynamic
+ */
+ public $DataTypeDynamic = true;
+ /**
+ @brief constructor
+ */
function __construct(){
// $this->mode_active = false;
}
Modified: trunk/catalog/index.php
===================================================================
--- trunk/catalog/index.php 2012-03-30 08:48:58 UTC (rev 4111)
+++ trunk/catalog/index.php 2012-03-30 11:52:24 UTC (rev 4112)
@@ -38,7 +38,10 @@
if( ($dyntype = DataTypes::is_type('unique')) && $dyntype != false )
$page_content = $dyntype->FO_load_page();
- else
+ else{
+ header("HTTP/1.0 301 Moved Permanently");
+ tep_redirect(tep_href_link('','?error=404'));
+ }
unset($category_cfils,$category_pfils,$category_parent);
}
@@ -82,12 +85,19 @@
$page_content = $page->force_content('index_listing.php');
}
- else
- $page->init(basename(__FILE__),$language);
- $breadcrumb=$page->return_object('breadcrumb');
+// else{
+// $page->init(basename(__FILE__),$language);
+// $breadcrumb=$page->return_object('breadcrumb');
+// }
+ else{
+ header("HTTP/1.0 301 Moved Permanently");
+ tep_redirect(tep_href_link('','?error=404'));
+ }
}
+
+
$load=$page->post_init(false);
$page->javascript->add_framework("ext/jquery/jquery.min.js");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-30 08:49:05
|
Revision: 4111
http://oscss.svn.sourceforge.net/oscss/?rev=4111&view=rev
Author: oscim
Date: 2012-03-30 08:48:58 +0000 (Fri, 30 Mar 2012)
Log Message:
-----------
suite correction et ajout fichier de gabarit lors de selection de type de contenu
Modified Paths:
--------------
trunk/catalog/admin/includes/classes/drivers/sqlcontent.php
Added Paths:
-----------
trunk/catalog/admin/includes/gabarit/cms_content/display_view.new.gab
Modified: trunk/catalog/admin/includes/classes/drivers/sqlcontent.php
===================================================================
--- trunk/catalog/admin/includes/classes/drivers/sqlcontent.php 2012-03-30 08:41:51 UTC (rev 4110)
+++ trunk/catalog/admin/includes/classes/drivers/sqlcontent.php 2012-03-30 08:48:58 UTC (rev 4111)
@@ -39,7 +39,49 @@
self::getInstance();
$DB=Database::getInstance();
- return self::update($option);
+ $list_languages=tep_get_languages();
+
+ // Put post value
+ if(isset($option['post'])){
+ $post=$option['post'];
+ self::$modules->load_post_values($post);
+ }
+
+ $sql_data_array = $option['sqlarray'];
+
+ $insert_sql_data = array('date_added' => 'now()');
+
+ $sql_data_array = array_merge($sql_data_array, $insert_sql_data);
+
+
+// $sql_data_array = array_merge($sql_data_array, self::$modules->get_insert_table_content());
+
+ $resobj=tep_db_perform(TABLE_CONTENT, $sql_data_array);
+
+ $content_id =$resobj->__get('insertId');
+
+
+ for ($i=0, $n=sizeof($list_languages); $i<$n; $i++) {
+
+ $language_id = $list_languages[$i]['id'];
+
+ $sql_data_array = array(
+ 'content_text' => '',
+ 'content_title' => '',
+ 'content_id' => $content_id,
+ 'language_id' => $language_id
+ );
+
+
+// $sql_data_array = array_merge($sql_data_array, self::$modules->get_insert_table_content_description ($language_id));
+
+ tep_db_perform(TABLE_CONTENT_DESCRIPTION, $sql_data_array);
+
+ }
+
+ self::$modules->create($content_id);
+
+ return $content_id;
}
/**
@@ -63,10 +105,10 @@
// if(isset($option['action'])) $action=$option['action'];
- if(!self::fetch($option))
- $action = 'insert';
- else
- $action = 'update';
+// if(!self::fetch($option))
+// $action = 'insert';
+// else
+// $action = 'update';
// Put post value
if(isset($option['post'])){
@@ -77,29 +119,30 @@
$sql_data_array = $option['sqlarray'];
- if ($action == 'insert') {
- $insert_sql_data = array('date_added' => 'now()');
- $sql_data_array = array_merge($sql_data_array, $insert_sql_data);
+// if ($action == 'insert') {
+// $insert_sql_data = array('date_added' => 'now()');
+// $sql_data_array = array_merge($sql_data_array, $insert_sql_data);
+//
+//
+// $sql_data_array = array_merge($sql_data_array, self::$modules->get_insert_table_content());
+//
+// $resobj=tep_db_perform(TABLE_CONTENT, $sql_data_array);
+//
+// $content_id =$resobj->__get('insertId');
+//
+// } elseif ($action == 'update') {
- $sql_data_array = array_merge($sql_data_array, self::$modules->get_insert_table_content ());
-
- $resobj=tep_db_perform(TABLE_CONTENT, $sql_data_array);
-
- $content_id =$resobj->__get('insertId');
-
- } elseif ($action == 'update') {
-
-
$update_sql_data = array('last_modified' => 'now()');
$sql_data_array = array_merge($sql_data_array, $update_sql_data);
self::$modules->load_post_values($post);
- $sql_data_array = array_merge($sql_data_array, self::$modules->get_update_table_content ());
+ $sql_data_array = array_merge($sql_data_array, self::$modules->get_update_table_content());
+
tep_db_perform(TABLE_CONTENT, $sql_data_array, 'update', "content_id = '" . (int)$content_id . "'");
- }
+// }
// var_dump($content_id);
@@ -110,6 +153,8 @@
sqlcategorie::DataInCat('content', $content_id, $post['categories']);
+// print_r($post);
+// exit;
for ($i=0, $n=sizeof($list_languages); $i<$n; $i++) {
@@ -118,25 +163,25 @@
$sql_data_array = array('content_text' => tep_db_prepare_input($post['content_text'][$language_id]) /*tep_db_prepare_input($content_text[$language_id])*/,
'content_title' => tep_db_prepare_input($post['content_title'][$language_id]) /*str_replace('&','&',tep_db_prepare_input($content_title[$language_id]))*/);
- if ($action == 'insert') {
+// if ($action == 'insert') {
+//
+// $insert_sql_data = array(
+// 'content_id' => $content_id,
+// 'language_id' => $language_id
+// );
+//
+// $sql_data_array = array_merge($sql_data_array, $insert_sql_data);
+//
+// $sql_data_array = array_merge($sql_data_array, self::$modules->get_insert_table_content_description ($language_id));
+//
+// tep_db_perform(TABLE_CONTENT_DESCRIPTION, $sql_data_array);
+//
+// } elseif ($action == 'update') {
- $insert_sql_data = array(
- 'content_id' => $content_id,
- 'language_id' => $language_id
- );
-
- $sql_data_array = array_merge($sql_data_array, $insert_sql_data);
-
- $sql_data_array = array_merge($sql_data_array, self::$modules->get_insert_table_content_description ($language_id));
-
- tep_db_perform(TABLE_CONTENT_DESCRIPTION, $sql_data_array);
-
- } elseif ($action == 'update') {
-
$sql_data_array = array_merge($sql_data_array, self::$modules->get_update_table_content_description ($language_id));
tep_db_perform(TABLE_CONTENT_DESCRIPTION, $sql_data_array, 'update', "content_id = '" . (int)$content_id . "' and language_id = '" . (int)$language_id . "'");
- }
+// }
}
self::$modules->after_update ($content_id);
@@ -177,7 +222,7 @@
$list_languages=tep_get_languages();
$sql ="";
- if(isset($option['id'])){
+ if(isset($option['id']) && $option['id'] > 0){
$ID = (int) $option['id'];
$sql .="AND c.content_id = '".(int)tep_db_input($option['id'])."' ";
}
@@ -196,17 +241,18 @@
if(strlen($sql)<4)
return false;
+
$res = $DB->query($sql="select c.content_id, content_name, date_added, last_modified, content_status from " . TABLE_CONTENT . " c LEFT JOIN " . TABLE_CONTENT_TO_CATEGORIES . " c2c on(c.content_id=c2c.content_id) WHERE ".$sql);
+// var_dump($sql);
-
$num = $res->__get('numRows');
if($num == 1)
$cInfo_array[] = $res->fetchAssoc();
else
foreach($res->fetchAllAssoc() as $row)
- $cInfo_array[] = $row;
+ $cInfo_array[] = $row;
tep_db_free_result($res);
@@ -216,30 +262,30 @@
// call all langue for this post
for ($i=0, $n=sizeof($list_languages); $i<$n; $i++) {
- $language_id = $list_languages[$i]['id'];
- $content_query = $DB->query("select cd.content_text, cd.content_title from " . TABLE_CONTENT . " c, " . TABLE_CONTENT_DESCRIPTION . " cd where c.content_id = '" . (int)$row['content_id'] . "' and c.content_id = cd.content_id and language_id='" . $language_id . "'");
- $content = tep_db_fetch_array($content_query);
+ $language_id = $list_languages[$i]['id'];
+ $content_query = $DB->query("select cd.content_text, cd.content_title from " . TABLE_CONTENT_DESCRIPTION . " cd where cd.content_id = '" . (int)$row['content_id'] . "' AND language_id='" . $language_id . "'");
+ $content = tep_db_fetch_array($content_query);
- $row['text'][$language_id] = $content['content_text'];
- $row['title'][$language_id] = $content['content_title'];
+ $row['text'][$language_id] = $content['content_text'];
+ $row['title'][$language_id] = $content['content_title'];
- tep_db_free_result($content_query);
+ tep_db_free_result($content_query);
}
$cat_query = $DB->query("select categories_id from " . TABLE_CONTENT_TO_CATEGORIES . " where content_id='" . (int)$row['content_id'] . "' ");
while($cat_l = tep_db_fetch_array($cat_query)){ $cat_list[$cat_l['categories_id']]=$cat_l; }
- $row['categories']=$cat_list;
+ $row['categories']=$cat_list;
- tep_db_free_result($cat_query);
+ tep_db_free_result($cat_query);
- self::$modules->load_db_values((int)$row['content_id']);
+ self::$modules->load_db_values((int)$row['content_id']);
- $result[] = $row;
+ $result[] = $row;
}
Added: trunk/catalog/admin/includes/gabarit/cms_content/display_view.new.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/cms_content/display_view.new.gab (rev 0)
+++ trunk/catalog/admin/includes/gabarit/cms_content/display_view.new.gab 2012-03-30 08:48:58 UTC (rev 4111)
@@ -0,0 +1,36 @@
+<?php
+/**
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
+ @portion code Copyright (c) 2002 osCommerce
+ @package osCSS-2 <www http://www.oscss.org>
+ @version 2.1.1
+ @date 21/02/2012, 23:13
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+*/
+?>
+<h3><?php print __('text new content'); ?></h3>
+<?php echo tep_draw_form('new_content', cms_content::FILENAME, 'action=insert', 'post'); ?>
+ <div class="block_form">
+ <div class="box_left">
+ <dl>
+ <dt class="block_input">
+ <label for="content_type"><?php echo __('text content type'); ?></label>
+ <?php echo tep_draw_pull_down_menu('content_type', tep_get_status_array('content',0,'status_name'),'' /*contents::$DiversInfo['contents_virtual_typeID']*/); ?>
+ </dt>
+ </dl>
+ </div>
+ <div class="box_right">
+ <?php echo __('text info intro choose content type') ?>
+ </div>
+
+ <div class="button_nav">
+ <?php
+ echo tep_image_submit('button_preview.gif', IMAGE_ADD) .
+ tep_js_back(tep_href_link(cms_content::FILENAME), IMAGE_CANCEL)
+ ?>
+ </div>
+
+ </div>
+
+</form>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-30 08:42:03
|
Revision: 4110
http://oscss.svn.sourceforge.net/oscss/?rev=4110&view=rev
Author: oscim
Date: 2012-03-30 08:41:51 +0000 (Fri, 30 Mar 2012)
Log Message:
-----------
Correction suite commit precendent, et mauvaise prise en charge des status type ne comportant qu'une seule declinaison
Amelioration des produit et cms poru n'afficher le choix du type que dans la mesure ou plusieur type sont disponible
nettoyage du code page produit, et utilisation des action normalis?\195?\169
ajutesment sql corresspondant, et report dans les upgrades
nettoyage du code
Modified Paths:
--------------
trunk/catalog/admin/includes/classes/drivers/sqlproduct.php
trunk/catalog/admin/includes/functions/general.php
trunk/catalog/admin/includes/gabarit/products/display_view.listing.gab
trunk/catalog/admin/includes/gabarit/products/display_view.new.gab
trunk/catalog/admin/includes/javascript/modules/pages/products.js.php
trunk/catalog/admin/includes/languages/fr_FR/modules/pages/products.txt
trunk/catalog/admin/includes/modules/pages/cms_content.php
trunk/catalog/admin/includes/modules/pages/cronjob.php
trunk/catalog/admin/includes/modules/pages/products.php
trunk/catalog/install/includes/sql/mysql/data/91_osc_cronjob.sql
trunk/catalog/install/includes/sql/mysql/tables/osc_content.sql
Added Paths:
-----------
trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/tables/osc_content.sql
Modified: trunk/catalog/admin/includes/classes/drivers/sqlproduct.php
===================================================================
--- trunk/catalog/admin/includes/classes/drivers/sqlproduct.php 2012-03-30 08:12:26 UTC (rev 4109)
+++ trunk/catalog/admin/includes/classes/drivers/sqlproduct.php 2012-03-30 08:41:51 UTC (rev 4110)
@@ -422,7 +422,7 @@
//! Entretient liens avec description
$product_query = $DB->query("SELECT p.products_id FROM " . TABLE_PRODUCTS . " p LEFT OUTER JOIN " . TABLE_PRODUCTS_DESCRIPTION . " pd ON p.products_id =pd.products_id WHERE pd.products_id is null");
while ($product = tep_db_fetch_array($product_query)){
- $DB->query("insert into " . TABLE_PRODUCTS_DESCRIPTION . " (products_id,language_id) values ('" . (int)$product['products_id'] . "','".(int)$languages_id."')");
+ $DB->query("insert into " . TABLE_PRODUCTS_DESCRIPTION . " (products_id,language_id) values ('" . (int)$product['products_id'] . "','".(int)$languages_id."')");
}
self::UpdateOrphelin();
Modified: trunk/catalog/admin/includes/functions/general.php
===================================================================
--- trunk/catalog/admin/includes/functions/general.php 2012-03-30 08:12:26 UTC (rev 4109)
+++ trunk/catalog/admin/includes/functions/general.php 2012-03-30 08:41:51 UTC (rev 4110)
@@ -594,7 +594,7 @@
*/
function tep_get_status_array($type='orders', $id=0, $orderby='status_id', $sort='ASC'){
global $languages_id;
-
+ $loop = array();
$all = sqlstatus::fetch(array(
'type'=>$type,
'language_id'=>(int)$languages_id,
@@ -603,7 +603,12 @@
true
);
- foreach($all as $status)
+ if(is_object($all))
+ $loop[] = $all;
+ else
+ $loop = $all;
+
+ foreach($loop as $status)
if($id > 0 && (int)$id == $status->id)
return array('id' => $status->id, 'text' => $status->name);
else $list[] = array('id' => $status->id , 'text' => $status->name);
Modified: trunk/catalog/admin/includes/gabarit/products/display_view.listing.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/products/display_view.listing.gab 2012-03-30 08:12:26 UTC (rev 4109)
+++ trunk/catalog/admin/includes/gabarit/products/display_view.listing.gab 2012-03-30 08:41:51 UTC (rev 4110)
@@ -24,7 +24,7 @@
echo '<a class="button" href="' . tep_href_link(FILENAME_FEEDS,'box=low_stock') . '">' . tep_image(DIR_WS_ICONS.'icon_feed.png' , IMAGE_TRACKED_LOW_STOCK,16,16) .IMAGE_TRACKED_LOW_STOCK . '</a>';
- echo '<a class="button fancy" href="' . tep_href_link(FILENAME_PRODUCTS, tep_get_all_get_params(array('action','cPath','search')).'action=new') . '">' . tep_image(DIR_WS_ICONS.'icon_add_new.png' , IMAGE_NEW_PRODUCT) .IMAGE_NEW_PRODUCT . '</a>';
+ echo '<a class="button" href="' . tep_href_link(FILENAME_PRODUCTS, tep_get_all_get_params(array('action','cPath','search')).'action=new') . '">' . tep_image(DIR_WS_ICONS.'icon_add_new.png' , IMAGE_NEW_PRODUCT) .IMAGE_NEW_PRODUCT . '</a>';
if(!isset($_GET['expected'])) echo '<a class="button" href="' . tep_href_link(FILENAME_PRODUCTS, 'expected=true') . '">' . __('image expected on') . '</a>';
else echo '<a class="button" href="' . tep_href_link(FILENAME_PRODUCTS) . '">' . __('image expected off') . '</a>';
?>
Modified: trunk/catalog/admin/includes/gabarit/products/display_view.new.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/products/display_view.new.gab 2012-03-30 08:12:26 UTC (rev 4109)
+++ trunk/catalog/admin/includes/gabarit/products/display_view.new.gab 2012-03-30 08:41:51 UTC (rev 4110)
@@ -10,7 +10,7 @@
*/
?>
<h3><?php print __('text new product'); ?></h3>
-<?php echo tep_draw_form('new_product', products::FILENAME, 'action=insert_product_base', 'post'); ?>
+<?php echo tep_draw_form('new_product', products::FILENAME, 'action=insert', 'post'); ?>
<div class="block_form">
<div class="box_left">
<dl>
Modified: trunk/catalog/admin/includes/javascript/modules/pages/products.js.php
===================================================================
--- trunk/catalog/admin/includes/javascript/modules/pages/products.js.php 2012-03-30 08:12:26 UTC (rev 4109)
+++ trunk/catalog/admin/includes/javascript/modules/pages/products.js.php 2012-03-30 08:41:51 UTC (rev 4110)
@@ -1,10 +1,10 @@
<?php if (!defined('HTTP_SERVER')) die('You can not access this file directly!');
/**
- @licence GPL 2005-2011 The osCSS developers - osCSS Open Source E-commerce
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 28/12/11, 17:30
+ @date 28/03/2012, 17:30
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
@@ -68,7 +68,7 @@
// --></script>
- <?php if (products::$action == 'new_product'): ?>
+ <?php if (products::$action == 'edit'): ?>
<script type="text/javascript"><!--
function disabled_input(inputs){ $(inputs).attr('disabled', 'disabled'); }
Modified: trunk/catalog/admin/includes/languages/fr_FR/modules/pages/products.txt
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/modules/pages/products.txt 2012-03-30 08:12:26 UTC (rev 4109)
+++ trunk/catalog/admin/includes/languages/fr_FR/modules/pages/products.txt 2012-03-30 08:41:51 UTC (rev 4110)
@@ -105,6 +105,11 @@
$lang['text legend price']="Prix" ;
$lang['text legend image']="Image" ;
+
+ /* js alert */
+ $lang['js alert products name']="Le nom du produit est obligatoire" ;
+
+
/* delete products */
$lang['text info heading delete product']="Supprimer le produit" ;
$lang['text delete product intro']="Êtes-vous sûr de vouloir supprimer définitivement ce produit ?" ;
Modified: trunk/catalog/admin/includes/modules/pages/cms_content.php
===================================================================
--- trunk/catalog/admin/includes/modules/pages/cms_content.php 2012-03-30 08:12:26 UTC (rev 4109)
+++ trunk/catalog/admin/includes/modules/pages/cms_content.php 2012-03-30 08:41:51 UTC (rev 4110)
@@ -99,21 +99,21 @@
self::$action=$actions;
- $cID=(isset($_GET['cID'])? $_GET['cID'] :'' );
+ $cID=(isset($_GET['cID'])? $_GET['cID'] :'' );
- self::$modules-> set_image_handler();
- self::$languages = tep_get_languages();
+ self::$modules-> set_image_handler();
+ self::$languages = tep_get_languages();
- $actions['action'] = self::$action;
- $actions['display_file']='';
- $actions['action_class']=(isset($_GET['action_class']))? $_GET['action_class'] : '';
- $actions['action_method']=(isset($_GET['action_method']))? $_GET['action_method'] : '';
+ $actions['action'] = self::$action;
+ $actions['display_file']='';
+ $actions['action_class']=(isset($_GET['action_class']))? $_GET['action_class'] : '';
+ $actions['action_method']=(isset($_GET['action_method']))? $_GET['action_method'] : '';
-// Ask categories modules if want to change the action
- $actions = self::$modules->check_action($actions);
- $action = $actions['action'];
+ // Ask categories modules if want to change the action
+ $actions = self::$modules->check_action($actions);
+ $action = $actions['action'];
-// if(((self::$action == 'update')||(self::$action == 'insert'))) self::$action = 'edit';
+ // if(((self::$action == 'update')||(self::$action == 'insert'))) self::$action = 'edit';
switch (self::$action) {
/**
@@ -140,12 +140,27 @@
break;
case 'insert':
+ $type = ( isset($_POST['content_name']) ? tep_db_prepare_input($_POST['content_name']) : 1 );
+
+ $params['sqlarray'] = array(
+ 'content_type' => $type,
+ 'content_name' => '',
+ 'content_status' => '',
+ );
+
+ $content_id=sqlcontent::create($params);
+
+ tep_redirect(tep_href_link(self::FILENAME, 'page=' . $_GET['page'] . '&cID=' . $content_id.'&action=edit'));
+
+ break;
+
case 'update':
- if (isset($_GET['cID']) && (int)$_GET['cID']>0)
+ if (isset($_GET['cID']) && (int)$_GET['cID']>0)
$content_id = tep_db_prepare_input($_GET['cID']);
- $params['sqlarray'] = array('content_name' => tep_db_prepare_input($_POST['content_name']),
+ $params['sqlarray'] = array(
+ 'content_name' => tep_db_prepare_input($_POST['content_name']),
'content_status' => tep_db_prepare_input($_POST['content_status']),
);
@@ -157,10 +172,7 @@
$params['language_id']= $languages_id;
$params['cPath']=(isset($_POST['cPath'])) ? tep_db_prepare_input($_POST['cPath']) : 0;
- if (isset($content_id))
sqlcontent::update($params);
- else
- $content_id=sqlcontent::create($params);
if(isset($_POST['up_and_close']) ) tep_redirect(tep_href_link(self::FILENAME, tep_get_all_get_params(array( 'cID','flag','action'),false)) );
else tep_redirect(tep_href_link(self::FILENAME, 'page=' . $_GET['page'] . '&cID=' . $content_id.'&action=edit'));
@@ -168,7 +180,7 @@
/**
- @remarks Delete post
+ @remarks Delete post
*/
case 'deleteconfirm':
$content_id = tep_db_prepare_input((int)$_GET['cID']);
@@ -185,12 +197,18 @@
/**
- POST AFFICHAGE
+ POST AFFICHAGE
*/
- case 'edit':
+ /**
+ @remarks Check count status type. If one status , get next etape
+ */
case 'new':
+ $res = tep_get_status_array('content',0,'status_name');
- self::load_db_values($_GET['cID']);
+ if(count($res)==1)
+ tep_redirect(tep_href_link(self::FILENAME, 'action=insert&cID='));
+ break;
+ case 'edit':
/// Load wysiwyg
$oscss->_add_ext(BO_WISIWYG_SELECTED,'editeur/');
@@ -227,12 +245,44 @@
$cID = tep_db_prepare_input((int)$ID);
- if(in_array(self::$action ,array('edit' ,'delete', 'detail') ) )
- $cInfo_array=sqlcontent::fetch(array('id'=>$cID,'language_id'=>$language_id));
- elseif(self::$action == 'new')
- $cInfo_array = sqlcontent::Specimen();
+// if(in_array(self::$action ,array('edit' ,'delete', 'detail') ) )
+// $cInfo_array=sqlcontent::fetch(array('id'=>$cID,'language_id'=>$language_id));
+// elseif(self::$action == 'new')
+// $cInfo_array = sqlcontent::Specimen();
+//
+
+
+
+ $action=self::$action;
+
+ switch ($action) {
+
+ /**
+ @remarks Ajax View result
+ */
+ case 'setflag':
+ break;
+ case 'viewflag':
+ break;
+
+ /**
+ @remarks Normal View Page
+ */
+ case 'delete':
+ break;
+ case 'new':
+ $cInfo_array = sqlcontent::Specimen();
+ break;
+ case 'detail':
+ case 'edit':
+ $cInfo_array=sqlcontent::fetch(array('id'=>$cID,'language_id'=>$language_id));
+ break;
+ default:
+ }
+
+
self::$cInfo = new objectInfo($cInfo_array);
if (!isset(self::$cInfo->content_status)) self::$cInfo->content_status = '1';
@@ -242,7 +292,6 @@
default: self::$enabled_status = true; self::$disabled_status = false;
}
-
return self::$cInfo;
}
@@ -253,7 +302,7 @@
public function display_view(){
$action=self::$action;
- switch (self::$action) {
+ switch ($action) {
/**
@remarks Ajax View result
@@ -274,8 +323,10 @@
break;
case 'edit':
self::load_db_values($_GET['cID']);
+ break;
case 'new':
- $action='edit';
+ self::load_db_values(-1);
+// $action='edit';
break;
default:
self::tep_get_list();
Modified: trunk/catalog/admin/includes/modules/pages/cronjob.php
===================================================================
--- trunk/catalog/admin/includes/modules/pages/cronjob.php 2012-03-30 08:12:26 UTC (rev 4109)
+++ trunk/catalog/admin/includes/modules/pages/cronjob.php 2012-03-30 08:41:51 UTC (rev 4110)
@@ -327,8 +327,8 @@
'fire_time'=>true,
'time_last_fired'=>true,
'run_only_once'=>true,
- 'status'=>false,
- 'action'=>false
+ 'status'=>false,
+ 'action'=>false
);
}
Modified: trunk/catalog/admin/includes/modules/pages/products.php
===================================================================
--- trunk/catalog/admin/includes/modules/pages/products.php 2012-03-30 08:12:26 UTC (rev 4109)
+++ trunk/catalog/admin/includes/modules/pages/products.php 2012-03-30 08:41:51 UTC (rev 4110)
@@ -189,12 +189,13 @@
tep_redirect(tep_href_link(self::FILENAME));
break;
- case 'insert_product_base':
+ case 'insert':
+// case 'insert_product_base':
$typeID = (int)tep_db_prepare_input($_POST['products_virtual_type_id']);
$products_id=sqlproduct::create(array('type'=>$typeID, 'language_id'=>$typeID));
- tep_redirect(tep_href_link(self::FILENAME, tep_get_all_get_params(array('action','cPath','pID'),false).'pID=' . $products_id.'&action=new_product'));
+ tep_redirect(tep_href_link(self::FILENAME, tep_get_all_get_params(array('action','cPath','pID'),false).'pID=' . $products_id.'&action=edit'));
break;
@@ -250,7 +251,7 @@
osCSS_Cache::clear('also_purchased');
if(isset($_POST['up_and_close']) ) tep_redirect(tep_href_link(self::FILENAME, 'pID=' . $products_id));
- else tep_redirect(tep_href_link(self::FILENAME, 'pID=' . $products_id.'&action=new_product' ));
+ else tep_redirect(tep_href_link(self::FILENAME, 'pID=' . $products_id.'&action=edit' ));
break;
case 'copy_to_confirm':
@@ -273,11 +274,21 @@
tep_redirect(tep_href_link(self::FILENAME, 'cPath=' . $categories_id . '&pID=' . $products_id.'&action=edit'));
break;
+
+
case 'new':
self::$DiversInfo['products_virtual_typeID'] = 1; // default, "Physical"
+
+ $res = tep_get_status_array('product',0,'status_name');
+
+ // if one type, create auto and redirect
+ if(count($res)==1)
+ tep_redirect(tep_href_link(self::FILENAME, 'action=insert&pID='));
break;
+
+
case 'edit':
- case 'new_product':
+// case 'new_product':
self::$pInfo = new objectInfo(sqlproduct::Specimen());
@@ -307,22 +318,22 @@
break;
- default:
+ default:
- //! Entretient liens avec categorie
- sqlproduct::Maintenance();
+ //! Entretient liens avec categorie
+ sqlproduct::Maintenance();
}
} else {
/**
- A module has asked to privately take care of this action, check if class and method exist and run it.
+ @remarks A module has asked to privately take care of this action, check if class and method exist and run it.
*/
- if (!empty(self::$actions['action_method']) && method_exists(self::$modules->modules[self::$actions['action_class']],self::$actions['action_method'] )){
- $metho=self::$actions['action_method'];
- self::$box = new box;
- self::$box=self::$modules->modules[self::$actions['action_class']]->$metho(self::$box,(int)$_GET['pID']);
- }
+ if (!empty(self::$actions['action_method']) && method_exists(self::$modules->modules[self::$actions['action_class']],self::$actions['action_method'] )){
+ $metho=self::$actions['action_method'];
+ self::$box = new box;
+ self::$box=self::$modules->modules[self::$actions['action_class']]->$metho(self::$box,(int)$_GET['pID']);
+ }
}
@@ -337,6 +348,7 @@
@return no return
*/
public function get_header(){
+
tep_include_file(DIR_WS_JS . "modules/pages/".__CLASS__.".js.php",true);
/** aca */ self::$modules->get_header_js('new_product');
@@ -388,7 +400,7 @@
$action='delete';
break;
case 'edit':
- case 'new_product':
+// case 'new_product':
$action='edit';
case 'copy_to':
self::load_db_values($_GET['pID']);
@@ -429,7 +441,7 @@
: ''
).
sprintf(CsrtAction::getLink('row_action_right', IMAGE_COPY_TO, 'copyto'), 'fancy', tep_href_link(self::FILENAME, 'pID=' . $products['products_id'] . '&action=copy_to') ,'' ).
- sprintf(CsrtAction::getLink('row_action_right', IMAGE_EDIT, 'edit'), '', tep_href_link(self::FILENAME, 'pID=' . $products['products_id'] . '&action=new_product') ,'' ).
+ sprintf(CsrtAction::getLink('row_action_right', IMAGE_EDIT, 'edit'), '', tep_href_link(self::FILENAME, 'pID=' . $products['products_id'] . '&action=edit') ,'' ).
sprintf(CsrtAction::getLink('row_action_right', IMAGE_DELETE, 'delete'), 'fancy', tep_href_link(self::FILENAME, 'pID=' . $products['products_id'] . '&action=delete_product') ,'' )
);
}
Modified: trunk/catalog/install/includes/sql/mysql/data/91_osc_cronjob.sql
===================================================================
--- trunk/catalog/install/includes/sql/mysql/data/91_osc_cronjob.sql 2012-03-30 08:12:26 UTC (rev 4109)
+++ trunk/catalog/install/includes/sql/mysql/data/91_osc_cronjob.sql 2012-03-30 08:41:51 UTC (rev 4110)
@@ -11,5 +11,6 @@
--| http://www.oscss.org/ |
--+######################################################################--+
-INSERT INTO osc_cronjob (id, scriptpath, name, time_interval, fire_time, time_last_fired, run_only_once, status) VALUES (1, 'includes/modules/cronjob/clean_cache_dir', 'clean_cache_dir', '60', NOW(), NULL, 0, 1);
+INSERT INTO osc_cronjob ( scriptpath, name, time_interval, fire_time, time_last_fired, run_only_once, status) VALUES ( 'includes/modules/cronjob/clean_cache_dir', 'clean_cache_dir', '60', NOW(), NULL, 0, 1);
+
Modified: trunk/catalog/install/includes/sql/mysql/tables/osc_content.sql
===================================================================
--- trunk/catalog/install/includes/sql/mysql/tables/osc_content.sql 2012-03-30 08:12:26 UTC (rev 4109)
+++ trunk/catalog/install/includes/sql/mysql/tables/osc_content.sql 2012-03-30 08:41:51 UTC (rev 4110)
@@ -15,7 +15,7 @@
drop table if exists osc_content;
create table osc_content (
content_id int(10) unsigned not null auto_increment,
- content_type varchar(64) not null ,
+ content_type varchar(64) not null DEFAULT '1',
content_name varchar(64) not null ,
date_added datetime default '1000-01-01 00:00:00' null ,
last_modified datetime default '1000-01-01 00:00:00' null ,
Added: trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/tables/osc_content.sql
===================================================================
--- trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/tables/osc_content.sql (rev 0)
+++ trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/tables/osc_content.sql 2012-03-30 08:41:51 UTC (rev 4110)
@@ -0,0 +1,15 @@
+--+######################################################################--+
+--| osCSS Open Source E-commerce |
+--+######################################################################--+
+--| Copyright (c) 2005-2012 The osCSS developers |
+--| |
+--| http://www.oscss.org |
+--| Portions Copyright (c) 2003 osCommerce |
+--+######################################################################--+
+--| This source file is subject to version 2.0 of the GPL license, |
+--| available at the following url: |
+--| http://www.oscss.org/ |
+--+######################################################################--+
+
+
+ALTER TABLE osc_content ADD content_type varchar(64) not null DEFAULT '1' AFTER content_id
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-30 08:12:32
|
Revision: 4109
http://oscss.svn.sourceforge.net/oscss/?rev=4109&view=rev
Author: oscim
Date: 2012-03-30 08:12:26 +0000 (Fri, 30 Mar 2012)
Log Message:
-----------
refonte de la gestion des upgrades, structuration des dossiers et fichiers pour l'upgrade sql
Added Paths:
-----------
trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/
trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/
trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/20_osc_status.sql
trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/tables/
Added: trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/20_osc_status.sql
===================================================================
--- trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/20_osc_status.sql (rev 0)
+++ trunk/catalog/install/includes/sql/mysql/upgrade/2.1.0_2.1.1/data/20_osc_status.sql 2012-03-30 08:12:26 UTC (rev 4109)
@@ -0,0 +1,15 @@
+--+######################################################################--+
+--| osCSS Open Source E-commerce |
+--+######################################################################--+
+--| Copyright (c) 2005-2012 The osCSS developers |
+--| |
+--| http://www.oscss.org |
+--| Portions Copyright (c) 2003 osCommerce |
+--+######################################################################--+
+--| This source file is subject to version 2.0 of the GPL license, |
+--| available at the following url: |
+--| http://www.oscss.org/ |
+--+######################################################################--+
+
+
+UPDATE osc_status SET status_type = 'product' WHERE status_type = 'products_virtual_types'
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-29 21:18:36
|
Revision: 4108
http://oscss.svn.sourceforge.net/oscss/?rev=4108&view=rev
Author: oscim
Date: 2012-03-29 21:18:26 +0000 (Thu, 29 Mar 2012)
Log Message:
-----------
Correction coquille
Suite developpement class sqlstatus
suite dev module de configuration du datatype products
Ajout d'un flag de statut dans la table status
ajout commentaire
Modified Paths:
--------------
trunk/catalog/admin/includes/class.interfaces.php
trunk/catalog/admin/includes/classes/drivers/sqlstatus.php
trunk/catalog/admin/includes/functions/general.php
trunk/catalog/admin/includes/modules/configuration/modstatus.php
trunk/catalog/install/includes/sql/mysql/tables/osc_status.sql
Added Paths:
-----------
trunk/catalog/admin/includes/gabarit/configuration/datatypeproduct.listing.gab
trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/datatypeproduct.txt
trunk/catalog/admin/includes/modules/configuration/datatypeproduct.php
Modified: trunk/catalog/admin/includes/class.interfaces.php
===================================================================
--- trunk/catalog/admin/includes/class.interfaces.php 2012-03-28 13:26:42 UTC (rev 4107)
+++ trunk/catalog/admin/includes/class.interfaces.php 2012-03-29 21:18:26 UTC (rev 4108)
@@ -1,17 +1,18 @@
<?php
/**
- @licence GPL 2005-2011 The osCSS developers - osCSS Open Source E-commerce
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 02/10/11, 22:45
+ @date 29/03/2012, 22:45
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
/**
- Interface generic module aca
+ @interface mod_aca
+ @brief generic module aca
*/
interface mod_aca {
public function load_db_values($Id);
@@ -20,8 +21,8 @@
/**
- Interface des class de configuration, pour en assurer la stabilité et coherance
-
+ @interface ext_configuration
+ @brief des modules configuration, pour en assurer la stabilité et coherance
NOTE:: Tous les module de configuration utilisé doivent porter "implements mod_configuration"
*/
interface ext_configuration {
@@ -32,7 +33,8 @@
}
/**
- Element obligatoire des module de type pages
+ @interface ExtModPage
+ @brief Element obligatoire des module de type pages
Specific BO
*/
interface ExtModPage {
@@ -43,7 +45,7 @@
}
/**
- Interface des module de page, utilisant l'ajax pour traiter le listing
+ @interface des module de page, utilisant l'ajax pour traiter le listing
*/
Interface InterfacedTJsonS {
public static function tep_get_modele();
@@ -51,13 +53,16 @@
}
/**
- Interface des module de page, utilisant l'ajax afficher detail d'une ligne d'un point
+ @interface des module de page, utilisant l'ajax afficher detail d'une ligne d'un point
*/
Interface InterfacedInnerHtml {
public static function detail_row_page($ID);
}
+/**
+ @interface
+*/
Interface InterfaceNewsletters {
public function get_content();
public function confirm();
@@ -66,6 +71,7 @@
/**
+ @interface IntModCronJob
@brief Interface for module type cronjob and Execution, base module ; Force function exists,
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
*/
@@ -78,6 +84,7 @@
}
/**
+ @interface IntModCronJobConfig
@brief Interface for module type cronjob and require extra fields configuration ; Force function exists,
Just for module cronjob for configuration possible
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@@ -138,6 +145,7 @@
}
/**
+ @interface ModGraphStatsData
@brief force structure of module Data type graph_stats
*/
Interface ModGraphStatsData{
@@ -174,7 +182,8 @@
/**
- Interface use in class/drivers/sqlxxxxx.php
+ @interface ModSqlDataDriver
+ @brief Interface use in class/drivers/sqlxxxxx.php
Manipule data in table
*/
Interface ModSqlDataDriver {
@@ -186,7 +195,8 @@
/**
- Just define class for use module public configuration
+ @interface AbstractAccount
+ @brief Just define class for use module public configuration
*/
class AbstractAccount {}
?>
\ No newline at end of file
Modified: trunk/catalog/admin/includes/classes/drivers/sqlstatus.php
===================================================================
--- trunk/catalog/admin/includes/classes/drivers/sqlstatus.php 2012-03-28 13:26:42 UTC (rev 4107)
+++ trunk/catalog/admin/includes/classes/drivers/sqlstatus.php 2012-03-29 21:18:26 UTC (rev 4108)
@@ -4,12 +4,11 @@
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 26/03/2012, 16:51
+ @date 29/03/2012, 16:51
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
@class sqlstatus
@file sqlstatus.php
- @brief manage insert/update/delete in zone tables
*/
@@ -38,20 +37,20 @@
public static function create($option){
self::getInstance();
- if(!isset($option['status_type']))
+ if(!isset($option['type']))
return 'status_type';
- $id = self::GetNexTValueId($option['status_type']);
+ $id = self::GetNexTValueId($option['type']);
if(!$id)
return $id;
$sql_data_array['status_id'] = (int)$id;
- $sql_data_array['status_type'] = (isset($option['status_type'])) ? tep_db_prepare_input($option['status_type']) :'NULL';
- $sql_data_array['language_id'] = (isset($option['language_id'])) ? tep_db_prepare_input($option['language_id']) :0;
- $sql_data_array['status_name'] = (isset($option['status_name'])) ? tep_db_prepare_input($option['status_name']) :'NULL';
- $sql_data_array['status_color'] = (isset($option['status_color'])) ? tep_db_prepare_input($option['status_color']) :'NULL';
-
+ $sql_data_array['status_type'] = (isset($option['type'])) ? tep_db_prepare_input($option['type']) :'NULL';
+ $sql_data_array['language_id'] = (isset($option['language_id'])) ? tep_db_prepare_input($option['language_id']) :0;
+ $sql_data_array['status_name'] = (isset($option['name'])) ? tep_db_prepare_input($option['name']) :'NULL';
+ $sql_data_array['status_color'] = (isset($option['color'])) ? tep_db_prepare_input($option['color']) :'NULL';
+ $sql_data_array['status_status']= (isset($option['status'])) ? tep_db_prepare_input($option['status']) :0;
// $sql_data_array['date_added'] = 'now()';
$res=tep_db_perform(TABLE_STATUS, $sql_data_array);
@@ -68,19 +67,21 @@
public static function update($option){
self::getInstance();
- if(!isset($option['status_type']))
- return 'status_type';
+ if(!isset($option['type']))
+ return 'type';
// if(!isset($option['id']) || !isset($option['language_id']) )
// return 'id | language_id ';
- $where =' AND status_type = \''.$option['status_type'].'\'';
+ $where ='AND status_type = \''.$option['type'].'\' ';
if(isset($option['id'])) $where .="AND status_id = '".(int)$option['id']."' ";
if(isset($option['language_id'])) $where .="AND language_id = '".(int)$option['language_id']."' ";
+// if(isset($option['status'])) $sql .="AND status_status = '".(int)tep_db_input($option['status'])."' ";
- $sql_data_array['status_name'] = (isset($option['name'])) ? tep_db_prepare_input($option['name']) :'NULL';
- $sql_data_array['status_color'] = (isset($option['color'])) ? tep_db_prepare_input($option['color']) :'NULL';
+ if(isset($option['status'])) $sql_data_array['status_status'] = tep_db_prepare_input($option['status']);
+ if(isset($option['color'])) $sql_data_array['status_color'] = tep_db_prepare_input($option['color']);
+ if(isset($option['name'])) $sql_data_array['status_name'] = tep_db_prepare_input($option['name']);
// $sql_data_array['last_modified'] = 'now()';
$res=tep_db_perform(TABLE_STATUS, $sql_data_array, 'update' , substr($where,3) );
@@ -115,15 +116,16 @@
$sql ="";
if(isset($option['id'])) $sql .="AND status_id = '".(int)tep_db_input($option['id'])."' ";
- if(isset($option['type'])) $sql .="AND status_type = '".(int)tep_db_input($option['type'])."' ";
+ if(isset($option['type'])) $sql .="AND status_type = '".(string)tep_db_input($option['type'])."' ";
if(isset($option['language_id'])) $sql .="AND language_id = '".(int)tep_db_input($option['language_id'])."' ";
+ if(isset($option['status'])) $sql .="AND status_status = '".(int)tep_db_input($option['status'])."' ";
if($sql=='')
return false;
$sql="SELECT * FROM " . TABLE_STATUS . " a ".
- " WHERE ".substr($sql,3);
+ " WHERE ".substr($sql,3);
$res=$DB->query($sql);
@@ -155,7 +157,7 @@
if(isset($option['id']))
$where = " where status_id = '" .(int)tep_db_input($option['id']) . "'";
elseif(isset($option['type']))
- $where = " where status_type = '" .(int)tep_db_input($option['type']) . "'";
+ $where = " where status_type = '" .(string)tep_db_input($option['type']) . "'";
elseif(isset($option['language_id']))
$where = " where language_id = '" .(int)tep_db_input($option['language_id']) . "'";
else
@@ -174,11 +176,12 @@
*/
public static function Specimen($shortkey=false){
$result = array(
- 'status_id ' => '',
+ 'status_id' => '',
'status_type' => '',
'language_id' => '',
'status_name' => '',
'status_color' => '',
+ 'status_status' => '',
);
return ((!$shortkey)? $result : self::CleanKey($result));;
Modified: trunk/catalog/admin/includes/functions/general.php
===================================================================
--- trunk/catalog/admin/includes/functions/general.php 2012-03-28 13:26:42 UTC (rev 4107)
+++ trunk/catalog/admin/includes/functions/general.php 2012-03-29 21:18:26 UTC (rev 4108)
@@ -594,14 +594,20 @@
*/
function tep_get_status_array($type='orders', $id=0, $orderby='status_id', $sort='ASC'){
global $languages_id;
- $list=array();
- $DB=Database::getInstance();
- $list_query = $DB->query($sql="select status_id, status_name from " . TABLE_STATUS . " where status_type='".$type."' and language_id='".(int)$languages_id."' order by ".$orderby." ".$sort." ; ");
- while ($status=$list_query->fetchAssoc())
- if($id > 0 && (int)$id == $status['status_id'])
- return array('id' => $status['status_id'], 'text' => $status['status_name']);
- else $list[] = array('id' => $status['status_id'], 'text' => $status['status_name']);
+ $all = sqlstatus::fetch(array(
+ 'type'=>$type,
+ 'language_id'=>(int)$languages_id,
+ 'status'=>1,
+ ),
+ true
+ );
+
+ foreach($all as $status)
+ if($id > 0 && (int)$id == $status->id)
+ return array('id' => $status->id, 'text' => $status->name);
+ else $list[] = array('id' => $status->id , 'text' => $status->name);
+
if($id > 0)
return false;
else
Added: trunk/catalog/admin/includes/gabarit/configuration/datatypeproduct.listing.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/configuration/datatypeproduct.listing.gab (rev 0)
+++ trunk/catalog/admin/includes/gabarit/configuration/datatypeproduct.listing.gab 2012-03-29 21:18:26 UTC (rev 4108)
@@ -0,0 +1,83 @@
+<?php
+/**
+ @licence GPL 2005-2011 The osCSS developers - osCSS Open Source E-commerce
+ @portion code Copyright (c) 2002 osCommerce
+ @package osCSS-2 <www http://www.oscss.org>
+ @version 2.1.1
+ @date 22/09/11, 20:05
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+ @brief mise en forme de la gestion du stock
+*/
+?>
+
+<div id="ssmenu">
+ <?php echo tep_ssmenu_configuration($_GET['gparentID']) ?>
+</div>
+
+
+
+<h3 class="main-title"><?php echo __('heading datatypeproduct configuration') ?></h3>
+
+<?php echo tep_draw_form('configuration', FILENAME_CONFIGURATION, 'gparentID=' . $_GET['gparentID'].'&gID=' . $_GET['gID'] . '&action=save_mutli') ?>
+
+
+<!-- <div class="block_form"> -->
+
+
+ <div id="tabs">
+ <ul>
+ <li><a href="#tabs-1"><?php echo __('datatypeproduct tab configuration'); ?></a></li>
+ </ul>
+
+ <div id="tabs-1" class="tabPage">
+
+ <h4 class="main-title"><?php echo __('heading datatypeproduct manage type products') ?></h4>
+
+ <p class="main-intro"><?php echo __('datatypeproduct type txt intro') ?></p>
+
+ <fieldset class="block_field">
+ <legend><?php echo __('datatypeproduct legend manage type') ?></legend>
+ <div class="block_input">
+
+ <table>
+ <thead>
+ <tr>
+ <th><?php echo __('datatypeproduct tableheading id') ?></th>
+ <th><?php echo __('datatypeproduct tableheading active') ?></th>
+ <th><?php echo __('datatypeproduct tableheading name') ?></th>
+ <th><?php echo __('datatypeproduct tableheading physical') ?></th>
+ <th><?php echo __('datatypeproduct tableheading virtual') ?></th>
+ </tr>
+ </thead>
+<!-- <tfoot>
+ <tr>
+ <td> </td>
+ <td class="tcenter"> </td>
+ <td><?php echo tep_draw_input_field('name_0', 'name_0', ''); ?></td>
+ <td class="tcenter"><?php echo tep_draw_radio_field('virtual_0', 'virtual_0' , 0, 1); ?></td>
+ <td class="tcenter"><?php echo tep_draw_radio_field('virtual_0', 'virtual_0' , 1, 0); ?></td>
+ </tr>
+ </tfoot>-->
+ <tbody>
+ <?php foreach(datatypeproduct::$list->types as $row): ?>
+ <tr>
+ <td><?php echo $row->id; ?></td>
+ <td class="tcenter"><?php echo tep_draw_checkbox_field('types[active]['.$row->id.']', 'active_'.$row->id , $row->status, (bool)$row->status); ?></td>
+ <td><?php echo $row->name /*tep_draw_input_field('types[name]['.$row->id.']', 'name_'.$row->id, $row->name)*/; ?></td>
+ <td class="tcenter"><?php echo tep_draw_radio_field('types[virtual]['.$row->id.']', 'virtual_'.$row->id , 1, (bool)!in_array($row->id, explode(',', TYPE_VIRTUAL_PRODUCTS) )); ?></td>
+ <td class="tcenter"><?php echo tep_draw_radio_field('types[virtual]['.$row->id.']', 'virtual_'.$row->id , 2, (bool)in_array($row->id, explode(',', TYPE_VIRTUAL_PRODUCTS) )); ?></td>
+ </tr>
+ <?php endforeach; ?>
+ </tbody>
+ </table>
+
+
+ </div>
+ </fieldset>
+
+ <div class="button_nav">
+ <?php print tep_image_submit('button_copy.gif', IMAGE_UPDATE) .tep_js_back(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $_GET['gparentID'].'&gID=' . $_GET['gID'] )) ; ?>
+ </div>
+</div>
+</form>
\ No newline at end of file
Added: trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/datatypeproduct.txt
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/datatypeproduct.txt (rev 0)
+++ trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/datatypeproduct.txt 2012-03-29 21:18:26 UTC (rev 4108)
@@ -0,0 +1,28 @@
+<?php
+/**
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
+ @portion code Copyright (c) 2002 osCommerce
+ @package osCSS-2 <www http://www.oscss.org>
+ @version 2.1.1
+ @date 28/03/2012, 11:18
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+*/
+
+$lang['heading datatypeproduct configuration']="DataType produits" ;
+
+$lang['datatypeproduct tab configuration']="configuration" ;
+$lang['heading datatypeproduct manage type products']="Gestion des types de produits" ;
+$lang['datatypeproduct legend manage type']="Types de produits" ;
+$lang['datatypeproduct type txt intro']="Les types de produits modifie le fonctionnement des produits, et permettent de construire des extensions ciblées avec des caractéristiques particulières. L'ensemble des ces modification peuvent impacter profondement le fonctionnement de vos produits. Ne manipuler ces options que si vous savez ce que vous faites !!!" ;
+
+$lang['datatypeproduct tableheading id']="Id" ;
+$lang['datatypeproduct tableheading active']="Actif" ;
+$lang['datatypeproduct tableheading name']="Nom" ;
+$lang['datatypeproduct tableheading physical']="physique" ;
+$lang['datatypeproduct tableheading virtual']="Virtuel" ;
+
+
+
+
+?>
\ No newline at end of file
Added: trunk/catalog/admin/includes/modules/configuration/datatypeproduct.php
===================================================================
--- trunk/catalog/admin/includes/modules/configuration/datatypeproduct.php (rev 0)
+++ trunk/catalog/admin/includes/modules/configuration/datatypeproduct.php 2012-03-29 21:18:26 UTC (rev 4108)
@@ -0,0 +1,202 @@
+<?php
+/**
+ @licence GPL 2005-2011 The osCSS developers - osCSS Open Source E-commerce
+ @portion code Copyright (c) 2002 osCommerce
+ @package osCSS-2 <www http://www.oscss.org>
+ @version 2.1.1
+ @date 22/09/11, 19:49
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+ @class datatypeproduct
+*/
+
+
+Class datatypeproduct
+ implements ext_configuration
+ {
+
+ /**
+ @var object all config
+ */
+ public static $list;
+ /**
+ @var int Current Get gID
+ */
+ public static $gID;
+
+
+ /**
+ @fn __construct()
+ @brief constructor
+ */
+ function __construct(){
+ global $oscss;
+ $this->code=__CLASS__;
+ global $messageStack, $language,$lang;
+ if (!is_writeable(DIR_FS_TEMPLATES)) $messageStack->add(ERROR_DESTINATION_NOT_WRITEABLE. 'template/', 'error');
+
+ $oscss->pile_file_lang(DIR_FS_ADMIN.DIR_WS_LANGUAGES.$language.'/modules/configuration/'.$this->code.'.txt');
+
+// self::$cfg =new sqlconfiguration();
+ self::$gID = (int)$_GET['gID'];
+ }
+
+
+ /**
+ @fn draw_action()
+ @brief Action Prise en charge par le modules
+ */
+ public function draw_action(){
+ global $action,$messageStack;
+
+ $DB=Database::getInstance();
+ $gparentID = tep_db_prepare_input($_GET['gparentID']);
+ $gID= tep_db_prepare_input($_GET['gID']);
+
+ switch($action){
+ /**
+ @brief save page groupe
+ */
+ case 'save_mutli':
+
+ /// option de configuration classique
+ if(tep_not_null($gID) ){
+
+ $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
+
+ foreach($list as $row) {
+
+ if(isset($_POST['configuration'][$row->key])) {
+ $configuration_value = tep_db_prepare_input($_POST['configuration'][$row->key]);
+
+ if( ($res=sqlconfiguration::update(array('key'=>$row->key , 'value'=>tep_db_input($configuration_value) ))) == false)$erreur[]=false;
+ else $erreur[]=true;
+
+ }
+
+ }
+
+ if(!in_array(false,$erreur)) $messageStack->add_session(SAVE_CONFIG_OK, 'success');
+ else $messageStack->add_session(SAVE_CONFIG_NOT_OK, 'error');
+
+ }
+
+ /// configuration transversale
+ // prise en charge de la gestion des type de produits
+
+ // mise a jour
+ if(isset($_POST['types']) && is_array($_POST['types']) ){
+ $new_flag_virtual = '';
+ $status = sqlstatus::fetch(array('type'=>'product'), true);
+
+ foreach($status as $key=>$rows ) {
+
+ $data_array = array(
+ 'type'=>'product',
+ 'id'=>$rows->id,
+ 'status'=>(isset($_POST['types']['active'][$rows->id])? 1 : 0 ),
+ );
+
+ sqlstatus::update($data_array);
+
+
+ if( isset($_POST['types']['virtual'][$rows->id]) && (int)$_POST['types']['virtual'][$rows->id] == 2 )
+ $new_flag_virtual .= $rows->id.',';
+ }
+
+ // Ajustement configuration TYPE_VIRTUAL_PRODUCTS
+ sqlconfiguration::update(array(
+ 'key'=>'TYPE_VIRTUAL_PRODUCTS',
+ 'value'=>$new_flag_virtual
+ ));
+
+ }
+
+ // ajout d'un type de produits
+// if(isset($_POST['name_0']) && tep_not_null($_POST['name_0']) ){
+// $sql_data = array(
+// 'type'=>'product',
+// 'name'=>(string)tep_db_prepare_input($_POST['name_0']),
+// 'status'=>0,
+// );
+//
+// sqlstatus::create($sql_data);
+
+ // Ajustement configuration TYPE_VIRTUAL_PRODUCTS
+
+// }
+
+ tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $_GET['gID'] . '&cID=' . $cID));
+ break;
+ }
+ }
+
+ /**
+ @fn load_db_values($Id)
+ @return object
+ */
+ public function load_db_values($Id){
+ global $languages_id;
+
+ $DB = Database::getInstance();
+ $list=new stdClass();
+// $gID = 1;
+
+ $li=sqlconfiguration::fetch(array('group_id'=> (int)self::$gID), true);
+
+ if(is_array($li))
+ foreach($li as $row) {
+
+ $cfgValue =configUtility::CallExecConfigLine($row->use, $row->key, $row->value);
+
+ if (!empty($row->set)){
+ if(strpos($row->set,'(') === false) $row->set.='(';
+ eval('$value_field = ' . $row->set . '"' . htmlspecialchars($row->value) . '","'.$row->key.'");');
+ }
+ else $value_field = tep_draw_input_field('configuration['.$row->key.']', '',$row->value);
+
+ $conf = $row;
+ $row->cfgValue=$cfgValue;
+ $row->value_field=$value_field;
+
+ $list->config[$row->key]=$conf;
+ }
+
+
+ $list->types = sqlstatus::fetch(array('type'=>'product'), true);
+
+ return $list;
+ }
+
+ /**
+ @brief Appelé dans le header de page
+ */
+ public static function draw_header(){
+ ?>
+ <style type="text/css">
+ #central form label {
+ display: inline-block;
+ font-weight: normal;
+ margin: 5px 10px;
+ text-align: left;
+ white-space: pre-wrap;
+ width: 90%;
+ }
+ </style>
+ <?php
+ }
+
+ /**
+ @brief Contenu central
+ */
+ public function draw(){
+
+ global $action,$gparentID;
+// if($action=='cfg') return;
+ self::$list = $this->load_db_values('');
+// var_dump('configuration/'.__CLASS__.'.listing');
+ return tep_get_include_contents('configuration/'.__CLASS__.'.listing');
+ }
+}
+
+?>
\ No newline at end of file
Modified: trunk/catalog/admin/includes/modules/configuration/modstatus.php
===================================================================
--- trunk/catalog/admin/includes/modules/configuration/modstatus.php 2012-03-28 13:26:42 UTC (rev 4107)
+++ trunk/catalog/admin/includes/modules/configuration/modstatus.php 2012-03-29 21:18:26 UTC (rev 4108)
@@ -193,7 +193,7 @@
while ($list_status = tep_db_fetch_array($que)){
$status_query = tep_db_query($sql="select status_id, status_name, status_color from " . TABLE_STATUS . " where status_type='".$list_status['type']."' and language_id = '" . (int)$languages_id . "'");
while ($status = tep_db_fetch_array($status_query)) {
- tep_db_query("insert into " . TABLE_STATUS . " (status_id, status_type, language_id, status_name,status_color) values ('" . (int)$status['status_id'] . "','" .$list_status['type'] . "', '" . (int)$new_lg . "', '" . tep_db_input($status['status_name']) . "', '" . tep_db_input($status['status_color']) . "')");
+ tep_db_query("insert into " . TABLE_STATUS . " (status_id, status_type, language_id, status_name,status_color) values ('" . (int)$status['status_id'] . "','" .$list_status['type'] . "', '" . (int)$new_lg . "', '" . tep_db_input($status['status_name']) . "', '" . tep_db_input($status['status_color']) . "')");
}
}
}
Modified: trunk/catalog/install/includes/sql/mysql/tables/osc_status.sql
===================================================================
--- trunk/catalog/install/includes/sql/mysql/tables/osc_status.sql 2012-03-28 13:26:42 UTC (rev 4107)
+++ trunk/catalog/install/includes/sql/mysql/tables/osc_status.sql 2012-03-29 21:18:26 UTC (rev 4108)
@@ -18,6 +18,7 @@
language_id int(3) NOT NULL default '1',
status_name varchar(32) NOT NULL,
status_color varchar(8) NOT NULL,
+ status_status int(1) NOT NULL DEFAULT '1',
PRIMARY KEY (status_id,status_type,language_id),
KEY idx_status_name (status_name)
) DEFAULT CHARSET=utf8;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-28 13:26:53
|
Revision: 4107
http://oscss.svn.sourceforge.net/oscss/?rev=4107&view=rev
Author: oscim
Date: 2012-03-28 13:26:42 +0000 (Wed, 28 Mar 2012)
Log Message:
-----------
Correction
modifcation du configuration.top poru prendre en charge le passage du nom du module en param plutot que son id
ajustement boxe et menu
report de l'usage de la colonne visible de configuration_group dans le menu
ajustement des fichier sql d'installation
ajsutement du dashbord suite ajout sous menu a la configuration avance des porduit
Modified Paths:
--------------
trunk/catalog/Documents/admin/data/dashboard.xml
trunk/catalog/admin/includes/boxes/01_configuration.php
trunk/catalog/admin/includes/boxes/04_tools.php
trunk/catalog/admin/includes/content/configuration.top.inc
trunk/catalog/admin/includes/languages/fr_FR/boxes/01_configuration.php
trunk/catalog/admin/includes/modules/configuration/modcorecache.php
trunk/catalog/admin/includes/modules/configuration/modstatus.php
trunk/catalog/admin/includes/modules/configuration/modsysinfo.php
trunk/catalog/install/includes/sql/mysql/data/91_osc_configuration_group.sql
Added Paths:
-----------
trunk/catalog/admin/includes/classes/drivers/sqlstatus.php
Modified: trunk/catalog/Documents/admin/data/dashboard.xml
===================================================================
--- trunk/catalog/Documents/admin/data/dashboard.xml 2012-03-28 13:08:37 UTC (rev 4106)
+++ trunk/catalog/Documents/admin/data/dashboard.xml 2012-03-28 13:26:42 UTC (rev 4107)
@@ -62,7 +62,7 @@
<config_35>
<left>
- <widget>HelpConfig</widget>
+ <widget>ProductsWizzard</widget>
</left>
<right>
<widget>SsMenuConfig</widget>
Modified: trunk/catalog/admin/includes/boxes/01_configuration.php
===================================================================
--- trunk/catalog/admin/includes/boxes/01_configuration.php 2012-03-28 13:08:37 UTC (rev 4106)
+++ trunk/catalog/admin/includes/boxes/01_configuration.php 2012-03-28 13:26:42 UTC (rev 4107)
@@ -10,7 +10,7 @@
*/
/* Construct menu based on table configuration_group */
- $_query = tep_db_query("SELECT configuration_group_id AS cgID, configuration_group_title AS cgTitle ,configuration_group_parentid AS gparentID, configuration_group_group_id as is_sub_menu from " . TABLE_CONFIGURATION_GROUP . " ORDER BY configuration_group_parentid ASC , sort_order ASC");
+ $_query = tep_db_query("SELECT configuration_group_id AS cgID, configuration_group_title AS cgTitle ,configuration_group_parentid AS gparentID, configuration_group_group_id as is_sub_menu from " . TABLE_CONFIGURATION_GROUP . " WHERE visible = 1 ORDER BY configuration_group_parentid ASC , sort_order ASC");
// construct structur and hierarchie
foreach($_query->fetchAllAssoc() as $row){
Modified: trunk/catalog/admin/includes/boxes/04_tools.php
===================================================================
--- trunk/catalog/admin/includes/boxes/04_tools.php 2012-03-28 13:08:37 UTC (rev 4106)
+++ trunk/catalog/admin/includes/boxes/04_tools.php 2012-03-28 13:26:42 UTC (rev 4107)
@@ -26,8 +26,8 @@
$tabl_link[608]= array('ss_menu', 'BOX_TOOLS_SYSTEM', 'system',@$img['system']);
$tabl_link[608][4][]= array(FILENAME_BACKUP, 'BOX_TOOLS_BACKUP', 'database',@$img['database']);
- $tabl_link[608][4][]= array(FILENAME_CONFIGURATION.'?gID=37', 'BOX_TOOLS_CACHE', 'cache');
- $tabl_link[608][4][]= array(FILENAME_CONFIGURATION.'?gID=36', 'BOX_TOOLS_SERVER_INFO', 'server_info');
+ $tabl_link[608][4][]= array(FILENAME_CONFIGURATION.'?gmod=modcoreache', 'BOX_TOOLS_CACHE', 'cache');
+ $tabl_link[608][4][]= array(FILENAME_CONFIGURATION.'?gmod=modsysinfo', 'BOX_TOOLS_SERVER_INFO', 'server_info');
$tabl_link[608][4][]= array(FILENAME_CURRENCIES, 'BOX_LOCALIZATION_CURRENCIES', 'currencies');
$tabl_link[608][4][]= array(FILENAME_CRONJOB, 'BOX_TOOLS_CRONJOB', 'database',@$img['database']);
Added: trunk/catalog/admin/includes/classes/drivers/sqlstatus.php
===================================================================
--- trunk/catalog/admin/includes/classes/drivers/sqlstatus.php (rev 0)
+++ trunk/catalog/admin/includes/classes/drivers/sqlstatus.php 2012-03-28 13:26:42 UTC (rev 4107)
@@ -0,0 +1,227 @@
+<?php if (!defined('HTTP_SERVER')) die('You can not access this file directly!');
+/**
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
+ @portion code Copyright (c) 2002 osCommerce
+ @package osCSS-2 <www http://www.oscss.org>
+ @version 2.1.1
+ @date 26/03/2012, 16:51
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+ @class sqlstatus
+ @file sqlstatus.php
+ @brief manage insert/update/delete in zone tables
+*/
+
+
+
+
+class sqlstatus
+ implements ModSqlDataDriver{
+
+ public static $modules;
+
+ protected static $_instance;
+
+ protected function __construct(){
+ }
+
+
+ public static function getInstance() {
+ if(self::$_instance == null) self::$_instance = new self();
+ return self::$_instance;
+ }
+
+
+ /**
+ @brief create new ligne in table configuration
+ */
+ public static function create($option){
+ self::getInstance();
+
+ if(!isset($option['status_type']))
+ return 'status_type';
+
+ $id = self::GetNexTValueId($option['status_type']);
+ if(!$id)
+ return $id;
+
+ $sql_data_array['status_id'] = (int)$id;
+
+ $sql_data_array['status_type'] = (isset($option['status_type'])) ? tep_db_prepare_input($option['status_type']) :'NULL';
+ $sql_data_array['language_id'] = (isset($option['language_id'])) ? tep_db_prepare_input($option['language_id']) :0;
+ $sql_data_array['status_name'] = (isset($option['status_name'])) ? tep_db_prepare_input($option['status_name']) :'NULL';
+ $sql_data_array['status_color'] = (isset($option['status_color'])) ? tep_db_prepare_input($option['status_color']) :'NULL';
+
+// $sql_data_array['date_added'] = 'now()';
+
+ $res=tep_db_perform(TABLE_STATUS, $sql_data_array);
+
+ if(!$res)
+ return $res;
+ else
+ return $id;
+ }
+
+ /**
+ @brief update ligne in table configuration
+ */
+ public static function update($option){
+ self::getInstance();
+
+ if(!isset($option['status_type']))
+ return 'status_type';
+
+// if(!isset($option['id']) || !isset($option['language_id']) )
+// return 'id | language_id ';
+
+ $where =' AND status_type = \''.$option['status_type'].'\'';
+ if(isset($option['id'])) $where .="AND status_id = '".(int)$option['id']."' ";
+ if(isset($option['language_id'])) $where .="AND language_id = '".(int)$option['language_id']."' ";
+
+
+ $sql_data_array['status_name'] = (isset($option['name'])) ? tep_db_prepare_input($option['name']) :'NULL';
+ $sql_data_array['status_color'] = (isset($option['color'])) ? tep_db_prepare_input($option['color']) :'NULL';
+
+// $sql_data_array['last_modified'] = 'now()';
+ $res=tep_db_perform(TABLE_STATUS, $sql_data_array, 'update' , substr($where,3) );
+
+ return $res;
+ }
+
+ /**
+ @brief load ligne in table configuration
+ @param option array
+ id => row id int (configuration_id)
+ key => string key (configuration_key)
+ group_id => group_id int (configuration_group_id)
+ @param $shortkey use cleankey for return short key
+ @return
+
+ object(stdClass)[13]
+ public 'id' => string '1' (length=1)
+
+ OR
+ array(
+ object(stdClass)[13]
+ ...
+ object(stdClass)[13]
+ ..
+ )
+
+ */
+ public static function fetch($option,$shortkey=false){
+ self::getInstance();
+ $DB=Database::getInstance();
+
+ $sql ="";
+ if(isset($option['id'])) $sql .="AND status_id = '".(int)tep_db_input($option['id'])."' ";
+ if(isset($option['type'])) $sql .="AND status_type = '".(int)tep_db_input($option['type'])."' ";
+ if(isset($option['language_id'])) $sql .="AND language_id = '".(int)tep_db_input($option['language_id'])."' ";
+
+ if($sql=='')
+ return false;
+
+
+ $sql="SELECT * FROM " . TABLE_STATUS . " a ".
+ " WHERE ".substr($sql,3);
+
+ $res=$DB->query($sql);
+
+ $num = $res->__get('numRows');
+
+ if($num == 1){
+ $result=$res->fetchAssoc();
+ return ((!$shortkey)? $result : self::CleanKey($result));
+ }
+ elseif($num > 1){
+ $array=array();
+
+ foreach($res->fetchAllAssoc() as $result)
+ $array[]= ((!$shortkey)? $result : self::CleanKey($result));
+
+ return $array;
+ }
+
+ return false;
+ }
+
+ /**
+ @brief delete row
+ */
+ public static function delete($option){
+ self::getInstance();
+ $DB=Database::getInstance();
+
+ if(isset($option['id']))
+ $where = " where status_id = '" .(int)tep_db_input($option['id']) . "'";
+ elseif(isset($option['type']))
+ $where = " where status_type = '" .(int)tep_db_input($option['type']) . "'";
+ elseif(isset($option['language_id']))
+ $where = " where language_id = '" .(int)tep_db_input($option['language_id']) . "'";
+ else
+ return false;
+
+ $DB->query("delete from " . TABLE_STATUS . $where );
+
+
+ return true;
+ }
+
+
+ /**
+ @brief
+ @return array product empty
+ */
+ public static function Specimen($shortkey=false){
+ $result = array(
+ 'status_id ' => '',
+ 'status_type' => '',
+ 'language_id' => '',
+ 'status_name' => '',
+ 'status_color' => '',
+ );
+
+ return ((!$shortkey)? $result : self::CleanKey($result));;
+ }
+
+
+
+ /**
+ @fn CleanKey()
+ @brief Clean string name key
+ */
+ private static function CleanKey($array){
+ self::getInstance();
+ $object= new stdclass();
+
+ foreach($array as $key=>$value){
+ if(strpos($key,'status_') ===0)
+ $key = substr($key, 7);
+
+ $object->$key = $value;
+ }
+
+ return $object;
+ }
+
+
+ /**
+ @fn GetNexTValueId($type)
+ @brief Get Next Id value, this rowid is not auto-increment
+ @param $type string it's key type
+ @return int
+ */
+ private static function GetNexTValueId($type){
+ self::getInstance();
+ $DB=Database::getInstance();
+
+ $next_id_query = $DB->query("select max(status_id) as status_id from " . TABLE_STATUS . " where status_type='".$type."' ");
+ $next_id = $next_id_query->fetchAssoc();
+
+ return $next_id['status_id'] + 1;
+ }
+
+}
+
+
+?>
\ No newline at end of file
Modified: trunk/catalog/admin/includes/content/configuration.top.inc
===================================================================
--- trunk/catalog/admin/includes/content/configuration.top.inc 2012-03-28 13:08:37 UTC (rev 4106)
+++ trunk/catalog/admin/includes/content/configuration.top.inc 2012-03-28 13:26:42 UTC (rev 4107)
@@ -1,10 +1,10 @@
<?php
/**
- @licence GPL 2005-2011 The osCSS developers - osCSS Open Source E-commerce
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 22/09/11, 22:00
+ @date 28/03/2012, 22:00
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
@brief generic page for configuration in confuguration_table
@@ -13,24 +13,38 @@
*/
- // clef de groupe (configuration_group_id)
- $gID = (isset($_GET['gID'])) ? $_GET['gID'] : 1;
+
// groupe parent
$gparentID = (isset($_GET['gparentID'])) ? $_GET['gparentID'] : 0;
+ // gmod for put name module in Get value
+ if(!isset($_GET['gID'])) $gmod = (isset($_GET['gmod'])) ? $_GET['gmod'] : false;
+ // clef de groupe (configuration_group_id)
+ $gID = (isset($_GET['gID'])) ? $_GET['gID'] : 1;
+
/**
@remarks Adjust name child module
Old : cfg_21 >> 21 == configuration_group_id
New : template >> [cg_]template == configuration_group_key
+
+ Or put param in GET[gmod] for name module and not by id
*/
- if(file_exists(DIR_WS_MODULES.'configuration/cfg_'.$gID.'.php'))
+ if(!$gmod && file_exists(DIR_WS_MODULES.'configuration/cfg_'.$gID.'.php'))
$class='cfg_'.$gID;
else {
- $_query = tep_db_query("SELECT configuration_group_key AS childmodule FROM " . TABLE_CONFIGURATION_GROUP . " WHERE configuration_group_id = '" . (int)$gID . "' ORDER BY sort_order");
+ if($gmod !=false)
+ $where = " configuration_group_key = '" . (string)$gmod . "' ";
+ else
+ $where = " configuration_group_id = '" . (int)$gID . "' ";
+
+ $_query = tep_db_query("SELECT configuration_group_id, configuration_group_key AS childmodule FROM " . TABLE_CONFIGURATION_GROUP . " WHERE ".$where." ORDER BY sort_order");
$conf = tep_db_fetch_array($_query);
+ // force redefien gid
+ $gID = $conf['configuration_group_id'];
+
$class= trim(strtolower($conf['childmodule']));
if(substr($class,0,3) =='cg_') $class = substr($class,3);
@@ -58,110 +72,109 @@
switch ($action) {
/**
- @brief save unique ligne
+ @brief save unique ligne
*/
case 'save':
- $configuration_value = tep_db_prepare_input($_POST['configuration_value']);
- $cID = tep_db_prepare_input($_GET['cID']);
+ $configuration_value = tep_db_prepare_input($_POST['configuration_value']);
+ $cID = tep_db_prepare_input($_GET['cID']);
- if( ($res=sqlconfiguration::update(array('key'=>(int)$cID , 'value'=>tep_db_input($configuration_value) ))) == false)
- $messageStack->add(SAVE_CONFIG_OK, 'success');
- else
- $messageStack->add(SAVE_CONFIG_NOT_OK, 'error');
+ if( ($res=sqlconfiguration::update(array('key'=>(int)$cID , 'value'=>tep_db_input($configuration_value) ))) == false)
+ $messageStack->add(SAVE_CONFIG_OK, 'success');
+ else
+ $messageStack->add(SAVE_CONFIG_NOT_OK, 'error');
- tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $_GET['gID'] . '&cID=' . $cID));
+ tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $_GET['gID'] . '&cID=' . $cID));
break;
/**
- @brief save page groupe
+ @brief save page groupe
*/
case 'save_mutli':
- if(tep_not_null($gID) ){
+ if(tep_not_null($gID) ){
- $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
+ $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
- if(is_object($list))
- $liste[]=$list;
- else
- $liste=$list;
+ if(is_object($list))
+ $liste[]=$list;
+ else
+ $liste=$list;
- foreach($liste as $row) {
+ foreach($liste as $row) {
- if(isset($_POST['configuration'][$row->key])) {
- $configuration_value = tep_db_prepare_input($_POST['configuration'][$row->key]);
+ if(isset($_POST['configuration'][$row->key])) {
+ $configuration_value = tep_db_prepare_input($_POST['configuration'][$row->key]);
- if( ($res=sqlconfiguration::update(array('key'=>$row->key , 'value'=>tep_db_input($configuration_value) ))) == false)$erreur[]=false;
- else $erreur[]=true;
+ if( ($res=sqlconfiguration::update(array('key'=>$row->key , 'value'=>tep_db_input($configuration_value) ))) == false)$erreur[]=false;
+ else $erreur[]=true;
- }
+ }
- }
+ }
- if(!in_array(false,$erreur)) $messageStack->add_session(SAVE_CONFIG_OK, 'success');
- else $messageStack->add_session(SAVE_CONFIG_NOT_OK, 'error');
+ if(!in_array(false,$erreur)) $messageStack->add_session(SAVE_CONFIG_OK, 'success');
+ else $messageStack->add_session(SAVE_CONFIG_NOT_OK, 'error');
- }
+ }
- tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $_GET['gID'] . '&cID=' . $cID));
+ tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $_GET['gID'] . '&cID=' . $cID));
break;
case 'save_grp':
- $new_grp_id = tep_db_prepare_input($_POST['new_grp_id']);
- $cID = tep_db_prepare_input($_GET['cID']);
+ $new_grp_id = tep_db_prepare_input($_POST['new_grp_id']);
+ $cID = tep_db_prepare_input($_GET['cID']);
- if( ($res=sqlconfiguration::update(array('id'=>(int)$cID , 'group_id'=>tep_db_input($new_grp_id) ))) == false)
- $messageStack->add_session(SAVE_CONFIG_NOT_OK, 'error');
- else
- $messageStack->add_session(SAVE_CONFIG_OK, 'success');
+ if( ($res=sqlconfiguration::update(array('id'=>(int)$cID , 'group_id'=>tep_db_input($new_grp_id) ))) == false)
+ $messageStack->add_session(SAVE_CONFIG_NOT_OK, 'error');
+ else
+ $messageStack->add_session(SAVE_CONFIG_OK, 'success');
- tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $new_grp_id . '&cID=' . $cID));
- break;
+ tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $new_grp_id . '&cID=' . $cID));
+ break;
- case 'delete_confirm':
+ case 'delete_confirm':
- if( ($res=sqlconfiguration::delete(array('id'=>(int)$cID ))) == false)
- $messageStack->add_session(SAVE_CONFIG_NOT_OK, 'error');
- else
- $messageStack->add_session(SAVE_CONFIG_OK, 'success');
+ if( ($res=sqlconfiguration::delete(array('id'=>(int)$cID ))) == false)
+ $messageStack->add_session(SAVE_CONFIG_NOT_OK, 'error');
+ else
+ $messageStack->add_session(SAVE_CONFIG_OK, 'success');
- tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $gparentID ));
+ tep_redirect(tep_href_link(FILENAME_CONFIGURATION, 'gparentID=' . $gparentID.'&gID=' . $gparentID ));
break;
default:
- $list_edit=array();
- if(isset($mID) ){
- $cfg->load_db_values();
- }
- elseif(tep_not_null($gID) && is_numeric($gID) ){
- $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
+ $list_edit=array();
+ if(isset($mID) ){
+ $cfg->load_db_values();
+ }
+ elseif(tep_not_null($gID) && is_numeric($gID) ){
+ $list=sqlconfiguration::fetch(array('group_id'=> (int)$gID), true);
- if(is_object($list))
- $liste[]=$list;
- else
- $liste=$list;
+ if(is_object($list))
+ $liste[]=$list;
+ else
+ $liste=$list;
- foreach($liste as $row) {
+ foreach($liste as $row) {
- $cfgValue =configUtility::CallExecConfigLine($row->use, $row->key, $row->value);
+ $cfgValue =configUtility::CallExecConfigLine($row->use, $row->key, $row->value);
- if ($row->set) eval($s[]='$value_field = ' . $row->set . '"' . htmlspecialchars($row->value) . '","'.$row->key.'");');
- else $value_field = tep_draw_input_field('configuration['.$row->key.']', '',$row->value);
+ if ($row->set) eval($s[]='$value_field = ' . $row->set . '"' . htmlspecialchars($row->value) . '","'.$row->key.'");');
+ else $value_field = tep_draw_input_field('configuration['.$row->key.']', '',$row->value);
- $conf = $row;
- $row->cfgValue=$cfgValue;
- $row->value_field=$value_field;
+ $conf = $row;
+ $row->cfgValue=$cfgValue;
+ $row->value_field=$value_field;
- $list_edit[]=$conf;
- }
- }
+ $list_edit[]=$conf;
+ }
+ }
}
-// exit;
$cfg_group_query = tep_db_query("select configuration_group_title from " . TABLE_CONFIGURATION_GROUP . " where configuration_group_id = '" . (int)$gID . "'");
Modified: trunk/catalog/admin/includes/languages/fr_FR/boxes/01_configuration.php
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/boxes/01_configuration.php 2012-03-28 13:08:37 UTC (rev 4106)
+++ trunk/catalog/admin/includes/languages/fr_FR/boxes/01_configuration.php 2012-03-28 13:26:42 UTC (rev 4107)
@@ -41,7 +41,7 @@
define('BOX_HEADING_CONF_LOGGING',"Log" );
define('BOX_HEADING_CONF_OPTION_CATALOG',"Options du catalogue" );
define('BOX_HEADING_CONF_OPTION_MAIL',"Options de mail" );
-define('BOX_HEADING_CONF_DOWNLOADS',"Téléchargements" );
+
define('BOX_HEADING_CONF_COMPRESSION',"Compression GZip" );
define('BOX_HEADING_CONF_SESSION',"Session" );
define('BOX_HEADING_CONF_PRODUCT_ATTENTE',"Produits en attentes" );
@@ -52,7 +52,7 @@
define('BOX_HEADING_CONF_PAGE_PRODUCT_DETAIL',"Page produit" );
define('BOX_HEADING_CONF_MEMBRES_DETAIL',"Membre détail" );
define('BOX_HEADING_CONF_BOX_CONFIGURATION_EXTRA_FIELDS',"Clients extra" );
-define('BOX_HEADING_CONF_BOX_CONFIGURATION_PRODUCTS_EXTRA_FIELDS',"Produits extra" );
+
define('BOX_HEADING_CONF_CONFIG_AVANCE',"Configuration avancée" );
define('BOX_HEADING_CONF_ESPACE_ADMIN',"Backoffice" );
define('BOX_HEADING_CONF_CONFIGURATION COMMERCIALE',"Configuration catalogue" );
@@ -62,5 +62,9 @@
define('BOX_HEADING_CONF_TITLE_BOX_CONFIGURATION_ENVIRONEMENT',"Environement" );
define('BOX_HEADING_CONF_CONFIGURATION_ORDERS',"Option des commandes" );
define('BOX_HEADING_CONF_BOX_CONFIGURATION_ABONNEMENT',"Option des Abonnements" );
+
define('BOX_HEADING_CONF_OPTION_PRODUCTS',"Option des produits" );
+define('BOX_HEADING_CONF_CONFIG_PRODUCTS',"Configuration des produits" );
+define('BOX_HEADING_CONF_DOWNLOADS',"Téléchargements" );
+define('BOX_HEADING_CONF_BOX_CONFIGURATION_PRODUCTS_EXTRA_FIELDS',"Produits extra" );
?>
\ No newline at end of file
Modified: trunk/catalog/admin/includes/modules/configuration/modcorecache.php
===================================================================
--- trunk/catalog/admin/includes/modules/configuration/modcorecache.php 2012-03-28 13:08:37 UTC (rev 4106)
+++ trunk/catalog/admin/includes/modules/configuration/modcorecache.php 2012-03-28 13:26:42 UTC (rev 4107)
@@ -4,15 +4,16 @@
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 04/03/2012, 21:29
+ @date 28/03/2012, 21:29
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
@class modcorecache
-
- Gestion du cache
+ @brief Manage file cache core
*/
-Class modcorecache /*implements ext_configuration*/{
+Class modcorecache
+ /*implements ext_configuration*/
+ {
/**
@var $liste array list
@@ -24,7 +25,7 @@
public static $size=0;
/**
- Le contructeur, init la class, et ce charge de l'appel vers le fichier de langues
+ @brief Le contructeur, init la class, et ce charge de l'appel vers le fichier de langues
*/
function __construct(){
$this->code='modcorecache';
@@ -37,7 +38,7 @@
/**
- Action en remplacement des action par defaut
+ @brief Action en remplacement des action par defaut
*/
public function draw_action(){
global $action,$messageStack;
@@ -61,7 +62,7 @@
}
/**
- Ce charge appel db pour recuperer les valeurs
+ @brief Ce charge appel db pour recuperer les valeurs
*/
public function load_db_values($ID=''){
global $action,$languages_id;
@@ -123,7 +124,7 @@
self::$liste = $this->load_db_values();
- return tep_get_include_contents(__CLASS__.'.listing');
+ return tep_get_include_contents('configuration/'.__CLASS__.'.listing');
}
Modified: trunk/catalog/admin/includes/modules/configuration/modstatus.php
===================================================================
--- trunk/catalog/admin/includes/modules/configuration/modstatus.php 2012-03-28 13:08:37 UTC (rev 4106)
+++ trunk/catalog/admin/includes/modules/configuration/modstatus.php 2012-03-28 13:26:42 UTC (rev 4107)
@@ -223,34 +223,33 @@
case 'save':
if (isset($_GET['sID'])) $list_status_id = tep_db_prepare_input($_GET['sID']);
$list_status_hexacolor = $_POST['status_hexacolor'];
+ $list_status_name_array = $_POST['status_name'];
+
+ $sql_data = array(
+ 'type' => self::$config['type'],
+ 'color' => $list_status_hexacolor
+ );
+
+ if($list_status_id > 0)
+ $sql_data['id'] = $list_status_id ;
+
+
$languages = tep_get_languages();
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
- $list_status_name_array = $_POST['status_name'];
$language_id = $languages[$i]['id'];
- $sql_data_array = array('status_name' => tep_db_prepare_input($list_status_name_array[$language_id]),
- 'status_color' => $list_status_hexacolor);
- if ($action == 'insert') {
- if (empty($list_status_id)) {
- $next_id_query = tep_db_query("select max(status_id) as status_id from " . TABLE_STATUS . " where status_type='".self::$config['type']."' ");
- $next_id = tep_db_fetch_array($next_id_query);
- $list_status_id = $next_id['status_id'] + 1;
- }
+ $sql_data['language_id'] = $language_id ;
+ $sql_data['name'] = tep_db_prepare_input($list_status_name_array[$language_id]) ;
- $insert_sql_data = array( 'status_id' => $list_status_id,
- 'status_type' => self::$config['type'],
- 'status_color' => $list_status_hexacolor,
- 'language_id' => $language_id);
- $sql_data_array = array_merge($sql_data_array, $insert_sql_data);
+ if ($action == 'insert')
+ sqlstatus::create($sql_data);
+ else
+ sqlstatus::update($sql_data);
- tep_db_perform(TABLE_STATUS, $sql_data_array);
- } elseif ($action == 'save') {
- tep_db_perform(TABLE_STATUS, $sql_data_array, 'update', "status_type='".self::$config['type']."' and status_id = '" . (int)$list_status_id . "' and language_id = '" . (int)$language_id . "'");
- }
}
// update_advanced
Modified: trunk/catalog/admin/includes/modules/configuration/modsysinfo.php
===================================================================
--- trunk/catalog/admin/includes/modules/configuration/modsysinfo.php 2012-03-28 13:08:37 UTC (rev 4106)
+++ trunk/catalog/admin/includes/modules/configuration/modsysinfo.php 2012-03-28 13:26:42 UTC (rev 4107)
@@ -1,25 +1,24 @@
<?php
/**
- @licence GPL 2005-2010 The osCSS developers - osCSS Open Source E-commerce
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
+ @portion code Copyright (c) 2002 osCommerce
@package oscss-2 <www http://www.oscss.org>
- @version 2.1.0
- @date 18/11/10, 11:28
+ @version 2.1.1
+ @date 28/03/2012, 11:28
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
-
- @class cfg_36
-
- Information systeme
+ @class modsysinfo
+ @brief Information systeme php_info()
*/
-Class cfg_36{
+Class modsysinfo{
/**
Le contructeur, init la class, et ce charge de l'appel vers le fichier de langues
*/
function __construct(){
global $lang;
- $this->code='cfg_36';
+ $this->code='modsysinfo';
global $messageStack, $language,$oscss;
Modified: trunk/catalog/install/includes/sql/mysql/data/91_osc_configuration_group.sql
===================================================================
--- trunk/catalog/install/includes/sql/mysql/data/91_osc_configuration_group.sql 2012-03-28 13:08:37 UTC (rev 4106)
+++ trunk/catalog/install/includes/sql/mysql/data/91_osc_configuration_group.sql 2012-03-28 13:26:42 UTC (rev 4107)
@@ -58,10 +58,14 @@
-- insert into osc_configuration_group values (130,'CONFIGURATION_DATATYPES', NULL, 0, 1, 127, '0', 'MODDATATYPE');
insert into osc_configuration_group values (35 , 'OPTION_PRODUCTS', NULL, 0 , 1, 127, '1', 'OPTION_PRODUCTS');
+ insert into osc_configuration_group values (36, 'CONFIG_PRODUCTS', NULL , 0, 1, 35, '0', 'DATATYPEPRODUCT');
insert into osc_configuration_group values (13, 'DOWNLOADS', NULL, 0, 1, 35, '0', 'MODDOWNLOADS');
insert into osc_configuration_group values (34 , 'BOX_CONFIGURATION_PRODUCTS_EXTRA_FIELDS', NULL, 0 , 1, 35, '0', 'MODPRODEXTRA');
+-- hidden in menu configuration
+insert into osc_configuration_group values (37 , 'VIEW_SYSINFO', NULL, 0 , 0, 120, '1', 'MODSYSINFO');
+insert into osc_configuration_group values (38 , 'VIEW_SYSINFO', NULL, 0 , 0, 120, '1', 'MODCORECACHE');
@@ -83,5 +87,3 @@
-
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-28 13:08:48
|
Revision: 4106
http://oscss.svn.sourceforge.net/oscss/?rev=4106&view=rev
Author: oscim
Date: 2012-03-28 13:08:37 +0000 (Wed, 28 Mar 2012)
Log Message:
-----------
suite deplacement et changement du nom du module de configuration du cache
Added Paths:
-----------
trunk/catalog/admin/includes/gabarit/configuration/modcorecache.listing.gab
Removed Paths:
-------------
trunk/catalog/admin/includes/gabarit/cfg_37.listing.gab
Deleted: trunk/catalog/admin/includes/gabarit/cfg_37.listing.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/cfg_37.listing.gab 2012-03-28 13:01:37 UTC (rev 4105)
+++ trunk/catalog/admin/includes/gabarit/cfg_37.listing.gab 2012-03-28 13:08:37 UTC (rev 4106)
@@ -1,46 +0,0 @@
-<?php
-/**
- @licence GPL 2005-2010 The osCSS developers - osCSS Open Source E-commerce
- @portion code Copyright (c) 2002 osCommerce
- @package osCSS-2 <www http://www.oscss.org>
- @version 2.1.1
- @date 18/12/11, 21:30
- @author oscim <mail aur...@os...> <www http://www.oscim.fr>
- @encode UTF-8
-*/
-?>
-<h3><?php echo __('heading title') ?></h3>
-<p><?php echo __("text info intro cache") ?></p>
-<div class="button_nav">
- <a class="button" href="<?php echo tep_href_link(FILENAME_CONFIGURATION, 'gID='.$_GET['gID'].'&cache=All&action=reset') ?>"><?php echo __('text cache delete all') ?></a>
-</div>
-<div class="box_uniq">
-<!-- <div id="ssmenu"> -->
- <!-- // tep_ssmenu_configuration($gparentID). -->
-<!-- </div> -->
- <table width="100%" class="dataTable">
- <thead>
- <tr>
- <th><?php echo __('table heading cache') ?></th>
- <th><?php echo __('table heading total') ?></th>
- <th><?php echo __('table heading last modified') ?></th>
- <th><?php echo __('table heading action') ?></th>
- </tr>
- </thead>
- <tfoot>
- <tr>
- <td colspan="4"><?php echo __('total cache').' '.cfg_37::$size.' Ko'; ?></td>
- </tr>
- </tfoot>
- <tbody>
- <?php foreach(cfg_37::$liste as $cache => $stats): ?>
- <tr>
- <td><?php echo $cache ?></td>
- <td class="tcenter"><?php echo $stats['total'] ?></td>
- <td><?php echo strftime(DATE_TIME_FORMAT, $stats['last_modified']) ?></td>
- <td class="tright"><?php echo '<a href="' . tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action')).'cache=' . $cache .'&pos='.@$stats['pos']. '&action=reset') . '">' . tep_image(DIR_WS_ICONS.'icon_trash.gif', IMAGE_DELETE ) . '</a>' ?></td>
- </tr>
- <?php endforeach; ?>
- </tbody>
- </table>
-</div>
\ No newline at end of file
Copied: trunk/catalog/admin/includes/gabarit/configuration/modcorecache.listing.gab (from rev 4103, trunk/catalog/admin/includes/gabarit/cfg_37.listing.gab)
===================================================================
--- trunk/catalog/admin/includes/gabarit/configuration/modcorecache.listing.gab (rev 0)
+++ trunk/catalog/admin/includes/gabarit/configuration/modcorecache.listing.gab 2012-03-28 13:08:37 UTC (rev 4106)
@@ -0,0 +1,46 @@
+<?php
+/**
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
+ @portion code Copyright (c) 2002 osCommerce
+ @package osCSS-2 <www http://www.oscss.org>
+ @version 2.1.1
+ @date 28/03/2012, 21:30
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+*/
+?>
+<h3><?php echo __('heading title') ?></h3>
+<p><?php echo __("text info intro cache") ?></p>
+<div class="button_nav">
+ <a class="button" href="<?php echo tep_href_link(FILENAME_CONFIGURATION, 'gmod=modcorecache&cache=All&action=reset') ?>"><?php echo __('text cache delete all') ?></a>
+</div>
+<div class="box_uniq">
+<!-- <div id="ssmenu"> -->
+ <!-- // tep_ssmenu_configuration($gparentID). -->
+<!-- </div> -->
+ <table width="100%" class="dataTable">
+ <thead>
+ <tr>
+ <th><?php echo __('table heading cache') ?></th>
+ <th><?php echo __('table heading total') ?></th>
+ <th><?php echo __('table heading last modified') ?></th>
+ <th><?php echo __('table heading action') ?></th>
+ </tr>
+ </thead>
+ <tfoot>
+ <tr>
+ <td colspan="4"><?php echo __('total cache').' '.modcorecache::$size.' Ko'; ?></td>
+ </tr>
+ </tfoot>
+ <tbody>
+ <?php foreach(modcorecache::$liste as $cache => $stats): ?>
+ <tr>
+ <td><?php echo $cache ?></td>
+ <td class="tcenter"><?php echo $stats['total'] ?></td>
+ <td><?php echo strftime(DATE_TIME_FORMAT, $stats['last_modified']) ?></td>
+ <td class="tright"><?php echo '<a href="' . tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action')).'cache=' . $cache .'&pos='.@$stats['pos']. '&action=reset') . '">' . tep_image(DIR_WS_ICONS.'icon_trash.gif', IMAGE_DELETE ) . '</a>' ?></td>
+ </tr>
+ <?php endforeach; ?>
+ </tbody>
+ </table>
+</div>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-28 13:01:48
|
Revision: 4105
http://oscss.svn.sourceforge.net/oscss/?rev=4105&view=rev
Author: oscim
Date: 2012-03-28 13:01:37 +0000 (Wed, 28 Mar 2012)
Log Message:
-----------
changement du nom du module de gestion du cache
Added Paths:
-----------
trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/modcorecache.txt
trunk/catalog/admin/includes/modules/configuration/modcorecache.php
Removed Paths:
-------------
trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/cfg_37.txt
trunk/catalog/admin/includes/modules/configuration/cfg_37.php
Deleted: trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/cfg_37.txt
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/cfg_37.txt 2012-03-28 12:39:41 UTC (rev 4104)
+++ trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/cfg_37.txt 2012-03-28 13:01:37 UTC (rev 4105)
@@ -1,22 +0,0 @@
-<?php
-/**
- @licence GPL 2005-2010 The osCSS developers - osCSS Open Source E-commerce
- @package oscss-2 <www http://www.oscss.org>
- @version 2.1.0
- @date 21/12/10, 12:12
- @author oscim <mail aur...@os...> <www http://www.oscim.fr>
- @encode UTF-8
-*/
-$lang['heading title']="Contrôle du cache" ;
-$lang['table heading cache']="Cache des blocs" ;
-$lang['table heading total']="Total" ;
-$lang['table heading date created']="Date de création" ;
-$lang['table heading last modified']="Dernière modification" ;
-$lang['table heading action']="Action" ;
-$lang['text file does not exist']="Le fichier n'existe pas" ;
-$lang['text cache directory']="Répertoire du cache :" ;
-$lang['error cache directory does not exist']="Erreur : Le répertoire de cache n'existe pas. Merci de le préciser dans le fichier configure.php." ;
-$lang['error cache directory not writeable']="Erreur : Le répertoire de cache n'est pas autorisé en écriture." ;
-$lang['text cache delete all']="Vider tous les fichiers" ;
-$lang['text info intro cache']="Ne pas supprimer les fichiers de cache sans raison, il accélère de manière importante le chargement des pages, du coté boutique comme privé. Ils stockent les éléments de langues, les tests de présence d'éléments modulaires, les résultats de requêtes sql." ;
-?>
\ No newline at end of file
Copied: trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/modcorecache.txt (from rev 4103, trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/cfg_37.txt)
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/modcorecache.txt (rev 0)
+++ trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/modcorecache.txt 2012-03-28 13:01:37 UTC (rev 4105)
@@ -0,0 +1,22 @@
+<?php
+/**
+ @licence GPL 2005-2010 The osCSS developers - osCSS Open Source E-commerce
+ @package oscss-2 <www http://www.oscss.org>
+ @version 2.1.0
+ @date 21/12/10, 12:12
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+*/
+$lang['heading title']="Contrôle du cache" ;
+$lang['table heading cache']="Cache des blocs" ;
+$lang['table heading total']="Total" ;
+$lang['table heading date created']="Date de création" ;
+$lang['table heading last modified']="Dernière modification" ;
+$lang['table heading action']="Action" ;
+$lang['text file does not exist']="Le fichier n'existe pas" ;
+$lang['text cache directory']="Répertoire du cache :" ;
+$lang['error cache directory does not exist']="Erreur : Le répertoire de cache n'existe pas. Merci de le préciser dans le fichier configure.php." ;
+$lang['error cache directory not writeable']="Erreur : Le répertoire de cache n'est pas autorisé en écriture." ;
+$lang['text cache delete all']="Vider tous les fichiers" ;
+$lang['text info intro cache']="Ne pas supprimer les fichiers de cache sans raison, il accélère de manière importante le chargement des pages, du coté boutique comme privé. Ils stockent les éléments de langues, les tests de présence d'éléments modulaires, les résultats de requêtes sql." ;
+?>
\ No newline at end of file
Deleted: trunk/catalog/admin/includes/modules/configuration/cfg_37.php
===================================================================
--- trunk/catalog/admin/includes/modules/configuration/cfg_37.php 2012-03-28 12:39:41 UTC (rev 4104)
+++ trunk/catalog/admin/includes/modules/configuration/cfg_37.php 2012-03-28 13:01:37 UTC (rev 4105)
@@ -1,132 +0,0 @@
-<?php
-/**
- @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
- @portion code Copyright (c) 2002 osCommerce
- @package osCSS-2 <www http://www.oscss.org>
- @version 2.1.1
- @date 04/03/2012, 21:29
- @author oscim <mail aur...@os...> <www http://www.oscim.fr>
- @encode UTF-8
- @class cfg_37
-
- Gestion du cache
-*/
-
-Class cfg_37 /*implements ext_configuration*/{
-
- /**
- @var $liste array list
- */
- public static $liste;
- /**
- @var $size numeric size total cache
- */
- public static $size=0;
-
- /**
- Le contructeur, init la class, et ce charge de l'appel vers le fichier de langues
- */
- function __construct(){
- $this->code='cfg_37';
-
- global $language,$oscss;
-
- $oscss=oscss_cstr::getInstance();
- $oscss->pile_file_lang(DIR_FS_ADMIN.DIR_WS_LANGUAGES.$language.'/modules/configuration/'.$this->code.'.txt');
- }
-
-
- /**
- Action en remplacement des action par defaut
- */
- public function draw_action(){
- global $action,$messageStack;
- $cached_files= $this->load_db_values();
- switch ($action) {
- case 'reset':
- if (isset($_GET['cache']) && !empty($_GET['cache'])) {
- if ($_GET['cache']=='All'){
- foreach($cached_files as $cache => $stats) {
- osCSS_Cache::clear($cache, (($stats['pos']=='BO')? true:false) );
- }
- }
- else
- osCSS_Cache::clear($_GET['cache'], (($_GET['pos']=='BO')? true:false) );
- }
-
- tep_redirect(tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','cache','pos'), false )));
- break;
- }
-
- }
-
- /**
- Ce charge appel db pour recuperer les valeurs
- */
- public function load_db_values($ID=''){
- global $action,$languages_id;
- $cached_files = array();
-
- $dir=DIR_FS_WORK;
- foreach (scan($dir) as $file) {
- $last_modified = filemtime($dir . '/' . $file);
- self::$size +=filesize($dir . '/' . $file);
- if (strpos($file, '-') !== false)$code = substr($file, 0, strpos($file, '-'));
- else $code = substr($file, 0, strpos($file, '.'));
-
- if (isset($cached_files[$code])) {
- $cached_files[$code]['total']++;
- if ($last_modified > $cached_files[$code]['last_modified'])$cached_files[$code]['last_modified'] = $last_modified;
- } else {
- $cached_files[$code] = array('total' => 1, 'last_modified' => $last_modified,'mod'=>'FO');
- }
- }
- $dir=DIR_FS_ROOT_DOCS .'admin/'. DIR_CACHE;
- foreach (scan($dir) as $file) {
- $last_modified = filemtime($dir . '/' . $file);
- self::$size +=filesize($dir . '/' . $file);
- if (strpos($file, '-') !== false)$code = substr($file, 0, strpos($file, '-'));
- else $code = substr($file, 0, strpos($file, '.'));
-
- if (isset($cached_files[$code])) {
- $cached_files[$code]['total']++;
- if ($last_modified > $cached_files[$code]['last_modified'])$cached_files[$code]['last_modified'] = $last_modified;
- } else {
- $cached_files[$code] = array('total' => 1, 'last_modified' => $last_modified, 'pos'=>'BO');
- }
- }
-
- self::$size = round((self::$size / 1000),2);
- return $cached_files;
- }
-
- /**
- @brief Appel\xE9 dans le header de page
- */
- public static function draw_header(){
- global $messageStack;
- // check if the cache directory exists
- if (is_dir(DIR_FS_WORK)) {
- if (!is_writeable(DIR_FS_WORK)) $messageStack->add(__('error cache directory not writeable'), 'error');
- }
- else {
- $messageStack->add(__('error cache directory does not exist'), 'error');
- }
- }
-
- /**
- @brief Contenu central / traitement affichage
- @return string full html by gabarit
- */
- public function draw(){
- global $action,$gparentID,$current_theme;
-
- self::$liste = $this->load_db_values();
-
- return tep_get_include_contents(__CLASS__.'.listing');
- }
-
-
-}
-
-?>
\ No newline at end of file
Copied: trunk/catalog/admin/includes/modules/configuration/modcorecache.php (from rev 4103, trunk/catalog/admin/includes/modules/configuration/cfg_37.php)
===================================================================
--- trunk/catalog/admin/includes/modules/configuration/modcorecache.php (rev 0)
+++ trunk/catalog/admin/includes/modules/configuration/modcorecache.php 2012-03-28 13:01:37 UTC (rev 4105)
@@ -0,0 +1,132 @@
+<?php
+/**
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
+ @portion code Copyright (c) 2002 osCommerce
+ @package osCSS-2 <www http://www.oscss.org>
+ @version 2.1.1
+ @date 04/03/2012, 21:29
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+ @class modcorecache
+
+ Gestion du cache
+*/
+
+Class modcorecache /*implements ext_configuration*/{
+
+ /**
+ @var $liste array list
+ */
+ public static $liste;
+ /**
+ @var $size numeric size total cache
+ */
+ public static $size=0;
+
+ /**
+ Le contructeur, init la class, et ce charge de l'appel vers le fichier de langues
+ */
+ function __construct(){
+ $this->code='modcorecache';
+
+ global $language,$oscss;
+
+ $oscss=oscss_cstr::getInstance();
+ $oscss->pile_file_lang(DIR_FS_ADMIN.DIR_WS_LANGUAGES.$language.'/modules/configuration/'.$this->code.'.txt');
+ }
+
+
+ /**
+ Action en remplacement des action par defaut
+ */
+ public function draw_action(){
+ global $action,$messageStack;
+ $cached_files= $this->load_db_values();
+ switch ($action) {
+ case 'reset':
+ if (isset($_GET['cache']) && !empty($_GET['cache'])) {
+ if ($_GET['cache']=='All'){
+ foreach($cached_files as $cache => $stats) {
+ osCSS_Cache::clear($cache, (($stats['pos']=='BO')? true:false) );
+ }
+ }
+ else
+ osCSS_Cache::clear($_GET['cache'], (($_GET['pos']=='BO')? true:false) );
+ }
+
+ tep_redirect(tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','cache','pos'), false )));
+ break;
+ }
+
+ }
+
+ /**
+ Ce charge appel db pour recuperer les valeurs
+ */
+ public function load_db_values($ID=''){
+ global $action,$languages_id;
+ $cached_files = array();
+
+ $dir=DIR_FS_WORK;
+ foreach (scan($dir) as $file) {
+ $last_modified = filemtime($dir . '/' . $file);
+ self::$size +=filesize($dir . '/' . $file);
+ if (strpos($file, '-') !== false)$code = substr($file, 0, strpos($file, '-'));
+ else $code = substr($file, 0, strpos($file, '.'));
+
+ if (isset($cached_files[$code])) {
+ $cached_files[$code]['total']++;
+ if ($last_modified > $cached_files[$code]['last_modified'])$cached_files[$code]['last_modified'] = $last_modified;
+ } else {
+ $cached_files[$code] = array('total' => 1, 'last_modified' => $last_modified,'mod'=>'FO');
+ }
+ }
+ $dir=DIR_FS_ROOT_DOCS .'admin/'. DIR_CACHE;
+ foreach (scan($dir) as $file) {
+ $last_modified = filemtime($dir . '/' . $file);
+ self::$size +=filesize($dir . '/' . $file);
+ if (strpos($file, '-') !== false)$code = substr($file, 0, strpos($file, '-'));
+ else $code = substr($file, 0, strpos($file, '.'));
+
+ if (isset($cached_files[$code])) {
+ $cached_files[$code]['total']++;
+ if ($last_modified > $cached_files[$code]['last_modified'])$cached_files[$code]['last_modified'] = $last_modified;
+ } else {
+ $cached_files[$code] = array('total' => 1, 'last_modified' => $last_modified, 'pos'=>'BO');
+ }
+ }
+
+ self::$size = round((self::$size / 1000),2);
+ return $cached_files;
+ }
+
+ /**
+ @brief Appel\xE9 dans le header de page
+ */
+ public static function draw_header(){
+ global $messageStack;
+ // check if the cache directory exists
+ if (is_dir(DIR_FS_WORK)) {
+ if (!is_writeable(DIR_FS_WORK)) $messageStack->add(__('error cache directory not writeable'), 'error');
+ }
+ else {
+ $messageStack->add(__('error cache directory does not exist'), 'error');
+ }
+ }
+
+ /**
+ @brief Contenu central / traitement affichage
+ @return string full html by gabarit
+ */
+ public function draw(){
+ global $action,$gparentID,$current_theme;
+
+ self::$liste = $this->load_db_values();
+
+ return tep_get_include_contents(__CLASS__.'.listing');
+ }
+
+
+}
+
+?>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-28 12:39:52
|
Revision: 4104
http://oscss.svn.sourceforge.net/oscss/?rev=4104&view=rev
Author: oscim
Date: 2012-03-28 12:39:41 +0000 (Wed, 28 Mar 2012)
Log Message:
-----------
renome module configuration sys info
Added Paths:
-----------
trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/modsysinfo.txt
trunk/catalog/admin/includes/modules/configuration/modsysinfo.php
Removed Paths:
-------------
trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/cfg_36.txt
trunk/catalog/admin/includes/modules/configuration/cfg_36.php
Deleted: trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/cfg_36.txt
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/cfg_36.txt 2012-03-27 18:50:12 UTC (rev 4103)
+++ trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/cfg_36.txt 2012-03-28 12:39:41 UTC (rev 4104)
@@ -1,21 +0,0 @@
-<?php
-/**
- @licence GPL 2005-2010 The osCSS developers - osCSS Open Source E-commerce
- @package oscss-2 <www http://www.oscss.org>
- @version 2.0.9h
- @date 06/06/10, 12:12
- @author oscim <mail aur...@os...> <www http://www.oscim.fr>
- @encode UTF-8
-*/
-$lang['heading title']="Informations serveur" ;
-$lang['title server host']="Hôte :" ;
-$lang['title server os']="Système d'exploitation :" ;
-$lang['title server date']="Date du serveur :" ;
-$lang['title server up time']="Temps de fonctionnement :" ;
-$lang['title http server']="Serveur HTTP :" ;
-$lang['title php version']="Version PHP :" ;
-$lang['title zend version']="Zend :" ;
-$lang['title database host']="Hôte de la base de données :" ;
-$lang['title database']="Base de données :" ;
-$lang['title database date']="Date de la base de données :" ;
-?>
\ No newline at end of file
Copied: trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/modsysinfo.txt (from rev 4103, trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/cfg_36.txt)
===================================================================
--- trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/modsysinfo.txt (rev 0)
+++ trunk/catalog/admin/includes/languages/fr_FR/modules/configuration/modsysinfo.txt 2012-03-28 12:39:41 UTC (rev 4104)
@@ -0,0 +1,21 @@
+<?php
+/**
+ @licence GPL 2005-2010 The osCSS developers - osCSS Open Source E-commerce
+ @package oscss-2 <www http://www.oscss.org>
+ @version 2.0.9h
+ @date 06/06/10, 12:12
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+*/
+$lang['heading title']="Informations serveur" ;
+$lang['title server host']="Hôte :" ;
+$lang['title server os']="Système d'exploitation :" ;
+$lang['title server date']="Date du serveur :" ;
+$lang['title server up time']="Temps de fonctionnement :" ;
+$lang['title http server']="Serveur HTTP :" ;
+$lang['title php version']="Version PHP :" ;
+$lang['title zend version']="Zend :" ;
+$lang['title database host']="Hôte de la base de données :" ;
+$lang['title database']="Base de données :" ;
+$lang['title database date']="Date de la base de données :" ;
+?>
\ No newline at end of file
Deleted: trunk/catalog/admin/includes/modules/configuration/cfg_36.php
===================================================================
--- trunk/catalog/admin/includes/modules/configuration/cfg_36.php 2012-03-27 18:50:12 UTC (rev 4103)
+++ trunk/catalog/admin/includes/modules/configuration/cfg_36.php 2012-03-28 12:39:41 UTC (rev 4104)
@@ -1,130 +0,0 @@
-<?php
-/**
- @licence GPL 2005-2010 The osCSS developers - osCSS Open Source E-commerce
- @package oscss-2 <www http://www.oscss.org>
- @version 2.1.0
- @date 18/11/10, 11:28
- @author oscim <mail aur...@os...> <www http://www.oscim.fr>
- @encode UTF-8
-
- @class cfg_36
-
- Information systeme
-*/
-
-Class cfg_36{
-
- /**
- Le contructeur, init la class, et ce charge de l'appel vers le fichier de langues
- */
- function __construct(){
- global $lang;
- $this->code='cfg_36';
-
- global $messageStack, $language,$oscss;
-
- $oscss=oscss_cstr::getInstance();
- $oscss->pile_file_lang(DIR_FS_ADMIN.DIR_WS_LANGUAGES.$language.'/modules/configuration/'.$this->code.'.txt');
- }
-
-
- /**
- Action en remplacement des action par defaut
- */
- public function draw_action(){
- }
-
- /**
- Ce charge appel db pour recuperer les valeurs
- */
- public function load_db_values(){
- global $action,$languages_id;
- return tep_get_system_information();
- }
-
- /**
- Appelé dans le header de page
- */
- public static function draw_header(){
- if (function_exists('ob_start')) {
- echo '<style type="text/css">
- td, th {font-family: sans-serif; font-size: 10px;}
- .center {margin: 0 auto; width: 600px;}
- .p {text-align: left;}
- .e {background-color: #ccccff; font-weight: bold;}
- .h {background-color: #9999cc; font-weight: bold;}
- .v {background-color: #cccccc;}
- i {color: #666666;}
- hr {display: none;}
- h4 {margin: 0 auto; width: 600px;}
- </style>';
- }
- }
-
- /**
- Contenu central
- */
- public function draw(){
- global $action,$gparentID,$current_theme;
-
- $system = $this->load_db_values();
-
- echo
- '<h3>'.__('heading title').'</h3>'."\n".
- '<div style="width:98%; margin:0 auto; clear:both;">'."\n".
- '<table style="width:100%" class="dataTable2">'."\n".
- ' <tbody>'."\n".
- '<tr>'."\n".
- '<td><strong>'.__('title server host').'</strong></td>'."\n".
- '<td>'. $system['host'] . ' (' . $system['ip'] . ')'.'</td>'."\n".
- '<td><strong>'.__('title database host').'</strong></td>'."\n".
- '<td>'.$system['db_server'] . ' (' . $system['db_ip'] . ')'.'</td>'."\n".
- '</tr>'."\n".
- '<tr>'."\n".
- '<td><strong>'.__('title server os').'</strong></td>'."\n".
- '<td>'.$system['system'] . ' ' . $system['kernel'].'</td>'."\n".
- '<td><strong>'.__('title database').'</strong></td>'."\n".
- '<td>'.$system['db_version'].'</td>'."\n".
- '</tr>'."\n".
- '<tr>'."\n".
- '<td><strong>'. __('title server date').'</strong></td>'."\n".
- '<td>'. $system['date'].'</td>'."\n".
- '<td><strong>'. __('title database date').'</strong></td>'."\n".
- '<td>'. $system['db_date'].'</td>'."\n".
- '</tr>'."\n".
- '<tr>'."\n".
- '<td><strong>'. __('title server up time').'</strong></td>'."\n".
- '<td colspan="3">'. $system['uptime'].'</td>'."\n".
- '</tr>'."\n".
- '<tr>'."\n".
- '<td><strong>'.__('title http server').'</strong></td>'."\n".
- '<td colspan="3">'. $system['http_server'].'</td>'."\n".
- '</tr>'."\n".
- '<tr>'."\n".
- '<td><strong>'.__('title php version').'</strong></td>'."\n".
- '<td colspan="3">'. $system['php'] . ' (' . __('title zend version'). ' ' . $system['zend'] . ')'.'</td>'."\n".
- '</tr>'."\n".
- '</tbody>'."\n".
- '</table>'."\n";
- if (function_exists('ob_start')) {
- ob_start();
- phpinfo();
- $phpinfo = ob_get_contents();
- ob_end_clean();
-
- $phpinfo = str_replace('border: 1px', '', $phpinfo);
- $phpinfo = str_replace('border="0"', '', $phpinfo);
- $phpinfo = str_replace('font', 'span', $phpinfo);
- preg_match("#<body>(.*)</body>#s", $phpinfo, $regs);
- echo '<h4>' . tep_image(DIR_WS_IMAGES . 'oscss_logo.png', 'osCSS') . PROJECT_VERSION . '</h4>';
- echo $regs[1];
- } else {
- phpinfo();
- }
-
- print '</div>'."\n";
-
- }
-}
-
-?>
\ No newline at end of file
Copied: trunk/catalog/admin/includes/modules/configuration/modsysinfo.php (from rev 4103, trunk/catalog/admin/includes/modules/configuration/cfg_36.php)
===================================================================
--- trunk/catalog/admin/includes/modules/configuration/modsysinfo.php (rev 0)
+++ trunk/catalog/admin/includes/modules/configuration/modsysinfo.php 2012-03-28 12:39:41 UTC (rev 4104)
@@ -0,0 +1,130 @@
+<?php
+/**
+ @licence GPL 2005-2010 The osCSS developers - osCSS Open Source E-commerce
+ @package oscss-2 <www http://www.oscss.org>
+ @version 2.1.0
+ @date 18/11/10, 11:28
+ @author oscim <mail aur...@os...> <www http://www.oscim.fr>
+ @encode UTF-8
+
+ @class cfg_36
+
+ Information systeme
+*/
+
+Class cfg_36{
+
+ /**
+ Le contructeur, init la class, et ce charge de l'appel vers le fichier de langues
+ */
+ function __construct(){
+ global $lang;
+ $this->code='cfg_36';
+
+ global $messageStack, $language,$oscss;
+
+ $oscss=oscss_cstr::getInstance();
+ $oscss->pile_file_lang(DIR_FS_ADMIN.DIR_WS_LANGUAGES.$language.'/modules/configuration/'.$this->code.'.txt');
+ }
+
+
+ /**
+ Action en remplacement des action par defaut
+ */
+ public function draw_action(){
+ }
+
+ /**
+ Ce charge appel db pour recuperer les valeurs
+ */
+ public function load_db_values(){
+ global $action,$languages_id;
+ return tep_get_system_information();
+ }
+
+ /**
+ Appelé dans le header de page
+ */
+ public static function draw_header(){
+ if (function_exists('ob_start')) {
+ echo '<style type="text/css">
+ td, th {font-family: sans-serif; font-size: 10px;}
+ .center {margin: 0 auto; width: 600px;}
+ .p {text-align: left;}
+ .e {background-color: #ccccff; font-weight: bold;}
+ .h {background-color: #9999cc; font-weight: bold;}
+ .v {background-color: #cccccc;}
+ i {color: #666666;}
+ hr {display: none;}
+ h4 {margin: 0 auto; width: 600px;}
+ </style>';
+ }
+ }
+
+ /**
+ Contenu central
+ */
+ public function draw(){
+ global $action,$gparentID,$current_theme;
+
+ $system = $this->load_db_values();
+
+ echo
+ '<h3>'.__('heading title').'</h3>'."\n".
+ '<div style="width:98%; margin:0 auto; clear:both;">'."\n".
+ '<table style="width:100%" class="dataTable2">'."\n".
+ ' <tbody>'."\n".
+ '<tr>'."\n".
+ '<td><strong>'.__('title server host').'</strong></td>'."\n".
+ '<td>'. $system['host'] . ' (' . $system['ip'] . ')'.'</td>'."\n".
+ '<td><strong>'.__('title database host').'</strong></td>'."\n".
+ '<td>'.$system['db_server'] . ' (' . $system['db_ip'] . ')'.'</td>'."\n".
+ '</tr>'."\n".
+ '<tr>'."\n".
+ '<td><strong>'.__('title server os').'</strong></td>'."\n".
+ '<td>'.$system['system'] . ' ' . $system['kernel'].'</td>'."\n".
+ '<td><strong>'.__('title database').'</strong></td>'."\n".
+ '<td>'.$system['db_version'].'</td>'."\n".
+ '</tr>'."\n".
+ '<tr>'."\n".
+ '<td><strong>'. __('title server date').'</strong></td>'."\n".
+ '<td>'. $system['date'].'</td>'."\n".
+ '<td><strong>'. __('title database date').'</strong></td>'."\n".
+ '<td>'. $system['db_date'].'</td>'."\n".
+ '</tr>'."\n".
+ '<tr>'."\n".
+ '<td><strong>'. __('title server up time').'</strong></td>'."\n".
+ '<td colspan="3">'. $system['uptime'].'</td>'."\n".
+ '</tr>'."\n".
+ '<tr>'."\n".
+ '<td><strong>'.__('title http server').'</strong></td>'."\n".
+ '<td colspan="3">'. $system['http_server'].'</td>'."\n".
+ '</tr>'."\n".
+ '<tr>'."\n".
+ '<td><strong>'.__('title php version').'</strong></td>'."\n".
+ '<td colspan="3">'. $system['php'] . ' (' . __('title zend version'). ' ' . $system['zend'] . ')'.'</td>'."\n".
+ '</tr>'."\n".
+ '</tbody>'."\n".
+ '</table>'."\n";
+ if (function_exists('ob_start')) {
+ ob_start();
+ phpinfo();
+ $phpinfo = ob_get_contents();
+ ob_end_clean();
+
+ $phpinfo = str_replace('border: 1px', '', $phpinfo);
+ $phpinfo = str_replace('border="0"', '', $phpinfo);
+ $phpinfo = str_replace('font', 'span', $phpinfo);
+ preg_match("#<body>(.*)</body>#s", $phpinfo, $regs);
+ echo '<h4>' . tep_image(DIR_WS_IMAGES . 'oscss_logo.png', 'osCSS') . PROJECT_VERSION . '</h4>';
+ echo $regs[1];
+ } else {
+ phpinfo();
+ }
+
+ print '</div>'."\n";
+
+ }
+}
+
+?>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-27 18:50:18
|
Revision: 4103
http://oscss.svn.sourceforge.net/oscss/?rev=4103&view=rev
Author: oscim
Date: 2012-03-27 18:50:12 +0000 (Tue, 27 Mar 2012)
Log Message:
-----------
ajout de liens manquant lors de l'installation (image db)
Modified Paths:
--------------
trunk/catalog/install/data/sample/appareil_photo/oscss_sample_data.sql
Modified: trunk/catalog/install/data/sample/appareil_photo/oscss_sample_data.sql
===================================================================
--- trunk/catalog/install/data/sample/appareil_photo/oscss_sample_data.sql 2012-03-26 15:54:09 UTC (rev 4102)
+++ trunk/catalog/install/data/sample/appareil_photo/oscss_sample_data.sql 2012-03-27 18:50:12 UTC (rev 4103)
@@ -251,8 +251,12 @@
( '001522209aebcddc5ef95598e26722b2', 'images/p_13/coque-arriere-grise-unie-pour-iphone-3g.jpg', 'coque-arriere-grise-unie-pour-iphone-3g.jpg', '2011-12-26 23:40:37', '0000-00-00 00:00:00', 300, 300, 'jpeg'),
( 'c49ae313c0684502ee35541c1d88af6e', 'images/p_13/coque-arriere-fushia-unie-pour-iphone-3g.jpg', 'coque-arriere-fushia-unie-pour-iphone-3g.jpg', '2011-12-26 23:40:37', '0000-00-00 00:00:00', 300, 300, 'jpeg'),
( '18d02e616e395feda6123b598b360806', 'images/p_13/coque-arriere-noire-unie-pour-iphone-3g_2.jpg', 'coque-arriere-noire-unie-pour-iphone-3g_2.jpg', '2011-12-26 23:40:37', '0000-00-00 00:00:00', 300, 300, 'jpeg'),
-( 'e05ff8069cc2f06ede64c5dc3180c813', 'images/p_13/coque-arriere-grise-unie-pour-iphone-3g_2.jpg', 'coque-arriere-grise-unie-pour-iphone-3g_2.jpg', '2011-12-26 23:40:37', '0000-00-00 00:00:00', 300, 300, 'jpeg');
+( 'e05ff8069cc2f06ede64c5dc3180c813', 'images/p_13/coque-arriere-grise-unie-pour-iphone-3g_2.jpg', 'coque-arriere-grise-unie-pour-iphone-3g_2.jpg', '2011-12-26 23:40:37', '0000-00-00 00:00:00', 300, 300, 'jpeg'),
+('fdd73a33e2e66ee65f103086575b3f4c', 'images/Olympus-520/E520-back.jpg', 'E520-back.jpg', '2012-03-27 20:46:42', '0000-00-00 00:00:00', 900, 631, 'jpeg'),
+('92f9aa2b41c72734d3dadeb07f655258', 'images/Olympus-520/E520.jpg', 'E520.jpg', '2012-03-27 20:46:42', '0000-00-00 00:00:00', 900, 633, 'jpeg'),
+('aed3aa2c0d25461fe02e4689785eacc9', 'images/Olympus-520/E520-top.jpg', 'E520-top.jpg', '2012-03-27 20:46:42', '0000-00-00 00:00:00', 900, 700, 'jpeg');
+
COMMIT;
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-26 15:54:17
|
Revision: 4102
http://oscss.svn.sourceforge.net/oscss/?rev=4102&view=rev
Author: oscim
Date: 2012-03-26 15:54:09 +0000 (Mon, 26 Mar 2012)
Log Message:
-----------
Correction diverse
mise a niveau du code
ajout de commentaitre
noramlisation des commentaire pour doxygen
remplacement du type de status products_virtual_type en "product" pour correspondre au datatype
Correction et debut de modification des fichier de l'install afin d'?\195?\170tre plus souple qaund ?\195?\160 leur activation/desactivation et la mise en place d'etape facultative
Modified Paths:
--------------
trunk/catalog/admin/includes/classes/oscss_cstr.php
trunk/catalog/admin/includes/gabarit/products/display_view.listing.gab
trunk/catalog/admin/includes/gabarit/products/display_view.new.gab
trunk/catalog/admin/includes/modules/configuration/modstatus.php
trunk/catalog/admin/includes/modules/pages/products.php
trunk/catalog/common/classes/DataTypes.php
trunk/catalog/includes/functions/initialize.php
trunk/catalog/install/includes/classes/core.php
trunk/catalog/install/includes/content/core.base.php
trunk/catalog/install/includes/content/core.configuration.php
trunk/catalog/install/includes/content/core.modes.php
trunk/catalog/install/includes/content/core.update.php
trunk/catalog/install/includes/sql/mysql/data/20_osc_status.sql
trunk/catalog/login.php
Modified: trunk/catalog/admin/includes/classes/oscss_cstr.php
===================================================================
--- trunk/catalog/admin/includes/classes/oscss_cstr.php 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/admin/includes/classes/oscss_cstr.php 2012-03-26 15:54:09 UTC (rev 4102)
@@ -30,14 +30,23 @@
class oscss_cstr {
+ /**
+ @var
+ */
private static $PileFile=array();
/**
- @p string name file cache file exists
+ @var string name file cache file exists
*/
private static $key_file_cache;
-
+ /**
+ @var
+ */
protected static $_instance;
+
+ /**
+ @brief constructeur
+ */
protected function __construct(){
$this->vars=array();
@@ -49,44 +58,46 @@
$this->base = (isset($_SERVER['REQUEST_URI'])?basename($_SERVER['REQUEST_URI']) : basename($_SERVER['PHP_SELF']));
//! key cache file
self::$key_file_cache= 'BO_files-'.md5( $this->base .(isset($_SESSION['login_firstname'])? $_SESSION['login_firstname']: 'guest'));
-
-
-
}
+ /**
+ @brief get instance
+ */
public static function getInstance() {
if(self::$_instance == null) self::$_instance = new self();
return self::$_instance;
}
/**
- Add constructeur
+ @brief Add constructeur
+ @param $class
*/
private function add_obj($class){
if (class_exists($class)) $this->$class = new $class();
else return false;
}
+ /**
+ @brief init class
+ */
public static function afterAppliTop(){
/**
- @brief init class
+ @remarks init class
*/
- new CsrtAction;
+ new CsrtAction();
}
/**
- Ajout d'element a l'object precisé
- @param
- @p object $object nom du sous l'object a qui ajoute l'element
- @p string nom de var ajouté
- @p string type de var
- @p array/string/int/... valeur
+ @fn _add_in($object, $name, $value)
+ @brief Ajout d'element a l'object precisé
+ @param $object object nom du sous l'object a qui ajoute l'element
+ @param $name string nom de var ajouté
+ @param $value array/string/int/... valeur
*/
public function _add_in($object, $name, $value){
- if (!isset($this->$object) && !$this->add_obj($object) ){
+ if (!isset($this->$object) && !$this->add_obj($object) )
die(_('pas d\'oject de ce nom')) ;
- }
//! operator
$obj=$this->$object;
@@ -103,8 +114,8 @@
}
/**
- init d'un object
- @p string nom de l'object
+ @brief init d'un object
+ @param $object string nom de l'object
*/
public function _add_init($object){
if (!isset($this->$object) && !$this->add_obj($object) ){
@@ -115,10 +126,11 @@
/**
- Init d'un plugin via un fichier oscss_init
- Les functions seront aouté aux sous object
- @p string path generic (ex:DIR_WS_PLUGIN) (terminé par /)
- @p string $name_object nom de l'object
+ @fn _add_ext($name_object, $path)
+ @brief Init d'un plugin via un fichier oscss_init
+ @note Les functions seront aouté aux sous object
+ @param generic string path (ex:DIR_WS_PLUGIN) (terminé par /)
+ @param $name_object string nom de l'object
*/
public function _add_ext($name_object, $path){
if(is_dir($path) && self::TestFile($path.$name_object.'/oscss_init.php') ) {
@@ -129,12 +141,13 @@
/**
- Appel public des function de chargeur des extensions
- @p string object key de l'obj (ex 'dsrte' pour la class 'dsrte_oscss' )
- @p string $function de construction block (_top, _head, _draw)
- @p all tous les arguement a passer à la function
+ @fn _call($key_object, $funct)
+ @brief Appel public des function de chargeur des extensions
+ @param $key_object string object key de l'obj (ex 'dsrte' pour la class 'dsrte_oscss' )
+ @param $funct string $function de construction block (_top, _head, _draw)
+ @return object
*/
- public function _call($key_object, $funct/*[arg functions] */){
+ public function _call($key_object, $funct /*[arg functions] */){
$oscss=$this;
$object=$key_object.'_oscss';
if(!isset($this->$object)) return false;
@@ -163,18 +176,23 @@
}
/**
- Retour du contenu var
+ @fn the_var($key)
+ @brief Retour du contenu de la var
+ @param $key string
+ @return var or false
*/
public function the_var($key){
if(isset($this->vars[(string)$key])) return $this->vars[(string)$key];
else return false;
}
-// public function
+
/**
- Chargeur de fichier de langues
- Specifique au .txt
+ @brief Chargeur de fichier de langues
+ @note Specifique au .txt
+ @param $path_file string pathfilename
+ @return none
*/
public function pile_file_lang($path_file){
global $lang;
@@ -187,9 +205,11 @@
}
/**
- Appelé en debut et fin d'appli
- Charge et stock le cache des fichier de lang en .txt
- Fichier concatene en un seul
+ @fn cache_lang($load=true)
+ @brief Charge et stock le cache des fichier de lang en .txt
+ @note Appelé en debut et fin d'appli
+ @param $load boolean
+ @return none
*/
public function cache_lang($load=true){
global $osCSS_Cache,$lang;
@@ -233,8 +253,8 @@
self::$PileFile=$res;
$result=self::Testfile_exists($file,$keytemp);
if(count($res) < count(self::$PileFile)){
- $osCSS_Cache->clear(self::$key_file_cache);
- $osCSS_Cache->writeBuffer(self::$PileFile);
+ $osCSS_Cache->clear(self::$key_file_cache);
+ $osCSS_Cache->writeBuffer(self::$PileFile);
}
}
else {
Modified: trunk/catalog/admin/includes/gabarit/products/display_view.listing.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/products/display_view.listing.gab 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/admin/includes/gabarit/products/display_view.listing.gab 2012-03-26 15:54:09 UTC (rev 4102)
@@ -1,10 +1,10 @@
<?php
/**
- @licence GPL 2005-2011 The osCSS developers - osCSS Open Source E-commerce
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 17/12/11, 09:32
+ @date 26/03/2012, 09:32
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
*/
@@ -14,7 +14,7 @@
<div>
<div class="fleft smallText" style="width:25%">
- <?php echo tep_draw_form('goto2', products::FILENAME, '', 'get').'<p>'.__('heading title type') . ' ' . tep_draw_pull_down_menu('Vtype', tep_get_status_array('products_virtual_types'), products::$Vtype, 'onchange="this.form.submit();"').'</p></form>'; ?>
+ <?php echo tep_draw_form('goto2', products::FILENAME, '', 'get').'<p>'.__('heading title type') . ' ' . tep_draw_pull_down_menu('Vtype', tep_get_status_array('product'), products::$Vtype, 'onchange="this.form.submit();"').'</p></form>'; ?>
</div>
<div class="navButtons">
<?php
Modified: trunk/catalog/admin/includes/gabarit/products/display_view.new.gab
===================================================================
--- trunk/catalog/admin/includes/gabarit/products/display_view.new.gab 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/admin/includes/gabarit/products/display_view.new.gab 2012-03-26 15:54:09 UTC (rev 4102)
@@ -16,7 +16,7 @@
<dl>
<dt class="block_input">
<label for="products_virtual_type_id"><?php echo __('text products type'); ?></label>
- <?php echo tep_draw_pull_down_menu('products_virtual_type_id', tep_get_status_array('products_virtual_types',0,'status_name'), products::$DiversInfo['products_virtual_typeID']); ?>
+ <?php echo tep_draw_pull_down_menu('products_virtual_type_id', tep_get_status_array('product',0,'status_name'), products::$DiversInfo['products_virtual_typeID']); ?>
</dt>
</dl>
</div>
Modified: trunk/catalog/admin/includes/modules/configuration/modstatus.php
===================================================================
--- trunk/catalog/admin/includes/modules/configuration/modstatus.php 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/admin/includes/modules/configuration/modstatus.php 2012-03-26 15:54:09 UTC (rev 4102)
@@ -9,6 +9,7 @@
@encode UTF-8
@class modstatus
@brief Manage All status in table status, for all status type
+ La modification des status
*/
@@ -220,82 +221,86 @@
switch ($action) {
case 'insert':
case 'save':
- if (isset($_GET['sID'])) $list_status_id = tep_db_prepare_input($_GET['sID']);
- $list_status_hexacolor = $_POST['status_hexacolor'];
+ if (isset($_GET['sID'])) $list_status_id = tep_db_prepare_input($_GET['sID']);
+ $list_status_hexacolor = $_POST['status_hexacolor'];
- $languages = tep_get_languages();
- for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
- $list_status_name_array = $_POST['status_name'];
+ $languages = tep_get_languages();
+ for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
+ $list_status_name_array = $_POST['status_name'];
- $language_id = $languages[$i]['id'];
+ $language_id = $languages[$i]['id'];
- $sql_data_array = array('status_name' => tep_db_prepare_input($list_status_name_array[$language_id]),
- 'status_color' => $list_status_hexacolor);
+ $sql_data_array = array('status_name' => tep_db_prepare_input($list_status_name_array[$language_id]),
+ 'status_color' => $list_status_hexacolor);
- if ($action == 'insert') {
- if (empty($list_status_id)) {
- $next_id_query = tep_db_query("select max(status_id) as status_id from " . TABLE_STATUS . " where status_type='".self::$config['type']."' ");
- $next_id = tep_db_fetch_array($next_id_query);
- $list_status_id = $next_id['status_id'] + 1;
- }
+ if ($action == 'insert') {
+ if (empty($list_status_id)) {
+ $next_id_query = tep_db_query("select max(status_id) as status_id from " . TABLE_STATUS . " where status_type='".self::$config['type']."' ");
+ $next_id = tep_db_fetch_array($next_id_query);
+ $list_status_id = $next_id['status_id'] + 1;
+ }
- $insert_sql_data = array( 'status_id' => $list_status_id,
- 'status_type' => self::$config['type'],
- 'status_color' => $list_status_hexacolor,
- 'language_id' => $language_id);
+ $insert_sql_data = array( 'status_id' => $list_status_id,
+ 'status_type' => self::$config['type'],
+ 'status_color' => $list_status_hexacolor,
+ 'language_id' => $language_id);
- $sql_data_array = array_merge($sql_data_array, $insert_sql_data);
+ $sql_data_array = array_merge($sql_data_array, $insert_sql_data);
- tep_db_perform(TABLE_STATUS, $sql_data_array);
- } elseif ($action == 'save') {
- tep_db_perform(TABLE_STATUS, $sql_data_array, 'update', "status_type='".self::$config['type']."' and status_id = '" . (int)$list_status_id . "' and language_id = '" . (int)$language_id . "'");
- }
- }
+ tep_db_perform(TABLE_STATUS, $sql_data_array);
+ } elseif ($action == 'save') {
+ tep_db_perform(TABLE_STATUS, $sql_data_array, 'update', "status_type='".self::$config['type']."' and status_id = '" . (int)$list_status_id . "' and language_id = '" . (int)$language_id . "'");
+ }
+ }
- // update_advanced
- if(in_array(self::$config['type'],self::$type_advanced )) $this->update_advanced();
+ // update_advanced
+ if(in_array(self::$config['type'],self::$type_advanced )) $this->update_advanced();
- tep_redirect(tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID'),false). '&sID=' . $list_status_id));
- break;
+ tep_redirect(tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID'),false). '&sID=' . $list_status_id));
+ break;
- case 'deleteconfirm':
- $sID = tep_db_prepare_input($_GET['sID']);
+ case 'deleteconfirm':
+ $sID = tep_db_prepare_input($_GET['sID']);
- $list_status_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'DEFAULT_ORDERS_STATUS_ID'");
- $list_status = tep_db_fetch_array($list_status_query);
+ $list_status_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'DEFAULT_ORDERS_STATUS_ID'");
+ $list_status = tep_db_fetch_array($list_status_query);
- if ($list_status['configuration_value'] == $sID) {
- tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '' where configuration_key = 'DEFAULT_ORDERS_STATUS_ID'");
- }
+ if ($list_status['configuration_value'] == $sID) {
+ tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '' where configuration_key = 'DEFAULT_ORDERS_STATUS_ID'");
+ }
- tep_db_query("delete from " . TABLE_STATUS . " where orders_status_id = '" . tep_db_input($sID) . "'");
+ tep_db_query("delete from " . TABLE_STATUS . " where orders_status_id = '" . tep_db_input($sID) . "'");
- tep_redirect(tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID'),false)));
+ tep_redirect(tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID'),false)));
break;
case 'delete':
- $sID = tep_db_prepare_input($_GET['sID']);
+ $sID = tep_db_prepare_input($_GET['sID']);
+/**
+ TODO Utilisation sqlxxx + dependance shipping/service/produits/... !!!
+ @date 26/03/2012 A revoir , prendre en charge le type de status , et le control sur les table qui en depende .
+ @date 26/03/2012 A revoir , prendre en charge le type de status , et le control sur les table qui en depende .
+*/
+ $status_query = tep_db_query("select count(*) as count from " . TABLE_ORDERS . " where orders_status = '" . (int)$sID . "'");
+ $status = tep_db_fetch_array($status_query);
- $status_query = tep_db_query("select count(*) as count from " . TABLE_ORDERS . " where orders_status = '" . (int)$sID . "'");
- $status = tep_db_fetch_array($status_query);
-
- self::$remove_status = true;
- if ($sID == DEFAULT_ORDERS_STATUS_ID) {
- self::$remove_status = false;
- $messageStack->add(__('error remove default order status'), 'error');
- } elseif ($status['count'] > 0) {
- self::$remove_status = false;
- $messageStack->add(__('error status used in orders'), 'error');
- } else {
- $history_query = tep_db_query("select count(*) as count from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_status_id = '" . (int)$sID . "'");
- $history = tep_db_fetch_array($history_query);
- if ($history['count'] > 0) {
- self::$remove_status = false;
- $messageStack->add(__('error status used in history'), 'error');
- }
- }
+ self::$remove_status = true;
+ if ($sID == DEFAULT_ORDERS_STATUS_ID) {
+ self::$remove_status = false;
+ $messageStack->add(__('error remove default order status'), 'error');
+ } elseif ($status['count'] > 0) {
+ self::$remove_status = false;
+ $messageStack->add(__('error status used in orders'), 'error');
+ } else {
+ $history_query = tep_db_query("select count(*) as count from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_status_id = '" . (int)$sID . "'");
+ $history = tep_db_fetch_array($history_query);
+ if ($history['count'] > 0) {
+ self::$remove_status = false;
+ $messageStack->add(__('error status used in history'), 'error');
+ }
+ }
break;
default:
@@ -443,72 +448,72 @@
$oInfo=self::$oInfo;
switch ($action) {
case 'addtype':
- $heading[] = array('text' => __('ajoute un type de status', __CLASS__) );
- $contents[] = array('text' => __('not implemented', __CLASS__) );
- $contents[] = array('class' => 'button_nav','text' => tep_image_submit('button_insert.gif', IMAGE_INSERT) . ' <a class="button" href="' . tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID'))) . '">' . IMAGE_CANCEL . '</a>');
- break;
- case 'add':
- $heading[] = array('text' => __('ajoute un status', __CLASS__) );
+ $heading[] = array('text' => __('ajoute un type de status', __CLASS__) );
+ $contents[] = array('text' => __('not implemented', __CLASS__) );
+ $contents[] = array('class' => 'button_nav','text' => tep_image_submit('button_insert.gif', IMAGE_INSERT) . ' <a class="button" href="' . tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID'))) . '">' . IMAGE_CANCEL . '</a>');
+ break;
+ case 'add':
+ $heading[] = array('text' => __('ajoute un status', __CLASS__) );
- $contents = array('form' => tep_draw_form('status', FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID')). '&action=insert'));
+ $contents = array('form' => tep_draw_form('status', FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID')). '&action=insert'));
- $languages = tep_get_languages();
- for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
- $contents[] = array('class' => 'block_input','text' => tep_language_image( $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('status_name[' . $languages[$i]['id'] . ']'));
- }
+ $languages = tep_get_languages();
+ for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
+ $contents[] = array('class' => 'block_input','text' => tep_language_image( $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('status_name[' . $languages[$i]['id'] . ']'));
+ }
- $contents[] = array('class' => 'block_input','text' => __('utiliser une couleur', __CLASS__) . tep_draw_input_field('status_hexacolor','colorpicker',''));
+ $contents[] = array('class' => 'block_input','text' => __('utiliser une couleur', __CLASS__) . tep_draw_input_field('status_hexacolor','colorpicker',''));
- if(in_array(self::$config['type'],self::$type_advanced ))self::form_advanced($action);
+ if(in_array(self::$config['type'],self::$type_advanced ))self::form_advanced($action);
- $contents[] = array('class' => 'button_nav','text' => tep_image_submit('button_insert.gif', IMAGE_INSERT) . ' <a class="button" href="' . tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID'))) . '">' . IMAGE_CANCEL . '</a>');
- break;
+ $contents[] = array('class' => 'button_nav','text' => tep_image_submit('button_insert.gif', IMAGE_INSERT) . ' <a class="button" href="' . tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID'))) . '">' . IMAGE_CANCEL . '</a>');
+ break;
- case 'edit':
- $heading[] = array('text' =>__('Editer le status', __CLASS__) );
+ case 'edit':
+ $heading[] = array('text' =>__('Editer le status', __CLASS__) );
- $contents = array('form' => tep_draw_form('status', FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID')). '&sID=' . $oInfo->status_id . '&action=save'));
+ $contents = array('form' => tep_draw_form('status', FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID')). '&sID=' . $oInfo->status_id . '&action=save'));
- $languages = tep_get_languages();
- for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
- $txt=(isset($oInfo->name[$languages[$i]['id']]) ?$oInfo->name[$languages[$i]['id']] : '');
- $contents[] = array('class' => 'block_input','text' => tep_language_image( $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('status_name[' . $languages[$i]['id'] . ']','', $txt));
- }
+ $languages = tep_get_languages();
+ for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
+ $txt=(isset($oInfo->name[$languages[$i]['id']]) ?$oInfo->name[$languages[$i]['id']] : '');
+ $contents[] = array('class' => 'block_input','text' => tep_language_image( $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . tep_draw_input_field('status_name[' . $languages[$i]['id'] . ']','', $txt));
+ }
- $contents[] = array('class' => 'block_input','text' => __('utiliser une couleur', __CLASS__) . tep_draw_input_field('status_hexacolor','colorpicker',$oInfo->status_color));
+ $contents[] = array('class' => 'block_input','text' => __('utiliser une couleur', __CLASS__) . tep_draw_input_field('status_hexacolor','colorpicker',$oInfo->status_color));
- if(strlen(abs($oInfo->status_id )) > 1 )
- $contents[] = array('class' => 'block_input','text' => __('is childs status. not use default value for process'));
- elseif(in_array(self::$config['type'],self::$type_advanced ))
- $contents=array_merge($contents,self::form_advanced($action));
+ if(strlen(abs($oInfo->status_id )) > 1 )
+ $contents[] = array('class' => 'block_input','text' => __('is childs status. not use default value for process'));
+ elseif(in_array(self::$config['type'],self::$type_advanced ))
+ $contents=array_merge($contents,self::form_advanced($action));
- $contents[] = array('class' => 'button_nav','text' => tep_image_submit('button_update.gif', IMAGE_UPDATE) . ' <a class="button" href="' . tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID')). '&sID=' . $oInfo->status_id) . '">' . IMAGE_CANCEL . '</a>');
- break;
+ $contents[] = array('class' => 'button_nav','text' => tep_image_submit('button_update.gif', IMAGE_UPDATE) . ' <a class="button" href="' . tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID')). '&sID=' . $oInfo->status_id) . '">' . IMAGE_CANCEL . '</a>');
+ break;
- case 'delete':
- $heading[] = array('text' => __('text info heading delete orders status') );
+ case 'delete':
+ $heading[] = array('text' => __('text info heading delete orders status') );
- $contents = array('form' => tep_draw_form('status', FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID')). '&sID=' . $oInfo->status_id . '&action=deleteconfirm'));
- $contents[] = array('text' => __('text info delete intro'));
- $contents[] = array('text' => '<strong>' . $oInfo->status_name . '</strong>');
- if (self::$remove_status) $contents[] = array('class' => 'button_nav','text' => tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a class="button" href="' . tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID')). '&sID=' . $oInfo->status_id) . '">' . IMAGE_CANCEL . '</a>');
- break;
- default:
- if (isset($oInfo) && is_object($oInfo)) {
- $heading[] = array('text' => $oInfo->status_name );
+ $contents = array('form' => tep_draw_form('status', FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID')). '&sID=' . $oInfo->status_id . '&action=deleteconfirm'));
+ $contents[] = array('text' => __('text info delete intro'));
+ $contents[] = array('text' => '<strong>' . $oInfo->status_name . '</strong>');
+ if (self::$remove_status) $contents[] = array('class' => 'button_nav','text' => tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a class="button" href="' . tep_href_link(FILENAME_CONFIGURATION, tep_get_all_get_params(array('action','sID')). '&sID=' . $oInfo->status_id) . '">' . IMAGE_CANCEL . '</a>');
+ break;
+ default:
+ if (isset($oInfo) && is_object($oInfo)) {
+ $heading[] = array('text' => $oInfo->status_name );
- $languages = tep_get_languages();
- for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
- $txt=(isset($oInfo->name[$languages[$i]['id']]) ?$oInfo->name[$languages[$i]['id']] : '');
- $contents[] = array('text' => tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . $txt );
- }
- }
- break;
+ $languages = tep_get_languages();
+ for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
+ $txt=(isset($oInfo->name[$languages[$i]['id']]) ?$oInfo->name[$languages[$i]['id']] : '');
+ $contents[] = array('text' => tep_image(DIR_WS_CATALOG_LANGUAGES . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], $languages[$i]['name']) . ' ' . $txt );
+ }
+ }
+ break;
}
if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {
- $box = new box;
- return $box->infoBox($heading, $contents);
+ $box = new box;
+ return $box->infoBox($heading, $contents);
}
}
Modified: trunk/catalog/admin/includes/modules/pages/products.php
===================================================================
--- trunk/catalog/admin/includes/modules/pages/products.php 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/admin/includes/modules/pages/products.php 2012-03-26 15:54:09 UTC (rev 4102)
@@ -501,7 +501,7 @@
$sWhere=str_replace(array('products_id'),array('p.products_id'), $sWhere);
}
- $products_query = "select distinct p.products_id, p.products_image, p.products_type as typeID , p.products_model,pd.products_name, p.products_quantity, p.products_price, p.products_status from " . TABLE_PRODUCTS . " p LEFT JOIN ".TABLE_STATUS." s on(p.products_type = s.status_id and s.status_type='products_virtual_types' and s.language_id='" . (int)$languages_id . "') , " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c LEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd ON (p2c.categories_id = cd.categories_id AND cd.language_id = '" . (int)$languages_id . "') ".$add_tbl." where p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id ".$cat." ".$avenir." ".$sta." ".$sWhere." order by ".((!empty($sOrder)) ? $sOrder : 'pd.products_name ASC');
+ $products_query = "select distinct p.products_id, p.products_image, p.products_type as typeID , p.products_model,pd.products_name, p.products_quantity, p.products_price, p.products_status from " . TABLE_PRODUCTS . " p LEFT JOIN ".TABLE_STATUS." s on(p.products_type = s.status_id and s.status_type='product' and s.language_id='" . (int)$languages_id . "') , " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c LEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " cd ON (p2c.categories_id = cd.categories_id AND cd.language_id = '" . (int)$languages_id . "') ".$add_tbl." where p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id ".$cat." ".$avenir." ".$sta." ".$sWhere." order by ".((!empty($sOrder)) ? $sOrder : 'pd.products_name ASC');
$query_numrows= tep_db_num_rows($DB->query($products_query));
@@ -557,7 +557,7 @@
/** methode specific module */
public static function NameVirtualID($id){
- foreach(tep_get_status_array('products_virtual_types') as $row)
+ foreach(tep_get_status_array('product') as $row)
if($id==$row['id']) return $row['text'];
}
Modified: trunk/catalog/common/classes/DataTypes.php
===================================================================
--- trunk/catalog/common/classes/DataTypes.php 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/common/classes/DataTypes.php 2012-03-26 15:54:09 UTC (rev 4102)
@@ -1,10 +1,10 @@
<?php if (!defined('HTTP_SERVER')) die('You can not access this file directly!');
/**
- @licence GPL 2005-2011 The osCSS developers - osCSS Open Source E-commerce
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
- @version 2.1.0
- @date 20/03/11, 17:29
+ @version 2.1.1
+ @date 26/03/2012, 17:29
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
Modified: trunk/catalog/includes/functions/initialize.php
===================================================================
--- trunk/catalog/includes/functions/initialize.php 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/includes/functions/initialize.php 2012-03-26 15:54:09 UTC (rev 4102)
@@ -52,15 +52,14 @@
ksort(self::$path );
foreach(self::$path as $level => $array)
foreach($array as $path)
- if (file_exists(sprintf($path,$strClassName )) ){
- return(sprintf($path,$strClassName ));
- }
+ if (file_exists(sprintf($path,$strClassName )) )
+ return(sprintf($path,$strClassName ));
return false;
}
/**
- @brief add path for autoload function
+ @brief add path for loop in autoload function
@param $string string for sprintf
@param $level niveau de priorite
*/
@@ -70,6 +69,8 @@
}
}
+
+
/**
@brief magic function php , load class
@param $strClassName string
@@ -127,8 +128,7 @@
}
/**
- \author oscim - OscssTeam
- \brief Test si une constante est défini , si celle-ci existe, renvoi sa valeur, sinon return (string)'false'
+ @brief Test si une constante est défini , si celle-ci existe, renvoi sa valeur, sinon return (string)'false'
*/
function tep_cst_define($text){
if(defined(strtoupper($text))) return constant(strtoupper($text));
Modified: trunk/catalog/install/includes/classes/core.php
===================================================================
--- trunk/catalog/install/includes/classes/core.php 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/install/includes/classes/core.php 2012-03-26 15:54:09 UTC (rev 4102)
@@ -19,7 +19,7 @@
function __construct(){
/**
- LAnguages
+ Languages
Reperoire portant le nom de cla clef dans /includes/language/
*/
$this->available_languages = array(
@@ -28,6 +28,20 @@
);
+
+// self::browse_rep()
+//
+// foreach(self::browse_rep('includes/content/') as $k=>$element){
+// // if(isset($this->order_etape[$element['name']]) ){
+// // if(isset($_GET['etape']) && $_GET['etape']>$k)$class = 'class="finished"';
+// // elseif(( isset($_GET['etape']) && $_GET['etape']==$k) || (!isset($_GET['etape']) && $k==1) )$class = 'class="selected"';
+// // else $class='';
+// //
+// // echo "<li $class>".core::l10n('etape '.$element['name']).'</li>'."\n";
+// // }
+// }
+// //
+
/**
Ordre des etape de l'install
Fichier present dans /includes/content/
@@ -60,10 +74,14 @@
'core.finition'=>7,
);
+
+
+
+
$i=0;
if (!function_exists('curl_init') && !(boolean)ini_get('allow_url_fopen')){
foreach($etape as $k=>$v)
- if($k!='core.update') $this->order_etape[$k]=$i++;
+ if($k!='core.update') $this->order_etape[$k]=$i++;
}
else
@@ -297,13 +315,13 @@
echo '<div id="stepList">'."\n".'<ol id="step">'."\n";
foreach(core::browse_rep('includes/content/',$this->order_etape ) as $k=>$element){
- if(isset($this->order_etape[$element['name']]) ){
- if(isset($_GET['etape']) && $_GET['etape']>$k)$class = 'class="finished"';
- elseif(( isset($_GET['etape']) && $_GET['etape']==$k) || (!isset($_GET['etape']) && $k==1) )$class = 'class="selected"';
- else $class='';
+ if(isset($this->order_etape[$element['name']]) ){
+ if(isset($_GET['etape']) && $_GET['etape']>$k)$class = 'class="finished"';
+ elseif(( isset($_GET['etape']) && $_GET['etape']==$k) || (!isset($_GET['etape']) && $k==1) )$class = 'class="selected"';
+ else $class='';
- echo "<li $class>".core::l10n('etape '.$element['name']).'</li>'."\n";
- }
+ echo "<li $class>".core::l10n('etape '.$element['name']).'</li>'."\n";
+ }
}
echo '</ol>'."\n".'</div>'."\n";
}
Modified: trunk/catalog/install/includes/content/core.base.php
===================================================================
--- trunk/catalog/install/includes/content/core.base.php 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/install/includes/content/core.base.php 2012-03-26 15:54:09 UTC (rev 4102)
@@ -6,14 +6,20 @@
@version 2.1.1
@date 01/01/2012, 18:17
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
- Ayatus <www http://www.ayatus.org>
+ Ayatus <www http://www.ayatus.org>
@encode UTF-8
*/
-class base extends core {
+class base
+ extends core {
+ function _construct(){
+ // sort in process
+ $this->sort = 1;
+ }
+
function definition(){
/** tableau des répertoires et fichiers contrôlés */
@@ -96,7 +102,7 @@
/** Contrôle écriture possible pour la suite */
while ($r=each($this->ctr)){
$type= (preg_match("#/$#i",$r['value'])) ?'rep' : 'file';
- if(!isset($_POST['WS_STORE_ADMIN']) && !empty($_POST['WS_STORE_ADMIN']))$r['value']=str_replace('admin', $_POST['WS_STORE_ADMIN'],$r['value']);
+ if(!isset($_POST['WS_STORE_ADMIN']) && !empty($_POST['WS_STORE_ADMIN']))$r['value']=str_replace('admin', $_POST['WS_STORE_ADMIN'],$r['value']);
if ($type=='file'){
if (file_exists($path.$r['value'])) {
@@ -112,7 +118,7 @@
}
}
}
- else {
+ else {
if(!empty($path))chdir($path);
if(!is_dir($r['value']) && !@mkdir($r['value'],0777)){
Modified: trunk/catalog/install/includes/content/core.configuration.php
===================================================================
--- trunk/catalog/install/includes/content/core.configuration.php 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/install/includes/content/core.configuration.php 2012-03-26 15:54:09 UTC (rev 4102)
@@ -54,6 +54,7 @@
*/
+error_reporting(E_ALL);
class configuration extends core {
@@ -74,6 +75,14 @@
*/
static protected $modele_path = 'includes/modele/';
+
+
+ function _construct(){
+ // sort in process
+ $this->sort = 1;
+ }
+
+
/**
@brief create all linnk and var for global configuration
*/
@@ -335,30 +344,32 @@
osc_db_select_db($this->db['DB_DATABASE']);
$configuration_query = osc_db_query("select * from ".TABLE_CONFIGURATION." where configuration_key in ('STORE_COUNTRY','STORE_OWNER','SHIPPING_ORIGIN_COUNTRY','SHIPPING_ORIGIN_ZIP','SMTP_MAIL_SERVER') order by sort_order");
- $list_edit=array();
- while ($configuration = tep_db_fetch_array($configuration_query)) {
- if (!empty($configuration['use_function'])) {
- $use_function = $configuration['use_function'];
- if (preg_match('/->/', $use_function)) {
- $class_method = explode('->', $use_function);
- if (!is_object(${$class_method[0]})) {
- include($this->fs_document_root.$this->ws_admin_rand.'/includes/classes/'. $class_method[0] . '.php');
- ${$class_method[0]} = new $class_method[0]();
- }
- $cfgValue = $this->tep_call_function($class_method[1], $configuration['configuration_value'], ${$class_method[0]});
- } else {
- $cfgValue = $this->tep_call_function($use_function, $configuration['configuration_value']);
- }
- } else {
- $cfgValue = $configuration['configuration_value'];
- }
- if ($configuration['set_function']) eval($s[]='$value_field = ' . $configuration['set_function'] . '"' . htmlspecialchars($configuration['configuration_value']) . '","'.$configuration['configuration_key'].'");');
- else $value_field = osc_draw_input_field('configuration['.$configuration['configuration_key'].']', '',$configuration['configuration_value']);
- $configuration['cfgValue']=$cfgValue;
- $configuration['value_field']=$value_field;
+ $list_edit=array();
+ while ($configuration = tep_db_fetch_array($configuration_query)) {
+ if (!empty($configuration['use_function'])) {
+ $use_function = $configuration['use_function'];
+ if (preg_match('/->/', $use_function)) {
+ $class_method = explode('->', $use_function);
+ if (!is_object(${$class_method[0]})) {
+ include($this->fs_document_root.$this->ws_admin_rand.'/includes/classes/'. $class_method[0] . '.php');
+ ${$class_method[0]} = new $class_method[0]();
+ }
+ $cfgValue = $this->tep_call_function($class_method[1], $configuration['configuration_value'], ${$class_method[0]});
+ } else {
+ $cfgValue = $this->tep_call_function($use_function, $configuration['configuration_value']);
+ }
+ } else {
+ $cfgValue = $configuration['configuration_value'];
+ }
- $list_edit[]=$configuration;
- }
+ if ($configuration['set_function']) eval($s[]='$value_field = ' . $configuration['set_function'] . '"' . htmlspecialchars($configuration['configuration_value']) . '","'.$configuration['configuration_key'].'");');
+ else $value_field = osc_draw_input_field('configuration['.$configuration['configuration_key'].']', '',$configuration['configuration_value']);
+ $configuration['cfgValue']=$cfgValue;
+ $configuration['value_field']=$value_field;
+
+ $list_edit[]=$configuration;
+ }
+
return $list_edit;
}
Modified: trunk/catalog/install/includes/content/core.modes.php
===================================================================
--- trunk/catalog/install/includes/content/core.modes.php 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/install/includes/content/core.modes.php 2012-03-26 15:54:09 UTC (rev 4102)
@@ -18,8 +18,11 @@
extends core {
+ function _construct(){
+ // sort in process
+ $this->sort = 1;
+ }
-
/**
Formulaire complet , prenant en compte les étapes et options
*/
Modified: trunk/catalog/install/includes/content/core.update.php
===================================================================
--- trunk/catalog/install/includes/content/core.update.php 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/install/includes/content/core.update.php 2012-03-26 15:54:09 UTC (rev 4102)
@@ -16,11 +16,28 @@
define('URL_OSCSS_GET_REV', 'http://oscss.svn.sourceforge.net/viewvc/oscss?view=revision');
define('PATH_SVN_BRANCHE', 'trunk/catalog/');
+
+/**
+ TODO Prendre en charge la gestion du mode d'install (Classique / VHOST )
+*/
define('FILEPATH_SVN_CORE', 'Documents/oscss.version.xml');
-class update extends core {
+class update
+ extends core {
+
+
+
+
+
+
+ function _construct(){
+ // sort in process
+ $this->sort = 1;
+ }
+
+
/**
*/
private function fetchRemote($src,&$dest,$step=0) {
@@ -133,8 +150,8 @@
$content = @curl_exec($ch);
@curl_close($ch);
if ($content !== false){
- preg_match("#.oscss..Revision.([0-9]*).*#i",strip_tags($content),$val );
- if(is_numeric($val[1])) return $val[1];
+ preg_match("#.oscss..Revision.([0-9]*).*#i",strip_tags($content),$val );
+ if(is_numeric($val[1])) return $val[1];
}
else return false;
}
@@ -166,20 +183,20 @@
if(isset($_POST['USE_SVN']) && $_POST['USE_SVN'] =='on') {
// recup version svn core
- $corre_rev=$this->get_info_core($this->fs_document_root.FILEPATH_SVN_CORE);
+ $core_rev=$this->get_info_core($this->fs_document_root.FILEPATH_SVN_CORE);
// version current svn
$c_v=$this->get_current_rev(URL_OSCSS_GET_REV);
$curent_rev=((isset($_POST['CURENT_REV']) && $c_v != $_POST['CURENT_REV'])? $_POST['CURENT_REV']: $c_v);
- if((int)$corre_rev>=(int)$curent_rev) {
- $this->PileMessage('succes', core::l10n("Aucune mise à jour effectuée. pas de version plus récente") );
- return;
+ if((int)$core_rev>=(int)$curent_rev) {
+ $this->PileMessage('succes', core::l10n("Aucune mise à jour effectuée. pas de version plus récente") );
+ return;
}
osc_set_time_limit(0);
- $file=$this->fs_document_root.'install/old'.$corre_rev.'new'.$curent_rev.'_patch.zip';
+ $file=$this->fs_document_root.'install/old'.$core_rev.'new'.$curent_rev.'_patch.zip';
$oscss_zip = @fopen($file,'wb');
// recup zip
- $tp=@file_get_contents(str_replace( array('SVN_REV_MAX', 'SVN_REV'), array($curent_rev, $corre_rev), URL_OSCSS_ORG_TRAC));
+ $tp=@file_get_contents(str_replace( array('SVN_REV_MAX', 'SVN_REV'), array($curent_rev, $core_rev), URL_OSCSS_ORG_TRAC));
fputs( $oscss_zip,$tp);
fclose($oscss_zip);
if ($file!=false) $this->PileMessage('succes', core::l10n("Le fichier à été enregistré") ) ;
@@ -228,13 +245,13 @@
// report branche dans le core
if(file_exists($this->fs_document_root.PATH_SVN_BRANCHE)){
- $this->recurse_copy($this->fs_document_root.PATH_SVN_BRANCHE,$this->fs_document_root);
- $this->recurse_delete($this->fs_document_root.'branches/');
+ $this->recurse_copy($this->fs_document_root.PATH_SVN_BRANCHE,$this->fs_document_root);
+ $this->recurse_delete($this->fs_document_root.'branches/');
}
// deplacement admin
if(file_exists($this->fs_document_root.'admin')){
- $this->recurse_copy($this->fs_document_root.'admin',$this->fs_document_root.$this->ws_admin_rand);
- if($this->ws_admin_rand !='admin')$this->recurse_delete($this->fs_document_root.'admin/');
+ $this->recurse_copy($this->fs_document_root.'admin',$this->fs_document_root.$this->ws_admin_rand);
+ if($this->ws_admin_rand !='admin')$this->recurse_delete($this->fs_document_root.'admin/');
}
}
}
@@ -242,8 +259,32 @@
/**
*/
function draw_form(){
+
+
$this->writeMessage();
- echo '<h2>'.core::l10n("Version svn(développement) de osCSS-2 " ).'</h2>'."\n";
+
+
+// echo '<h2>'.core::l10n("choix des fonctionalites a configurer" ).'</h2>'."\n";
+//
+// echo '<ul>'."\n".
+// '<li>'.'<h3>'.core::l10n("les produits" ).'</h3>'.
+// '<ul>'."\n".
+// '<li>'.''.'<label>'.core::l10n('produits basique - non manufacture').'</label>'."\n"
+// .osc_draw_checkbox_field('CONFIG_USE_PRD_TYPE_1')."\n"
+// .core::draw_help('CONFIG_USE_PRD_TYPE_1', core::l10n("produits non manufacture help" ) ).
+// '</li>'.
+// '<li>'.''.'<label>'.core::l10n('produits basique - non manufacture').'</label>'."\n"
+// .osc_draw_checkbox_field('CONFIG_USE_PRD_TYPE_1')."\n"
+// .core::draw_help('CONFIG_USE_PRD_TYPE_2', core::l10n("produits non manufacture help" ) ).
+// '</li>'.
+// '</ul>'."\n";
+//
+// echo '</ul>'."\n";
+//
+// echo '<br />'."\n";
+// echo '<br />'."\n";
+
+ echo '<h2>'.core::l10n("Version svn (développement) de osCSS-2" ).'</h2>'."\n";
echo '<p>'.core::l10n("Les version svn contienent les dernières correction et mise à jour. Les revisions sont calculé sur votre version, et, en dehors des beta, vous devriez utiliser cette option. L'ecart entre les versions signifie qu'aucun paquet n'as été proposé depuis, et donc souligne qu'il s'agit de revision et correction mineure " )."\n" .'</p><br/>'."\n";
echo '<p>'.core::l10n("Version svn actuelle: " )."\n"
.$this->get_info_core($this->fs_document_root.FILEPATH_SVN_CORE)."\n"
@@ -264,6 +305,9 @@
.'</p>'."\n";
}
+
+
+
echo $this->draw_button();
echo '</form>'."\n";
}
Modified: trunk/catalog/install/includes/sql/mysql/data/20_osc_status.sql
===================================================================
--- trunk/catalog/install/includes/sql/mysql/data/20_osc_status.sql 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/install/includes/sql/mysql/data/20_osc_status.sql 2012-03-26 15:54:09 UTC (rev 4102)
@@ -39,10 +39,10 @@
INSERT INTO osc_status (status_id, status_type, language_id, status_name, status_color) VALUES (4, 'refund_method', 1, 'OSC_REFUND_METHOD_GIFT_VOUCHERS','');
INSERT INTO osc_status (status_id, status_type, language_id, status_name, status_color) VALUES (5, 'refund_method', 1, 'OSC_REFUND_METHOD_CUSTOMERS_POINTS','');
-insert into osc_status (status_id, status_type, language_id, status_name, status_color) VALUES (1, 'products_virtual_types', 1, 'OSC_PRODUCTS_VIRTUAL_TYPES_PHYSICAL','');
-insert into osc_status (status_id, status_type, language_id, status_name, status_color) VALUES (2, 'products_virtual_types',1, 'OSC_PRODUCTS_VIRTUAL_TYPES_SUBSCRIPTION','');
-insert into osc_status (status_id, status_type, language_id, status_name, status_color) VALUES (3, 'products_virtual_types',1, 'OSC_PRODUCTS_VIRTUAL_TYPES_SERVICE','');
-insert into osc_status (status_id, status_type, language_id, status_name, status_color) VALUES (4, 'products_virtual_types',1, 'OSC_PRODUCTS_VIRTUAL_TYPES_SOFTWARE','');
+insert into osc_status (status_id, status_type, language_id, status_name, status_color) VALUES (1, 'product', 1, 'OSC_PRODUCTS_VIRTUAL_TYPES_PHYSICAL','');
+insert into osc_status (status_id, status_type, language_id, status_name, status_color) VALUES (2, 'product',1, 'OSC_PRODUCTS_VIRTUAL_TYPES_SUBSCRIPTION','');
+insert into osc_status (status_id, status_type, language_id, status_name, status_color) VALUES (3, 'product',1, 'OSC_PRODUCTS_VIRTUAL_TYPES_SERVICE','');
+insert into osc_status (status_id, status_type, language_id, status_name, status_color) VALUES (4, 'product',1, 'OSC_PRODUCTS_VIRTUAL_TYPES_SOFTWARE','');
INSERT INTO osc_status (status_id, status_type, language_id, status_name, status_color) VALUES (1, 'attribute_optiontype', 1, 'OSC_ATTRIBUTE_OPTIONTYPE_SELECT','');
INSERT INTO osc_status (status_id, status_type, language_id, status_name, status_color) VALUES (2, 'attribute_optiontype', 1, 'OSC_ATTRIBUTE_OPTIONTYPE_TEXT','');
Modified: trunk/catalog/login.php
===================================================================
--- trunk/catalog/login.php 2012-03-26 14:50:05 UTC (rev 4101)
+++ trunk/catalog/login.php 2012-03-26 15:54:09 UTC (rev 4102)
@@ -1,13 +1,13 @@
<?php
/**
- @ licence GPL *2005-2011 The osCSS developers - osCSS Open Source E-commerce
+ @licence GPL 2005-2012 The osCSS developers - osCSS Open Source E-commerce
@portion code Copyright (c) 2002 osCommerce
@package osCSS-2 <www http://www.oscss.org>
@version 2.1.1
- @date 18/12/11, 21:44
+ @date 23/03/2012, 21:44
@author oscim <mail aur...@os...> <www http://www.oscim.fr>
@encode UTF-8
- *\brief Page de login
+ @brief Page for login account member
*/
require('includes/application_top.php');
@@ -17,7 +17,7 @@
if (tep_session_is_registered('customer_id')) tep_redirect(tep_href_link(FILENAME_ACCOUNT, '', 'SSL'));
/**
- @brief if going by admin
+ @remarks if going by admin
*/
if (isset($_GET['osCAdminDirect']) && isset($_GET['id']) && ((string)$_GET['osCAdminDirect'] == md5($SecuKey.date('d')) )) {
$id = tep_db_prepare_input($_GET['id']);
@@ -30,7 +30,7 @@
tep_redirect(tep_href_link(FILENAME_ACCOUNT, '', 'SSL'));
}
/**
- @brief Normal process
+ @remarks Normal process
*/
elseif (isset($_GET['action']) && ($_GET['action'] == 'process')) {
@@ -45,7 +45,7 @@
$cust=customer::getInstance();
if (!$cust->userTestNotExist($email_address)) throw new Exception(TEXT_LOGIN_ERROR_USER_NOT_EXITS );
- $customers_id=$cust->CheckMailAndPass($password, $email_address);
+ $customers_id=$cust->CheckMailAndPass( $password, $email_address);
if( $customers_id ===false) throw new Exception(TEXT_LOGIN_ERROR );
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-26 14:50:14
|
Revision: 4101
http://oscss.svn.sourceforge.net/oscss/?rev=4101&view=rev
Author: oscim
Date: 2012-03-26 14:50:05 +0000 (Mon, 26 Mar 2012)
Log Message:
-----------
correction erreur de notice
Modified Paths:
--------------
trunk/catalog/common/classes/DataTypes.php
Modified: trunk/catalog/common/classes/DataTypes.php
===================================================================
--- trunk/catalog/common/classes/DataTypes.php 2012-03-26 14:35:47 UTC (rev 4100)
+++ trunk/catalog/common/classes/DataTypes.php 2012-03-26 14:50:05 UTC (rev 4101)
@@ -9,7 +9,7 @@
@encode UTF-8
*/
-error_reporting(E_ALL);
+
class DataTypes {
/**
@var repertoire des modules enfants
@@ -50,6 +50,7 @@
self::$env->path_childs = DIR_WS_COMMON_CLASSES . self::PATH ;
+ self::$env->modlist = array();
// $alltype = explode(',',PUBLIC_PAGE_TYPE);
$alltype = explode(',',DATATYPES);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-26 14:35:56
|
Revision: 4100
http://oscss.svn.sourceforge.net/oscss/?rev=4100&view=rev
Author: oscim
Date: 2012-03-26 14:35:47 +0000 (Mon, 26 Mar 2012)
Log Message:
-----------
Finition de l'intgeration du driver , mise a niveau du code et debugg
Modified Paths:
--------------
trunk/catalog/common/classes/sql_drivers/DB_Mysqli.php
Modified: trunk/catalog/common/classes/sql_drivers/DB_Mysqli.php
===================================================================
--- trunk/catalog/common/classes/sql_drivers/DB_Mysqli.php 2012-03-25 15:52:03 UTC (rev 4099)
+++ trunk/catalog/common/classes/sql_drivers/DB_Mysqli.php 2012-03-26 14:35:47 UTC (rev 4100)
@@ -66,8 +66,17 @@
*/
protected function connect($db=true)
{
- @$this->resConnection = new mysqli($GLOBALS['TL_CONFIG']['dbHost'], $GLOBALS['TL_CONFIG']['dbUser'], $GLOBALS['TL_CONFIG']['dbPass'], $GLOBALS['TL_CONFIG']['dbDatabase'], $GLOBALS['TL_CONFIG']['dbPort']);
- @$this->resConnection->set_charset($GLOBALS['TL_CONFIG']['dbCharset']);
+ $strHost = parent::HOST;
+
+/* if (parent::PCONNECT =='true')$this->resConnection = new mysqli($strHost, parent::USER, parent::PASS);
+ else*/ $this->resConnection = new mysqli($strHost, parent::USER, parent::PASS);
+
+ if (is_object($this->resConnection))
+ {
+ if($db)
+ $this->set_database(parent::DB);
+ }
+
}
@@ -171,7 +180,11 @@
*/
protected function set_database($strDatabase)
{
- @$this->resConnection = new mysqli($GLOBALS['TL_CONFIG']['dbHost'], $GLOBALS['TL_CONFIG']['dbUser'], $GLOBALS['TL_CONFIG']['dbPass'], $strDatabase, $GLOBALS['TL_CONFIG']['dbPort']);
+
+ @$this->resConnection->select_db($strDatabase);
+ @$this->resConnection->set_charset(parent::CHARSET);
+
+ return $this->resConnection;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <os...@us...> - 2012-03-25 08:45:37
|
Revision: 4098
http://oscss.svn.sourceforge.net/oscss/?rev=4098&view=rev
Author: oscim
Date: 2012-03-25 08:45:26 +0000 (Sun, 25 Mar 2012)
Log Message:
-----------
mise a niveau des doxyfile
Modified Paths:
--------------
trunk/doc/Backoffice/Doxyfile
trunk/doc/Frontoffice/Doxyfile
Modified: trunk/doc/Backoffice/Doxyfile
===================================================================
--- trunk/doc/Backoffice/Doxyfile 2012-03-24 18:18:48 UTC (rev 4097)
+++ trunk/doc/Backoffice/Doxyfile 2012-03-25 08:45:26 UTC (rev 4098)
@@ -1,246 +1,1737 @@
-# Doxyfile 1.5.6
+# Doxyfile 1.7.4
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
-DOXYFILE_ENCODING = UTF-8
-PROJECT_NAME = oscss Backoffice
-PROJECT_NUMBER = 2.1.0 RC
-OUTPUT_DIRECTORY = /var/www/workspace/oscss/doc/Backoffice/
-CREATE_SUBDIRS = NO
-OUTPUT_LANGUAGE = English
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ABBREVIATE_BRIEF = YES
-ALWAYS_DETAILED_SEC = YES
-INLINE_INHERITED_MEMB = NO
-FULL_PATH_NAMES = YES
-STRIP_FROM_PATH = /var/www/workspace/oscss/
-STRIP_FROM_INC_PATH =
-SHORT_NAMES = NO
-JAVADOC_AUTOBRIEF = YES
-QT_AUTOBRIEF = NO
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = "osCSSS Backoffice"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = 2.1.1
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer
+# a quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF =
+
+# With the PROJECT_LOGO tag one can specify an logo or icon that is
+# included in the documentation. The maximum height of the logo should not
+# exceed 55 pixels and the maximum width should not exceed 200 pixels.
+# Doxygen will copy the logo to the output directory.
+
+PROJECT_LOGO =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = ../../doc/Backoffice/
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF = YES
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH = ../../
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful if your file system
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = YES
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP = NO
-INHERIT_DOCS = YES
-SEPARATE_MEMBER_PAGES = NO
-TAB_SIZE = 8
-ALIASES =
-OPTIMIZE_OUTPUT_FOR_C = NO
-OPTIMIZE_OUTPUT_JAVA = NO
-OPTIMIZE_FOR_FORTRAN = NO
-OPTIMIZE_OUTPUT_VHDL = NO
-BUILTIN_STL_SUPPORT = NO
-CPP_CLI_SUPPORT = NO
-SIP_SUPPORT = NO
-IDL_PROPERTY_SUPPORT = YES
-DISTRIBUTE_GROUP_DOC = NO
-SUBGROUPING = YES
-TYPEDEF_HIDES_STRUCT = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = YES
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this
+# tag. The format is ext=language, where ext is a file extension, and language
+# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
+# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
+# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
+# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
+# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also makes the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
+# unions are shown inside the group in which they are included (e.g. using
+# @ingroup) instead of on a separate page (for HTML and Man pages) or
+# section (for LaTeX and RTF).
+
+INLINE_GROUPED_CLASSES = NO
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penalty.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will roughly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE = 0
+
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-EXTRACT_LOCAL_CLASSES = YES
-EXTRACT_LOCAL_METHODS = NO
-EXTRACT_ANON_NSPACES = NO
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-HIDE_FRIEND_COMPOUNDS = NO
-HIDE_IN_BODY_DOCS = NO
-INTERNAL_DOCS = YES
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-SHOW_INCLUDE_FILES = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-SORT_BRIEF_DOCS = NO
-SORT_GROUP_NAMES = YES
-SORT_BY_SCOPE_NAME = NO
-GENERATE_TODOLIST = YES
-GENERATE_TESTLIST = YES
-GENERATE_BUGLIST = YES
-GENERATE_DEPRECATEDLIST = YES
-ENABLED_SECTIONS =
-MAX_INITIALIZER_LINES = 30
-SHOW_USED_FILES = YES
-SHOW_DIRECTORIES = YES
-SHOW_FILES = YES
-SHOW_NAMESPACES = YES
-FILE_VERSION_FILTER =
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespaces are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
+# will sort the (brief and detailed) documentation of class members so that
+# constructors and destructors are listed first. If set to NO (the default)
+# the constructors will appear in the respective orders defined by
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = YES
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
+# do proper type resolution of all parameters of a function it will reject a
+# match between the prototype and the implementation of a member function even
+# if there is only one candidate or it is obvious which candidate to choose
+# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
+# will still accept a match between prototype and implementation in such cases.
+
+STRICT_PROTO_MATCHING = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or macro consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and macros in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page. This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. The create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option.
+# You can optionally specify a file name after the option, if omitted
+# DoxygenLayout.xml will be used as the name of the layout file.
+
+LAYOUT_FILE =
+
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
-QUIET = NO
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = YES
-WARN_IF_DOC_ERROR = YES
-WARN_NO_PARAMDOC = NO
-WARN_FORMAT = "$file:$line: $text"
-WARN_LOGFILE =
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# The WARN_NO_PARAMDOC option can be enabled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
-INPUT = /home/aurelien/workspace/oscss/catalog/admin/ /home/aurelien/workspace/oscss/catalog/admin/includes/ /home/aurelien/workspace/oscss/catalog/admin/includes/classes/ /var/www/workspace/oscss/catalog/common/ /var/www/workspace/oscss/catalog/common/functions/ /var/www/workspace/oscss/catalog/common/fonts/ /var/www/workspace/oscss/catalog/common/classes/ /var/www/workspace/oscss/catalog/common/drivers/ /home/aurelien/workspace/oscss/catalog/admin/includes/functions/ /home/aurelien/workspace/oscss/catalog/admin/includes/data/ /home/aurelien/workspace/oscss/catalog/admin/includes/exts/ /home/aurelien/workspace/oscss/catalog/admin/includes/gabarit/ /home/aurelien/workspace/oscss/catalog/admin/includes/javascript/ /home/aurelien/workspace/oscss/catalog/admin/includes/languages/ /home/aurelien/workspace/oscss/catalog/admin/includes/local/ /home/aurelien/workspace/oscss/catalog/admin/includes/modules/ /home/aurelien/workspace/oscss/catalog/admin/includes/boxes/ /home/aurelien/workspace/oscss/catalog/admin/includes/widget/ /home/aurelien/workspace/oscss/catalog/admin/includes/rss/
-INPUT_ENCODING = UTF-8
-FILE_PATTERNS = *.php *.css *.gab *.inc *.txt
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS =
-EXCLUDE_SYMBOLS =
-EXAMPLE_PATH = /var/www/workspace/oscss/doc/Backoffice/example/
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_PATTERNS =
-FILTER_SOURCE_FILES = NO
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = ../../catalog/admin/ \
+ ../../catalog/admin/includes/ \
+ ../../catalog/admin/includes/classes/ \
+ ../../catalog/common/ \
+ ../../catalog/common/functions/ \
+ ../../catalog/common/fonts/ \
+ ../../catalog/common/classes/ \
+ ../../catalog/common/drivers/ \
+ ../../catalog/admin/includes/functions/ \
+ ../../catalog/admin/includes/data/ \
+ ../../catalog/admin/includes/exts/ \
+ ../../catalog/admin/includes/gabarit/ \
+ ../../catalog/admin/includes/javascript/ \
+ ../../catalog/admin/includes/languages/ \
+ ../../catalog/admin/includes/local/ \
+ ../../catalog/admin/includes/modules/ \
+ ../../catalog/admin/includes/boxes/ \
+ ../../catalog/admin/includes/widget/ \
+ ../../catalog/admin/includes/rss/ \
+ ../../catalog/common/classes/datatype_drivers/ \
+ ../../catalog/common/classes/imgratio_drivers/ \
+ ../../catalog/common/classes/mailer_drivers/ \
+ ../../catalog/common/classes/sql_drivers/ \
+ ../../catalog/common/modules/core/password/ \
+ ../../catalog/admin/includes/classes/drivers/ \
+ ../../catalog/admin/includes/gabarit/*
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
+# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
+# *.f90 *.f *.for *.vhd *.vhdl
+
+FILE_PATTERNS = *.php \
+ *.css \
+ *.gab \
+ *.inc \
+ *.txt
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH = ../../doc/Backoffice/example/
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output. If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty or if
+# non of the patterns match the file name, INPUT_FILTER is applied.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
+# and it is also possible to disable source filtering for a specific pattern
+# using *.ext= (so without naming a filter). This option only has effect when
+# FILTER_SOURCE_FILES is enabled.
+
+FILTER_SOURCE_PATTERNS =
+
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
-SOURCE_BROWSER = YES
-INLINE_SOURCES = YES
-STRIP_CODE_COMMENTS = YES
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = YES
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
REFERENCED_BY_RELATION = NO
-REFERENCES_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code. Otherwise they will link to the documentation.
+
REFERENCES_LINK_SOURCE = NO
-USE_HTAGS = NO
-VERBATIM_HEADERS = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
-GENERATE_HTML = YES
-HTML_OUTPUT = html
-HTML_FILE_EXTENSION = .html
-HTML_HEADER = /home/aurelien/workspace/oscss/doc/header.html
-HTML_FOOTER = /home/aurelien/workspace/oscss/doc/footer.html
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = NO
-GENERATE_HTMLHELP = NO
-GENERATE_DOCSET = NO
-DOCSET_FEEDNAME = "Doxygen generated docs"
-DOCSET_BUNDLE_ID = org.doxygen.Project
-HTML_DYNAMIC_SECTIONS = YES
-CHM_FILE =
-HHC_LOCATION =
-GENERATE_CHI = NO
-CHM_INDEX_ENCODING =
-BINARY_TOC = NO
-TOC_EXPAND = NO
-DISABLE_INDEX = NO
-ENUM_VALUES_PER_LINE = 4
-GENERATE_TREEVIEW = HIERARCHIES
-TREEVIEW_WIDTH = 250
-FORMULA_FONTSIZE = 10
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header. Note that when using a custom header you are responsible
+# for the proper inclusion of any scripts and style sheets that doxygen
+# needs, which is dependent on the configuration options used.
+# It is adviced to generate a default header using "doxygen -w html
+# header.html footer.html stylesheet.css YourConfigFile" and then modify
+# that header. Note that the header is subject to change so you typically
+# have to redo this when upgrading to a newer version of doxygen or when
+# changing the value of configuration settings such as GENERATE_TREEVIEW!
+
+HTML_HEADER = ../../doc/header.html
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER = ../../doc/footer.html
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that
+# the files will be copied as-is; there are no commands or markers available.
+
+HTML_EXTRA_FILES =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
+# Doxygen will adjust the colors in the stylesheet and background images
+# according to this color. Hue is specified as an angle on a colorwheel,
+# see http://en.wikipedia.org/wiki/Hue for more information.
+# For instance the value 0 represents red, 60 is yellow, 120 is green,
+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
+# The allowed range is 0 to 359.
+
+HTML_COLORSTYLE_HUE = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
+# the colors in the HTML output. For a value of 0 the output will use
+# grayscales only. A value of 255 will produce the most vivid colors.
+
+HTML_COLORSTYLE_SAT = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
+# the luminance component of the colors in the HTML output. Values below
+# 100 gradually make the output lighter, whereas values above 100 make
+# the output darker. The value divided by 100 is the actual gamma applied,
+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
+# and 100 does not change the gamma.
+
+HTML_COLORSTYLE_GAMMA = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP = YES
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = NO
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = YES
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+
+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
+
+DOCSET_PUBLISHER_NAME = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
+# that can be used as input for Qt's qhelpgenerator to generate a
+# Qt Compressed Help (.qch) of the generated HTML documentation.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
+# add. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
+# Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
+# Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+# will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
+# the help appears.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
+# (range [0,1..20]) that doxygen will group on one line in the generated HTML
+# documentation. Note that a value of 0 will completely suppress the enum
+# values from appearing in the overview section.
+
+ENUM_VALUES_PER_LINE = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = NO
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
+# links to external symbols imported via tag files in a separate window.
+
+EXT_LINKS_IN_WINDOW = NO
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are
+# not supported properly for IE 6.0, but are supported on all modern browsers.
+# Note that when changing this option you need to delete any form_*.png files
+# in the HTML output before the changes have effect.
+
+FORMULA_TRANSPARENT = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
+# (see http://www.mathjax.org) which uses client side Javascript for the
+# rendering instead of using prerendered bitmaps. Use this if you do not
+# have LaTeX installed or if you want to formulas look prettier in the HTML
+# output. When enabled you also need to install MathJax separately and
+# configure the path to it using the MATHJAX_RELPATH option.
+
+USE_MATHJAX = NO
+
+# When MathJax is enabled you need to specify the location relative to the
+# HTML output directory using the MATHJAX_RELPATH option. The destination
+# directory should contain the MathJax.js script. For instance, if the mathjax
+# directory is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the
+# mathjax.org site, so you can quickly see the result without installing
+# MathJax, but it is strongly recommended to install a local copy of MathJax
+# before deployment.
+
+MATHJAX_RELPATH = http://www.mathjax.org/mathjax
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
+# for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using
+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
+# (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a PHP enabled web server instead of at the web client
+# using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server
+# based approach is that it scales better to large projects and allows
+# full text search. The disadvantages are that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH = NO
+
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-LATEX_CMD_NAME = latex
-MAKEINDEX_CMD_NAME = makeindex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-USE_PDFLATEX = NO
-LATEX_BATCHMODE = YES
-LATEX_HIDE_INDICES = NO
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
+# the generated latex document. The footer should contain everything after
+# the last chapter. If it is left blank doxygen will generate a
+# standard footer. Notice: only use this tag if you know what you are doing!
+
+LATEX_FOOTER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (ju...
[truncated message content] |
|
From: <ay...@us...> - 2012-03-24 18:18:59
|
Revision: 4097
http://oscss.svn.sourceforge.net/oscss/?rev=4097&view=rev
Author: ayatus
Date: 2012-03-24 18:18:48 +0000 (Sat, 24 Mar 2012)
Log Message:
-----------
Maj jQuery 1.7.2, FancyBox 1.3.4
Modified Paths:
--------------
trunk/catalog/admin/includes/javascript/jquery.fancybox/jquery.fancybox.css
trunk/catalog/admin/includes/javascript/jquery.fancybox.pack.js
trunk/catalog/admin/includes/javascript/jquery.min.js
trunk/catalog/admin/includes/modules/configuration/modtemplate.php
trunk/catalog/admin/includes/modules/pages/adminAccount.php
trunk/catalog/ext/jquery/jquery.min.js
Added Paths:
-----------
trunk/catalog/admin/includes/javascript/jquery.mousewheel.pack.js
Removed Paths:
-------------
trunk/catalog/admin/includes/javascript/jquery.mousewheel-3.0.2.pack.js
Modified: trunk/catalog/admin/includes/javascript/jquery.fancybox/jquery.fancybox.css
===================================================================
--- trunk/catalog/admin/includes/javascript/jquery.fancybox/jquery.fancybox.css 2012-03-24 16:20:18 UTC (rev 4096)
+++ trunk/catalog/admin/includes/javascript/jquery.fancybox/jquery.fancybox.css 2012-03-24 18:18:48 UTC (rev 4097)
@@ -5,8 +5,9 @@
* Examples and documentation at: http://fancybox.net
*
* Copyright (c) 2008 - 2010 Janis Skarnelis
- *
- * Version: 1.3.1 (05/03/2010)
+ * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
+ *
+ * Version: 1.3.4 (11/11/2010)
* Requires: jQuery v1.3+
*
* Dual licensed under the MIT and GPL licenses:
@@ -18,8 +19,8 @@
position: fixed;
top: 50%;
left: 50%;
- height: 40px;
width: 40px;
+ height: 40px;
margin-top: -20px;
margin-left: -20px;
cursor: pointer;
@@ -28,11 +29,6 @@
display: none;
}
-* html #fancybox-loading { /* IE6 */
- position: absolute;
- margin-top: 0;
-}
-
#fancybox-loading div {
position: absolute;
top: 0;
@@ -43,21 +39,14 @@
}
#fancybox-overlay {
- position: fixed;
+ position: absolute;
top: 0;
left: 0;
- bottom: 0;
- right: 0;
- background: #000;
+ width: 100%;
z-index: 1100;
display: none;
}
-* html #fancybox-overlay { /* IE6 */
- position: absolute;
- width: 100%;
-}
-
#fancybox-tmp {
padding: 0;
margin: 0;
@@ -70,9 +59,9 @@
position: absolute;
top: 0;
left: 0;
- margin: 0;
padding: 20px;
z-index: 1101;
+ outline: none;
display: none;
}
@@ -80,19 +69,18 @@
position: relative;
width: 100%;
height: 100%;
- background: #FFF;
+ background: #fff;
}
-#fancybox-inner {
- position: absolute;
- top: 0;
- left: 0;
- width: 1px;
- height: 1px;
+#fancybox-content {
+ width: 0;
+ height: 0;
padding: 0;
- margin: 0;
outline: none;
+ position: relative;
overflow: hidden;
+ z-index: 1102;
+ border: 0px solid #fff;
}
#fancybox-hide-sel-frame {
@@ -102,6 +90,7 @@
width: 100%;
height: 100%;
background: transparent;
+ z-index: 1101;
}
#fancybox-close {
@@ -110,27 +99,19 @@
right: -15px;
width: 30px;
height: 30px;
- background-image: url('fancybox.png');
- background-position: -40px 0px;
+ background: transparent url('fancybox.png') -40px 0px;
cursor: pointer;
z-index: 1103;
display: none;
}
-#fancybox_error {
+#fancybox-error {
color: #444;
font: normal 12px/20px Arial;
- padding: 7px;
+ padding: 14px;
margin: 0;
}
-#fancybox-content {
- height: auto;
- width: auto;
- padding: 0;
- margin: 0;
-}
-
#fancybox-img {
width: 100%;
height: 100%;
@@ -140,81 +121,15 @@
outline: none;
line-height: 0;
vertical-align: top;
- -ms-interpolation-mode: bicubic;
}
#fancybox-frame {
- position: relative;
width: 100%;
height: 100%;
border: none;
display: block;
}
-#fancybox-title {
- position: absolute;
- bottom: 0;
- left: 0;
- font-family: Arial;
- font-size: 12px;
- z-index: 1102;
-}
-
-.fancybox-title-inside {
- padding: 10px 0;
- text-align: center;
- color: #333;
-}
-
-.fancybox-title-outside {
- padding-top: 5px;
- color: #FFF;
- text-align: center;
- font-weight: bold;
-}
-
-.fancybox-title-over {
- color: #FFF;
- text-align: left;
-}
-
-#fancybox-title-over {
- padding: 10px;
- background-image: url('fancy_title_over.png');
- display: block;
-}
-
-#fancybox-title-wrap {
- display: inline-block;
-}
-
-#fancybox-title-wrap span {
- height: 32px;
- float: left;
-}
-
-#fancybox-title-left {
- padding-left: 15px;
- background-image: url('fancybox.png');
- background-position: -40px -90px;
- background-repeat: no-repeat;
-}
-
-#fancybox-title-main {
- font-weight: bold;
- line-height: 29px;
- background-image: url('fancybox-x.png');
- background-position: 0px -40px;
- color: #FFF;
-}
-
-#fancybox-title-right {
- padding-left: 15px;
- background-image: url('fancybox.png');
- background-position: -55px -90px;
- background-repeat: no-repeat;
-}
-
#fancybox-left, #fancybox-right {
position: absolute;
bottom: 0px;
@@ -222,7 +137,7 @@
width: 35%;
cursor: pointer;
outline: none;
- background-image: url('blank.gif');
+ background: transparent url('blank.gif');
z-index: 1102;
display: none;
}
@@ -258,7 +173,7 @@
}
#fancybox-left:hover, #fancybox-right:hover {
- visibility: visible; /* IE6 */
+ visibility: visible; /* IE6 */
}
#fancybox-left:hover span {
@@ -270,7 +185,7 @@
right: 20px;
}
-.fancy-bg {
+.fancybox-bg {
position: absolute;
padding: 0;
margin: 0;
@@ -280,21 +195,21 @@
z-index: 1001;
}
-#fancy-bg-n {
+#fancybox-bg-n {
top: -20px;
left: 0;
width: 100%;
background-image: url('fancybox-x.png');
}
-#fancy-bg-ne {
+#fancybox-bg-ne {
top: -20px;
right: -20px;
background-image: url('fancybox.png');
background-position: -40px -162px;
}
-#fancy-bg-e {
+#fancybox-bg-e {
top: 0;
right: -20px;
height: 100%;
@@ -302,14 +217,14 @@
background-position: -20px 0px;
}
-#fancy-bg-se {
+#fancybox-bg-se {
bottom: -20px;
right: -20px;
background-image: url('fancybox.png');
background-position: -40px -182px;
}
-#fancy-bg-s {
+#fancybox-bg-s {
bottom: -20px;
left: 0;
width: 100%;
@@ -317,47 +232,128 @@
background-position: 0px -20px;
}
-#fancy-bg-sw {
+#fancybox-bg-sw {
bottom: -20px;
left: -20px;
background-image: url('fancybox.png');
background-position: -40px -142px;
}
-#fancy-bg-w {
+#fancybox-bg-w {
top: 0;
left: -20px;
height: 100%;
background-image: url('fancybox-y.png');
}
-#fancy-bg-nw {
+#fancybox-bg-nw {
top: -20px;
left: -20px;
background-image: url('fancybox.png');
background-position: -40px -122px;
}
-/* IE */
+#fancybox-title {
+ font-family: Helvetica;
+ font-size: 12px;
+ z-index: 1102;
+}
-#fancybox-loading.fancybox-ie div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); }
+.fancybox-title-inside {
+ padding-bottom: 10px;
+ text-align: center;
+ color: #333;
+ background: #fff;
+ position: relative;
+}
-.fancybox-ie #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; }
-.fancybox-ie #fancybox-title-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-title-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-title-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); }
+.fancybox-title-outside {
+ padding-top: 10px;
+ color: #fff;
+}
-.fancybox-ie #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); }
+.fancybox-title-over {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ color: #FFF;
+ text-align: left;
+}
-.fancybox-ie .fancy-bg { background: transparent !important; }
+#fancybox-title-over {
+ padding: 10px;
+ background-image: url('fancy_title_over.png');
+ display: block;
+}
-.fancybox-ie #fancy-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); }
-.fancybox-ie #fancy-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png', sizingMethod='scale'); }
+.fancybox-title-float {
+ position: absolute;
+ left: 0;
+ bottom: -20px;
+ height: 32px;
+}
+
+#fancybox-title-float-wrap {
+ border: none;
+ border-collapse: collapse;
+ width: auto;
+}
+
+#fancybox-title-float-wrap td {
+ border: none;
+ white-space: nowrap;
+}
+
+#fancybox-title-float-left {
+ padding: 0 0 0 15px;
+ background: url('fancybox.png') -40px -90px no-repeat;
+}
+
+#fancybox-title-float-main {
+ color: #FFF;
+ line-height: 29px;
+ font-weight: bold;
+ padding: 0 0 3px 0;
+ background: url('fancybox-x.png') 0px -40px;
+}
+
+#fancybox-title-float-right {
+ padding: 0 0 0 15px;
+ background: url('fancybox.png') -55px -90px no-repeat;
+}
+
+/* IE6 */
+
+.fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); }
+
+.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); }
+.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); }
+
+.fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; }
+.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); }
+.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); }
+.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); }
+
+.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame {
+ height: expression(this.parentNode.clientHeight + "px");
+}
+
+#fancybox-loading.fancybox-ie6 {
+ position: absolute; margin-top: 0;
+ top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px');
+}
+
+#fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); }
+
+/* IE6, IE7, IE8 */
+
+.fancybox-ie .fancybox-bg { background: transparent !important; }
+
+.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png', sizingMethod='scale'); }
\ No newline at end of file
Modified: trunk/catalog/admin/includes/javascript/jquery.fancybox.pack.js
===================================================================
--- trunk/catalog/admin/includes/javascript/jquery.fancybox.pack.js 2012-03-24 16:20:18 UTC (rev 4096)
+++ trunk/catalog/admin/includes/javascript/jquery.fancybox.pack.js 2012-03-24 18:18:48 UTC (rev 4097)
@@ -5,8 +5,9 @@
* Examples and documentation at: http://fancybox.net
*
* Copyright (c) 2008 - 2010 Janis Skarnelis
- *
- * Version: 1.3.1 (05/03/2010)
+ * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
+ *
+ * Version: 1.3.4 (11/11/2010)
* Requires: jQuery v1.3+
*
* Dual licensed under the MIT and GPL licenses:
@@ -14,31 +15,32 @@
* http://www.gnu.org/licenses/gpl.html
*/
-(function(b){var m,u,x,g,D,i,z,A,B,p=0,e={},q=[],n=0,c={},j=[],E=null,s=new Image,G=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,S=/[^\.]\.(swf)\s*$/i,H,I=1,k,l,h=false,y=b.extend(b("<div/>")[0],{prop:0}),v=0,O=!b.support.opacity&&!window.XMLHttpRequest,J=function(){u.hide();s.onerror=s.onload=null;E&&E.abort();m.empty()},P=function(){b.fancybox('<p id="fancybox_error">The requested content cannot be loaded.<br />Please try again later.</p>',{scrolling:"no",padding:20,transitionIn:"none",transitionOut:"none"})},
-K=function(){return[b(window).width(),b(window).height(),b(document).scrollLeft(),b(document).scrollTop()]},T=function(){var a=K(),d={},f=c.margin,o=c.autoScale,t=(20+f)*2,w=(20+f)*2,r=c.padding*2;if(c.width.toString().indexOf("%")>-1){d.width=a[0]*parseFloat(c.width)/100-40;o=false}else d.width=c.width+r;if(c.height.toString().indexOf("%")>-1){d.height=a[1]*parseFloat(c.height)/100-40;o=false}else d.height=c.height+r;if(o&&(d.width>a[0]-t||d.height>a[1]-w))if(e.type=="image"||e.type=="swf"){t+=r;
-w+=r;o=Math.min(Math.min(a[0]-t,c.width)/c.width,Math.min(a[1]-w,c.height)/c.height);d.width=Math.round(o*(d.width-r))+r;d.height=Math.round(o*(d.height-r))+r}else{d.width=Math.min(d.width,a[0]-t);d.height=Math.min(d.height,a[1]-w)}d.top=a[3]+(a[1]-(d.height+40))*0.5;d.left=a[2]+(a[0]-(d.width+40))*0.5;if(c.autoScale===false){d.top=Math.max(a[3]+f,d.top);d.left=Math.max(a[2]+f,d.left)}return d},U=function(a){if(a&&a.length)switch(c.titlePosition){case "inside":return a;case "over":return'<span id="fancybox-title-over">'+
-a+"</span>";default:return'<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">'+a+'</span><span id="fancybox-title-right"></span></span>'}return false},V=function(){var a=c.title,d=l.width-c.padding*2,f="fancybox-title-"+c.titlePosition;b("#fancybox-title").remove();v=0;if(c.titleShow!==false){a=b.isFunction(c.titleFormat)?c.titleFormat(a,j,n,c):U(a);if(!(!a||a==="")){b('<div id="fancybox-title" class="'+f+'" />').css({width:d,paddingLeft:c.padding,
-paddingRight:c.padding}).html(a).appendTo("body");switch(c.titlePosition){case "inside":v=b("#fancybox-title").outerHeight(true)-c.padding;l.height+=v;break;case "over":b("#fancybox-title").css("bottom",c.padding);break;default:b("#fancybox-title").css("bottom",b("#fancybox-title").outerHeight(true)*-1);break}b("#fancybox-title").appendTo(D).hide()}}},W=function(){b(document).unbind("keydown.fb").bind("keydown.fb",function(a){if(a.keyCode==27&&c.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if(a.keyCode==
-37){a.preventDefault();b.fancybox.prev()}else if(a.keyCode==39){a.preventDefault();b.fancybox.next()}});if(b.fn.mousewheel){g.unbind("mousewheel.fb");j.length>1&&g.bind("mousewheel.fb",function(a,d){a.preventDefault();h||d===0||(d>0?b.fancybox.prev():b.fancybox.next())})}if(c.showNavArrows){if(c.cyclic&&j.length>1||n!==0)A.show();if(c.cyclic&&j.length>1||n!=j.length-1)B.show()}},X=function(){var a,d;if(j.length-1>n){a=j[n+1].href;if(typeof a!=="undefined"&&a.match(G)){d=new Image;d.src=a}}if(n>0){a=
-j[n-1].href;if(typeof a!=="undefined"&&a.match(G)){d=new Image;d.src=a}}},L=function(){i.css("overflow",c.scrolling=="auto"?c.type=="image"||c.type=="iframe"||c.type=="swf"?"hidden":"auto":c.scrolling=="yes"?"auto":"visible");if(!b.support.opacity){i.get(0).style.removeAttribute("filter");g.get(0).style.removeAttribute("filter")}b("#fancybox-title").show();c.hideOnContentClick&&i.one("click",b.fancybox.close);c.hideOnOverlayClick&&x.one("click",b.fancybox.close);c.showCloseButton&&z.show();W();b(window).bind("resize.fb",
-b.fancybox.center);c.centerOnScroll?b(window).bind("scroll.fb",b.fancybox.center):b(window).unbind("scroll.fb");b.isFunction(c.onComplete)&&c.onComplete(j,n,c);h=false;X()},M=function(a){var d=Math.round(k.width+(l.width-k.width)*a),f=Math.round(k.height+(l.height-k.height)*a),o=Math.round(k.top+(l.top-k.top)*a),t=Math.round(k.left+(l.left-k.left)*a);g.css({width:d+"px",height:f+"px",top:o+"px",left:t+"px"});d=Math.max(d-c.padding*2,0);f=Math.max(f-(c.padding*2+v*a),0);i.css({width:d+"px",height:f+
-"px"});if(typeof l.opacity!=="undefined")g.css("opacity",a<0.5?0.5:a)},Y=function(a){var d=a.offset();d.top+=parseFloat(a.css("paddingTop"))||0;d.left+=parseFloat(a.css("paddingLeft"))||0;d.top+=parseFloat(a.css("border-top-width"))||0;d.left+=parseFloat(a.css("border-left-width"))||0;d.width=a.width();d.height=a.height();return d},Q=function(){var a=e.orig?b(e.orig):false,d={};if(a&&a.length){a=Y(a);d={width:a.width+c.padding*2,height:a.height+c.padding*2,top:a.top-c.padding-20,left:a.left-c.padding-
-20}}else{a=K();d={width:1,height:1,top:a[3]+a[1]*0.5,left:a[2]+a[0]*0.5}}return d},N=function(){u.hide();if(g.is(":visible")&&b.isFunction(c.onCleanup))if(c.onCleanup(j,n,c)===false){b.event.trigger("fancybox-cancel");h=false;return}j=q;n=p;c=e;i.get(0).scrollTop=0;i.get(0).scrollLeft=0;if(c.overlayShow){O&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});
-x.css({"background-color":c.overlayColor,opacity:c.overlayOpacity}).unbind().show()}l=T();V();if(g.is(":visible")){b(z.add(A).add(B)).hide();var a=g.position(),d;k={top:a.top,left:a.left,width:g.width(),height:g.height()};d=k.width==l.width&&k.height==l.height;i.fadeOut(c.changeFade,function(){var f=function(){i.html(m.contents()).fadeIn(c.changeFade,L)};b.event.trigger("fancybox-change");i.empty().css("overflow","hidden");if(d){i.css({top:c.padding,left:c.padding,width:Math.max(l.width-c.padding*
-2,1),height:Math.max(l.height-c.padding*2-v,1)});f()}else{i.css({top:c.padding,left:c.padding,width:Math.max(k.width-c.padding*2,1),height:Math.max(k.height-c.padding*2,1)});y.prop=0;b(y).animate({prop:1},{duration:c.changeSpeed,easing:c.easingChange,step:M,complete:f})}})}else{g.css("opacity",1);if(c.transitionIn=="elastic"){k=Q();i.css({top:c.padding,left:c.padding,width:Math.max(k.width-c.padding*2,1),height:Math.max(k.height-c.padding*2,1)}).html(m.contents());g.css(k).show();if(c.opacity)l.opacity=
-0;y.prop=0;b(y).animate({prop:1},{duration:c.speedIn,easing:c.easingIn,step:M,complete:L})}else{i.css({top:c.padding,left:c.padding,width:Math.max(l.width-c.padding*2,1),height:Math.max(l.height-c.padding*2-v,1)}).html(m.contents());g.css(l).fadeIn(c.transitionIn=="none"?0:c.speedIn,L)}}},F=function(){m.width(e.width);m.height(e.height);if(e.width=="auto")e.width=m.width();if(e.height=="auto")e.height=m.height();N()},Z=function(){h=true;e.width=s.width;e.height=s.height;b("<img />").attr({id:"fancybox-img",
-src:s.src,alt:e.title}).appendTo(m);N()},C=function(){J();var a=q[p],d,f,o,t,w;e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));o=a.title||b(a).title||e.title||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(o===""&&e.orig)o=e.orig.attr("alt");d=a.nodeName&&/^(?:javascript|#)/i.test(a.href)?e.href||null:e.href||a.href||null;if(e.type){f=e.type;if(!d)d=e.content}else if(e.content)f="html";else if(d)if(d.match(G))f=
-"image";else if(d.match(S))f="swf";else if(b(a).hasClass("iframe"))f="iframe";else if(d.match(/#/)){a=d.substr(d.indexOf("#"));f=b(a).length>0?"inline":"ajax"}else f="ajax";else f="inline";e.type=f;e.href=d;e.title=o;if(e.autoDimensions&&e.type!=="iframe"&&e.type!=="swf"){e.width="auto";e.height="auto"}if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick=false;e.enableEscapeButton=false;e.showCloseButton=false}if(b.isFunction(e.onStart))if(e.onStart(q,p,e)===false){h=false;
-return}m.css("padding",20+e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(i.children())});switch(f){case "html":m.html(e.content);F();break;case "inline":b('<div class="fancybox-inline-tmp" />').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(i.children())}).bind("fancybox-cancel",function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();
-s=new Image;s.onerror=function(){P()};s.onload=function(){s.onerror=null;s.onload=null;Z()};s.src=d;break;case "swf":t='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+e.width+'" height="'+e.height+'"><param name="movie" value="'+d+'"></param>';w="";b.each(e.swf,function(r,R){t+='<param name="'+r+'" value="'+R+'"></param>';w+=" "+r+'="'+R+'"'});t+='<embed src="'+d+'" type="application/x-shockwave-flash" width="'+e.width+'" height="'+e.height+'"'+w+"></embed></object>";m.html(t);
-F();break;case "ajax":a=d.split("#",2);f=e.ajax.data||{};if(a.length>1){d=a[0];if(typeof f=="string")f+="&selector="+a[1];else f.selector=a[1]}h=false;b.fancybox.showActivity();E=b.ajax(b.extend(e.ajax,{url:d,data:f,error:P,success:function(r){if(E.status==200){m.html(r);F()}}}));break;case "iframe":b('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" scrolling="'+e.scrolling+'" src="'+e.href+'"></iframe>').appendTo(m);N();break}},$=function(){if(u.is(":visible")){b("div",
-u).css("top",I*-40+"px");I=(I+1)%12}else clearInterval(H)},aa=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('<div id="fancybox-tmp"></div>'),u=b('<div id="fancybox-loading"><div></div></div>'),x=b('<div id="fancybox-overlay"></div>'),g=b('<div id="fancybox-wrap"></div>'));if(!b.support.opacity){g.addClass("fancybox-ie");u.addClass("fancybox-ie")}D=b('<div id="fancybox-outer"></div>').append('<div class="fancy-bg" id="fancy-bg-n"></div><div class="fancy-bg" id="fancy-bg-ne"></div><div class="fancy-bg" id="fancy-bg-e"></div><div class="fancy-bg" id="fancy-bg-se"></div><div class="fancy-bg" id="fancy-bg-s"></div><div class="fancy-bg" id="fancy-bg-sw"></div><div class="fancy-bg" id="fancy-bg-w"></div><div class="fancy-bg" id="fancy-bg-nw"></div>').appendTo(g);
-D.append(i=b('<div id="fancybox-inner"></div>'),z=b('<a id="fancybox-close"></a>'),A=b('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),B=b('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>'));z.click(b.fancybox.close);u.click(b.fancybox.cancel);A.click(function(a){a.preventDefault();b.fancybox.prev()});B.click(function(a){a.preventDefault();b.fancybox.next()});if(O){x.get(0).style.setExpression("height",
-"document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'");u.get(0).style.setExpression("top","(-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'");D.prepend('<iframe id="fancybox-hide-sel-frame" src="javascript:\'\';" scrolling="no" frameborder="0" ></iframe>')}}};
-b.fn.fancybox=function(a){b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(d){d.preventDefault();if(!h){h=true;b(this).blur();q=[];p=0;d=b(this).attr("rel")||"";if(!d||d==""||d==="nofollow")q.push(this);else{q=b("a[rel="+d+"], area[rel="+d+"]");p=q.index(this)}C();return false}});return this};b.fancybox=function(a,d){if(!h){h=true;d=typeof d!=="undefined"?d:{};q=[];p=d.index||0;if(b.isArray(a)){for(var f=0,o=a.length;f<o;f++)if(typeof a[f]==
-"object")b(a[f]).data("fancybox",b.extend({},d,a[f]));else a[f]=b({}).data("fancybox",b.extend({content:a[f]},d));q=jQuery.merge(q,a)}else{if(typeof a=="object")b(a).data("fancybox",b.extend({},d,a));else a=b({}).data("fancybox",b.extend({content:a},d));q.push(a)}if(p>q.length||p<0)p=0;C()}};b.fancybox.showActivity=function(){clearInterval(H);u.show();H=setInterval($,66)};b.fancybox.hideActivity=function(){u.hide()};b.fancybox.next=function(){return b.fancybox.pos(n+1)};b.fancybox.prev=function(){return b.fancybox.pos(n-
-1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a,10);if(a>-1&&j.length>a){p=a;C()}if(c.cyclic&&j.length>1&&a<0){p=j.length-1;C()}if(c.cyclic&&j.length>1&&a>=j.length){p=0;C()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");J();e&&b.isFunction(e.onCancel)&&e.onCancel(q,p,e);h=false}};b.fancybox.close=function(){function a(){x.fadeOut("fast");g.hide();b.event.trigger("fancybox-cleanup");i.empty();b.isFunction(c.onClosed)&&c.onClosed(j,n,c);j=e=[];n=p=0;c=e={};h=false}
-if(!(h||g.is(":hidden"))){h=true;if(c&&b.isFunction(c.onCleanup))if(c.onCleanup(j,n,c)===false){h=false;return}J();b(z.add(A).add(B)).hide();b("#fancybox-title").remove();g.add(i).add(x).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");i.css("overflow","hidden");if(c.transitionOut=="elastic"){k=Q();var d=g.position();l={top:d.top,left:d.left,width:g.width(),height:g.height()};if(c.opacity)l.opacity=1;y.prop=1;b(y).animate({prop:0},{duration:c.speedOut,easing:c.easingOut,
-step:M,complete:a})}else g.fadeOut(c.transitionOut=="none"?0:c.speedOut,a)}};b.fancybox.resize=function(){var a,d;if(!(h||g.is(":hidden"))){h=true;a=i.wrapInner("<div style='overflow:auto'></div>").children();d=a.height();g.css({height:d+c.padding*2+v});i.css({height:d});a.replaceWith(a.children());b.fancybox.center()}};b.fancybox.center=function(){h=true;var a=K(),d=c.margin,f={};f.top=a[3]+(a[1]-(g.height()-v+40))*0.5;f.left=a[2]+(a[0]-(g.width()+40))*0.5;f.top=Math.max(a[3]+d,f.top);f.left=Math.max(a[2]+
-d,f.left);g.css(f);h=false};b.fn.fancybox.defaults={padding:10,margin:20,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.3,overlayColor:"#666",titleShow:true,titlePosition:"outside",titleFormat:null,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",
-easingIn:"swing",easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,onStart:null,onCancel:null,onComplete:null,onCleanup:null,onClosed:null};b(document).ready(function(){aa()})})(jQuery);
\ No newline at end of file
+;(function(b){var m,t,u,f,D,j,E,n,z,A,q=0,e={},o=[],p=0,d={},l=[],G=null,v=new Image,J=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,W=/[^\.]\.(swf)\s*$/i,K,L=1,y=0,s="",r,i,h=false,B=b.extend(b("<div/>")[0],{prop:0}),M=b.browser.msie&&b.browser.version<7&&!window.XMLHttpRequest,N=function(){t.hide();v.onerror=v.onload=null;G&&G.abort();m.empty()},O=function(){if(false===e.onError(o,q,e)){t.hide();h=false}else{e.titleShow=false;e.width="auto";e.height="auto";m.html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>');
+F()}},I=function(){var a=o[q],c,g,k,C,P,w;N();e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));w=e.onStart(o,q,e);if(w===false)h=false;else{if(typeof w=="object")e=b.extend(e,w);k=e.title||(a.nodeName?b(a).attr("title"):a.title)||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(k===""&&e.orig&&e.titleFromAlt)k=e.orig.attr("alt");c=e.href||(a.nodeName?b(a).attr("href"):a.href)||null;if(/^(?:javascript)/i.test(c)||
+c=="#")c=null;if(e.type){g=e.type;if(!c)c=e.content}else if(e.content)g="html";else if(c)g=c.match(J)?"image":c.match(W)?"swf":b(a).hasClass("iframe")?"iframe":c.indexOf("#")===0?"inline":"ajax";if(g){if(g=="inline"){a=c.substr(c.indexOf("#"));g=b(a).length>0?"inline":"ajax"}e.type=g;e.href=c;e.title=k;if(e.autoDimensions)if(e.type=="html"||e.type=="inline"||e.type=="ajax"){e.width="auto";e.height="auto"}else e.autoDimensions=false;if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick=
+false;e.enableEscapeButton=false;e.showCloseButton=false}e.padding=parseInt(e.padding,10);e.margin=parseInt(e.margin,10);m.css("padding",e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(j.children())});switch(g){case "html":m.html(e.content);F();break;case "inline":if(b(a).parent().is("#fancybox-content")===true){h=false;break}b('<div class="fancybox-inline-tmp" />').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(j.children())}).bind("fancybox-cancel",
+function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();v=new Image;v.onerror=function(){O()};v.onload=function(){h=true;v.onerror=v.onload=null;e.width=v.width;e.height=v.height;b("<img />").attr({id:"fancybox-img",src:v.src,alt:e.title}).appendTo(m);Q()};v.src=c;break;case "swf":e.scrolling="no";C='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+e.width+'" height="'+e.height+'"><param name="movie" value="'+c+
+'"></param>';P="";b.each(e.swf,function(x,H){C+='<param name="'+x+'" value="'+H+'"></param>';P+=" "+x+'="'+H+'"'});C+='<embed src="'+c+'" type="application/x-shockwave-flash" width="'+e.width+'" height="'+e.height+'"'+P+"></embed></object>";m.html(C);F();break;case "ajax":h=false;b.fancybox.showActivity();e.ajax.win=e.ajax.success;G=b.ajax(b.extend({},e.ajax,{url:c,data:e.ajax.data||{},error:function(x){x.status>0&&O()},success:function(x,H,R){if((typeof R=="object"?R:G).status==200){if(typeof e.ajax.win==
+"function"){w=e.ajax.win(c,x,H,R);if(w===false){t.hide();return}else if(typeof w=="string"||typeof w=="object")x=w}m.html(x);F()}}}));break;case "iframe":Q()}}else O()}},F=function(){var a=e.width,c=e.height;a=a.toString().indexOf("%")>-1?parseInt((b(window).width()-e.margin*2)*parseFloat(a)/100,10)+"px":a=="auto"?"auto":a+"px";c=c.toString().indexOf("%")>-1?parseInt((b(window).height()-e.margin*2)*parseFloat(c)/100,10)+"px":c=="auto"?"auto":c+"px";m.wrapInner('<div style="width:'+a+";height:"+c+
+";overflow: "+(e.scrolling=="auto"?"auto":e.scrolling=="yes"?"scroll":"hidden")+';position:relative;"></div>');e.width=m.width();e.height=m.height();Q()},Q=function(){var a,c;t.hide();if(f.is(":visible")&&false===d.onCleanup(l,p,d)){b.event.trigger("fancybox-cancel");h=false}else{h=true;b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");f.is(":visible")&&d.titlePosition!=="outside"&&f.css("height",f.height());l=o;p=q;d=e;if(d.overlayShow){u.css({"background-color":d.overlayColor,
+opacity:d.overlayOpacity,cursor:d.hideOnOverlayClick?"pointer":"auto",height:b(document).height()});if(!u.is(":visible")){M&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});u.show()}}else u.hide();i=X();s=d.title||"";y=0;n.empty().removeAttr("style").removeClass();if(d.titleShow!==false){if(b.isFunction(d.titleFormat))a=d.titleFormat(s,l,p,d);else a=s&&s.length?
+d.titlePosition=="float"?'<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">'+s+'</td><td id="fancybox-title-float-right"></td></tr></table>':'<div id="fancybox-title-'+d.titlePosition+'">'+s+"</div>":false;s=a;if(!(!s||s==="")){n.addClass("fancybox-title-"+d.titlePosition).html(s).appendTo("body").show();switch(d.titlePosition){case "inside":n.css({width:i.width-d.padding*2,marginLeft:d.padding,marginRight:d.padding});
+y=n.outerHeight(true);n.appendTo(D);i.height+=y;break;case "over":n.css({marginLeft:d.padding,width:i.width-d.padding*2,bottom:d.padding}).appendTo(D);break;case "float":n.css("left",parseInt((n.width()-i.width-40)/2,10)*-1).appendTo(f);break;default:n.css({width:i.width-d.padding*2,paddingLeft:d.padding,paddingRight:d.padding}).appendTo(f)}}}n.hide();if(f.is(":visible")){b(E.add(z).add(A)).hide();a=f.position();r={top:a.top,left:a.left,width:f.width(),height:f.height()};c=r.width==i.width&&r.height==
+i.height;j.fadeTo(d.changeFade,0.3,function(){var g=function(){j.html(m.contents()).fadeTo(d.changeFade,1,S)};b.event.trigger("fancybox-change");j.empty().removeAttr("filter").css({"border-width":d.padding,width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2});if(c)g();else{B.prop=0;b(B).animate({prop:1},{duration:d.changeSpeed,easing:d.easingChange,step:T,complete:g})}})}else{f.removeAttr("style");j.css("border-width",d.padding);if(d.transitionIn=="elastic"){r=V();j.html(m.contents());
+f.show();if(d.opacity)i.opacity=0;B.prop=0;b(B).animate({prop:1},{duration:d.speedIn,easing:d.easingIn,step:T,complete:S})}else{d.titlePosition=="inside"&&y>0&&n.show();j.css({width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2}).html(m.contents());f.css(i).fadeIn(d.transitionIn=="none"?0:d.speedIn,S)}}}},Y=function(){if(d.enableEscapeButton||d.enableKeyboardNav)b(document).bind("keydown.fb",function(a){if(a.keyCode==27&&d.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if((a.keyCode==
+37||a.keyCode==39)&&d.enableKeyboardNav&&a.target.tagName!=="INPUT"&&a.target.tagName!=="TEXTAREA"&&a.target.tagName!=="SELECT"){a.preventDefault();b.fancybox[a.keyCode==37?"prev":"next"]()}});if(d.showNavArrows){if(d.cyclic&&l.length>1||p!==0)z.show();if(d.cyclic&&l.length>1||p!=l.length-1)A.show()}else{z.hide();A.hide()}},S=function(){if(!b.support.opacity){j.get(0).style.removeAttribute("filter");f.get(0).style.removeAttribute("filter")}e.autoDimensions&&j.css("height","auto");f.css("height","auto");
+s&&s.length&&n.show();d.showCloseButton&&E.show();Y();d.hideOnContentClick&&j.bind("click",b.fancybox.close);d.hideOnOverlayClick&&u.bind("click",b.fancybox.close);b(window).bind("resize.fb",b.fancybox.resize);d.centerOnScroll&&b(window).bind("scroll.fb",b.fancybox.center);if(d.type=="iframe")b('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" '+(b.browser.msie?'allowtransparency="true""':"")+' scrolling="'+e.scrolling+'" src="'+d.href+'"></iframe>').appendTo(j);
+f.show();h=false;b.fancybox.center();d.onComplete(l,p,d);var a,c;if(l.length-1>p){a=l[p+1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}if(p>0){a=l[p-1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}},T=function(a){var c={width:parseInt(r.width+(i.width-r.width)*a,10),height:parseInt(r.height+(i.height-r.height)*a,10),top:parseInt(r.top+(i.top-r.top)*a,10),left:parseInt(r.left+(i.left-r.left)*a,10)};if(typeof i.opacity!=="undefined")c.opacity=a<0.5?0.5:a;f.css(c);
+j.css({width:c.width-d.padding*2,height:c.height-y*a-d.padding*2})},U=function(){return[b(window).width()-d.margin*2,b(window).height()-d.margin*2,b(document).scrollLeft()+d.margin,b(document).scrollTop()+d.margin]},X=function(){var a=U(),c={},g=d.autoScale,k=d.padding*2;c.width=d.width.toString().indexOf("%")>-1?parseInt(a[0]*parseFloat(d.width)/100,10):d.width+k;c.height=d.height.toString().indexOf("%")>-1?parseInt(a[1]*parseFloat(d.height)/100,10):d.height+k;if(g&&(c.width>a[0]||c.height>a[1]))if(e.type==
+"image"||e.type=="swf"){g=d.width/d.height;if(c.width>a[0]){c.width=a[0];c.height=parseInt((c.width-k)/g+k,10)}if(c.height>a[1]){c.height=a[1];c.width=parseInt((c.height-k)*g+k,10)}}else{c.width=Math.min(c.width,a[0]);c.height=Math.min(c.height,a[1])}c.top=parseInt(Math.max(a[3]-20,a[3]+(a[1]-c.height-40)*0.5),10);c.left=parseInt(Math.max(a[2]-20,a[2]+(a[0]-c.width-40)*0.5),10);return c},V=function(){var a=e.orig?b(e.orig):false,c={};if(a&&a.length){c=a.offset();c.top+=parseInt(a.css("paddingTop"),
+10)||0;c.left+=parseInt(a.css("paddingLeft"),10)||0;c.top+=parseInt(a.css("border-top-width"),10)||0;c.left+=parseInt(a.css("border-left-width"),10)||0;c.width=a.width();c.height=a.height();c={width:c.width+d.padding*2,height:c.height+d.padding*2,top:c.top-d.padding-20,left:c.left-d.padding-20}}else{a=U();c={width:d.padding*2,height:d.padding*2,top:parseInt(a[3]+a[1]*0.5,10),left:parseInt(a[2]+a[0]*0.5,10)}}return c},Z=function(){if(t.is(":visible")){b("div",t).css("top",L*-40+"px");L=(L+1)%12}else clearInterval(K)};
+b.fn.fancybox=function(a){if(!b(this).length)return this;b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(c){c.preventDefault();if(!h){h=true;b(this).blur();o=[];q=0;c=b(this).attr("rel")||"";if(!c||c==""||c==="nofollow")o.push(this);else{o=b("a[rel="+c+"], area[rel="+c+"]");q=o.index(this)}I()}});return this};b.fancybox=function(a,c){var g;if(!h){h=true;g=typeof c!=="undefined"?c:{};o=[];q=parseInt(g.index,10)||0;if(b.isArray(a)){for(var k=
+0,C=a.length;k<C;k++)if(typeof a[k]=="object")b(a[k]).data("fancybox",b.extend({},g,a[k]));else a[k]=b({}).data("fancybox",b.extend({content:a[k]},g));o=jQuery.merge(o,a)}else{if(typeof a=="object")b(a).data("fancybox",b.extend({},g,a));else a=b({}).data("fancybox",b.extend({content:a},g));o.push(a)}if(q>o.length||q<0)q=0;I()}};b.fancybox.showActivity=function(){clearInterval(K);t.show();K=setInterval(Z,66)};b.fancybox.hideActivity=function(){t.hide()};b.fancybox.next=function(){return b.fancybox.pos(p+
+1)};b.fancybox.prev=function(){return b.fancybox.pos(p-1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a);o=l;if(a>-1&&a<l.length){q=a;I()}else if(d.cyclic&&l.length>1){q=a>=l.length?0:l.length-1;I()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");N();e.onCancel(o,q,e);h=false}};b.fancybox.close=function(){function a(){u.fadeOut("fast");n.empty().hide();f.hide();b.event.trigger("fancybox-cleanup");j.empty();d.onClosed(l,p,d);l=e=[];p=q=0;d=e={};h=false}if(!(h||f.is(":hidden"))){h=
+true;if(d&&false===d.onCleanup(l,p,d))h=false;else{N();b(E.add(z).add(A)).hide();b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");j.find("iframe").attr("src",M&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank");d.titlePosition!=="inside"&&n.empty();f.stop();if(d.transitionOut=="elastic"){r=V();var c=f.position();i={top:c.top,left:c.left,width:f.width(),height:f.height()};if(d.opacity)i.opacity=1;n.empty().hide();B.prop=1;
+b(B).animate({prop:0},{duration:d.speedOut,easing:d.easingOut,step:T,complete:a})}else f.fadeOut(d.transitionOut=="none"?0:d.speedOut,a)}}};b.fancybox.resize=function(){u.is(":visible")&&u.css("height",b(document).height());b.fancybox.center(true)};b.fancybox.center=function(a){var c,g;if(!h){g=a===true?1:0;c=U();!g&&(f.width()>c[0]||f.height()>c[1])||f.stop().animate({top:parseInt(Math.max(c[3]-20,c[3]+(c[1]-j.height()-40)*0.5-d.padding)),left:parseInt(Math.max(c[2]-20,c[2]+(c[0]-j.width()-40)*0.5-
+d.padding))},typeof a=="number"?a:200)}};b.fancybox.init=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('<div id="fancybox-tmp"></div>'),t=b('<div id="fancybox-loading"><div></div></div>'),u=b('<div id="fancybox-overlay"></div>'),f=b('<div id="fancybox-wrap"></div>'));D=b('<div id="fancybox-outer"></div>').append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>').appendTo(f);
+D.append(j=b('<div id="fancybox-content"></div>'),E=b('<a id="fancybox-close"></a>'),n=b('<div id="fancybox-title"></div>'),z=b('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),A=b('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>'));E.click(b.fancybox.close);t.click(b.fancybox.cancel);z.click(function(a){a.preventDefault();b.fancybox.prev()});A.click(function(a){a.preventDefault();b.fancybox.next()});
+b.fn.mousewheel&&f.bind("mousewheel.fb",function(a,c){if(h)a.preventDefault();else if(b(a.target).get(0).clientHeight==0||b(a.target).get(0).scrollHeight===b(a.target).get(0).clientHeight){a.preventDefault();b.fancybox[c>0?"prev":"next"]()}});b.support.opacity||f.addClass("fancybox-ie");if(M){t.addClass("fancybox-ie6");f.addClass("fancybox-ie6");b('<iframe id="fancybox-hide-sel-frame" src="'+(/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank")+'" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(D)}}};
+b.fn.fancybox.defaults={padding:10,margin:40,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.7,overlayColor:"#777",titleShow:true,titlePosition:"float",titleFormat:null,titleFromAlt:false,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing",
+easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,enableKeyboardNav:true,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}};b(document).ready(function(){b.fancybox.init()})})(jQuery);
\ No newline at end of file
Modified: trunk/catalog/admin/includes/javascript/jquery.min.js
===================================================================
--- trunk/catalog/admin/includes/javascript/jquery.min.js 2012-03-24 16:20:18 UTC (rev 4096)
+++ trunk/catalog/admin/includes/javascript/jquery.min.js 2012-03-24 18:18:48 UTC (rev 4097)
@@ -1,18 +1,4 @@
-/*!
- * jQuery JavaScript Library v1.6.2
- * http://jquery.com/
- *
- * Copyright 2011, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Jun 30 14:16:56 2011 -0400
- */
-(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bC.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bR,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bX(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bX(a,c,d,e,"*",g));return l}function bW(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bN),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bA(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bv:bw;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bg(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function W(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(R.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(x,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(H)return H.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{t...
[truncated message content] |
|
From: <ay...@us...> - 2012-03-24 16:20:28
|
Revision: 4096
http://oscss.svn.sourceforge.net/oscss/?rev=4096&view=rev
Author: ayatus
Date: 2012-03-24 16:20:18 +0000 (Sat, 24 Mar 2012)
Log Message:
-----------
[install] suppression doublon oscss_logo.png
Modified Paths:
--------------
trunk/catalog/install/includes/team_info/finition.inc
trunk/catalog/install/includes/team_info/template_sample.inc
Modified: trunk/catalog/install/includes/team_info/finition.inc
===================================================================
--- trunk/catalog/install/includes/team_info/finition.inc 2012-03-24 16:16:48 UTC (rev 4095)
+++ trunk/catalog/install/includes/team_info/finition.inc 2012-03-24 16:20:18 UTC (rev 4096)
@@ -1,6 +1,6 @@
<h2>Personnaliser votre installation, ajouter des étapes</h2>
<p>
-<a href="http://oscss.org"><img src="includes/team_info/img/oscss_logo.png" width="210" height="103" alt="logo osCSS"/></a>
+<a href="http://oscss.org"><img src="../install/images/oscss_logo.png" width="210" height="103" alt="logo osCSS"/></a>
Vous pouvez facilement personnaliser l'installateur, ajouter des étapes , proposer un template, affiner votre installateur.
</p>
<ul>
Modified: trunk/catalog/install/includes/team_info/template_sample.inc
===================================================================
--- trunk/catalog/install/includes/team_info/template_sample.inc 2012-03-24 16:16:48 UTC (rev 4095)
+++ trunk/catalog/install/includes/team_info/template_sample.inc 2012-03-24 16:20:18 UTC (rev 4096)
@@ -1,6 +1,6 @@
<h2>Personnaliser votre installation , ajouter des étapes </h2>
<p>
-<a href="http://oscss.org"><img src="includes/team_info/img/oscss_logo.png" width="210" height="103" alt="logo osCSS"/></a>
+<a href="http://oscss.org"><img src="../install/images/oscss_logo.png" width="210" height="103" alt="logo osCSS"/></a>
Vous pouvez facilement personnaliser l'installateur, ajouter des étapes, proposer un template, affiner votre installateur.
</p>
<p>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ay...@us...> - 2012-03-24 16:16:59
|
Revision: 4095
http://oscss.svn.sourceforge.net/oscss/?rev=4095&view=rev
Author: ayatus
Date: 2012-03-24 16:16:48 +0000 (Sat, 24 Mar 2012)
Log Message:
-----------
[install] ajustement js=>jQuery
Modified Paths:
--------------
trunk/catalog/install/includes/content/core.base.php
trunk/catalog/install/includes/team_info/base.inc
trunk/catalog/install/templates/header.php
Removed Paths:
-------------
trunk/catalog/install/includes/team_info/img/oscss_logo.png
trunk/catalog/install/templates/main_page/javascript.js
Modified: trunk/catalog/install/includes/content/core.base.php
===================================================================
--- trunk/catalog/install/includes/content/core.base.php 2012-03-23 14:40:10 UTC (rev 4094)
+++ trunk/catalog/install/includes/content/core.base.php 2012-03-24 16:16:48 UTC (rev 4095)
@@ -69,7 +69,7 @@
}
echo '</select>'."\n"
.'<input type="submit" id="langBt" class="submitBt" name="langBt" value="'.core::l10n('Valider').'" />'."\n"
- .'</p>'."\n".'</form>'."\n";
+ .'</p>'."\n".'</form>'."\n".'<script type="text/javascript">$(\'#langBt\').toggle();</script>'."\n";
}
Modified: trunk/catalog/install/includes/team_info/base.inc
===================================================================
--- trunk/catalog/install/includes/team_info/base.inc 2012-03-23 14:40:10 UTC (rev 4094)
+++ trunk/catalog/install/includes/team_info/base.inc 2012-03-24 16:16:48 UTC (rev 4095)
@@ -1,6 +1,6 @@
<h2><a href="http:://www.osCSS.org">osCSS</a> </h2>
<p>
-<a href="http:://www.osCSS.org"><img src="includes/team_info/img/oscss_logo.png" width="210" height="103" alt="logo osCSS"/></a>
+<a href="http:://www.osCSS.org"><img src="../install/images/oscss_logo.png" width="210" height="103" alt="logo osCSS"/></a>
<strong>osCSS, moteur de boutique en ligne</strong> est une solution 100% Open Source, dont le moteur (le core) appartient à la communauté qui en détient le choix d'orientation et d'évolution.
</p>
<p>Il est ainsi possible, pour toute personne désirant s'investir dans le développement, d'orienter les choix et évolutions de cette solution.
Deleted: trunk/catalog/install/includes/team_info/img/oscss_logo.png
===================================================================
(Binary files differ)
Modified: trunk/catalog/install/templates/header.php
===================================================================
--- trunk/catalog/install/templates/header.php 2012-03-23 14:40:10 UTC (rev 4094)
+++ trunk/catalog/install/templates/header.php 2012-03-24 16:16:48 UTC (rev 4095)
@@ -17,10 +17,9 @@
<link rel="shortcut icon" type="images/x-icon" href="images/favicon.ico"/>
<link rel="stylesheet" type="text/css" href="templates/main_page/stylesheet.css" media="screen"/>
<link rel="stylesheet" type="text/css" href="templates/main_page/zoombox.css" media="screen"/>
-<script type="text/javascript" src="templates/main_page/javascript.js"></script>
<script type="text/javascript" src="../ext/jquery/jquery.min.js"></script>
<script type="text/javascript" src="../ext/jquery/jquery.validate.min.js"></script>
<script type="text/javascript" src="templates/main_page/zoombox.js"></script>
</head>
-<body onload="javascript:toggleInput();">
+<body>
<div id="template">
\ No newline at end of file
Deleted: trunk/catalog/install/templates/main_page/javascript.js
===================================================================
--- trunk/catalog/install/templates/main_page/javascript.js 2012-03-23 14:40:10 UTC (rev 4094)
+++ trunk/catalog/install/templates/main_page/javascript.js 2012-03-24 16:16:48 UTC (rev 4095)
@@ -1,29 +0,0 @@
-/**
- @licence GPL 2005-2010 The osCSS developers - osCSS Open Source E-commerce
- @package oscss-2 <www http://www.oscss.org>
- @version 2.0.9
- @date 18/05/10, 13:30
- @author oscim <mail aur...@os...> <www http://www.oscim.fr>
- @encode UTF-8
-*/
-
-function toggleInput() {
- if(document.getElementById('langBt') !=null)
- document.getElementById('langBt').style.display = 'none';
-}
-
-function changeStyle(what, how) {
- if (document.getElementById) {
- document.getElementById(what).style.fontWeight = how;
- } else if (document.all) {
- document.all[what].style.fontWeight = how;
- }
-}
-
-function changeText(where, what) {
- if (document.getElementById) {
- document.getElementById(where).innerHTML = what;
- } else if (document.all) {
- document.all[where].innerHTML = what;
- }
-}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|