mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-04-27 10:31:50 -04:00
Merge branch 'master' into merge/padungsak
Conflicts: application/views/config.php
This commit is contained in:
@@ -93,8 +93,8 @@ $mimes = array( 'hqx' => 'application/mac-binhex40',
|
||||
'avi' => 'video/x-msvideo',
|
||||
'movie' => 'video/x-sgi-movie',
|
||||
'doc' => 'application/msword',
|
||||
'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
||||
'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
||||
'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'),
|
||||
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
|
||||
'word' => array('application/msword', 'application/octet-stream'),
|
||||
'xl' => 'application/excel',
|
||||
'eml' => 'message/rfc822',
|
||||
@@ -103,4 +103,4 @@ $mimes = array( 'hqx' => 'application/mac-binhex40',
|
||||
|
||||
|
||||
/* End of file mimes.php */
|
||||
/* Location: ./application/config/mimes.php */
|
||||
/* Location: ./application/config/mimes.php */
|
||||
42
application/language/fr/common_lang.php
Normal file
42
application/language/fr/common_lang.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
$lang['common_common'] = 'commun';
|
||||
$lang['common_submit'] = 'Envoyer';
|
||||
$lang['common_or'] = 'OU';
|
||||
$lang['common_powered_by'] = 'Animé par';
|
||||
$lang['common_welcome'] = 'Bienvenue';
|
||||
$lang['common_logout'] = 'Déconnexion';
|
||||
$lang['common_list_of'] = 'Liste de';
|
||||
$lang['common_first_name'] = 'Prénom';
|
||||
$lang['common_last_name'] = 'Nom';
|
||||
$lang['common_email'] = 'E-Mail';
|
||||
$lang['common_phone_number'] = 'Téléphone';
|
||||
$lang['common_address_1'] = 'Addresse 1';
|
||||
$lang['common_address_2'] = 'Addresse 2';
|
||||
$lang['common_city'] = 'Ville';
|
||||
$lang['common_state'] = 'État';
|
||||
$lang['common_zip'] = 'Zip';
|
||||
$lang['common_country'] = 'Pays';
|
||||
$lang['common_comments'] = 'Commentaires';
|
||||
$lang['common_edit'] = 'éditer';
|
||||
$lang['common_search'] = 'Recherche';
|
||||
$lang['common_delete'] = 'Effacer';
|
||||
$lang['common_remove'] = 'Enlever';
|
||||
$lang['common_view_recent_sales'] = 'Voir Ventes Récentes';
|
||||
$lang['common_you_are_using_ospos'] = 'Vous utilisez Open Source Point Of Sale Version';
|
||||
$lang['common_please_visit_my'] = 'SVP visitez le';
|
||||
$lang['common_website'] = 'site-web';
|
||||
$lang['common_fields_required_message'] = 'Les champs en rouge sont requis';
|
||||
$lang['common_learn_about_project'] = 'pour les dernières informations sur le projet';
|
||||
$lang['common_searched_for'] = 'Recherché';
|
||||
$lang['common_first_name_required'] = 'Le prénom est requis.';
|
||||
$lang['common_last_name_required'] = 'Le nom est requis';
|
||||
$lang['common_email_invalid_format'] = 'Le format de l\'adresse électronique est incorrect';
|
||||
$lang['common_confirm_search'] = 'Vous avez sélectionné une ou plusieurs ligne(s). Elles ne seront plus selectionnées apres cette recherche. Voulez-vous lancer cette recherche?';
|
||||
$lang['common_no_persons_to_display'] = 'Il n\'y a personne à afficher';
|
||||
$lang['common_return_policy'] = 'Politique de Reprise';
|
||||
$lang['common_price'] = 'Prix';
|
||||
$lang['common_welcome_message']= 'Bienvenue à Open Source Point Of Sale, choisissez un module ci-dessous!';
|
||||
$lang['common_inv'] = 'inv';
|
||||
$lang['common_det'] = 'détails';
|
||||
$lang['common_phone_number_required'] = 'Le numéro de téléphone est requis.';//Added by Harry-Wonder 22/05/2014
|
||||
?>
|
||||
35
application/language/fr/config_lang.php
Normal file
35
application/language/fr/config_lang.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
$lang['config_info'] = 'Çonfiguration de l\'Entreprise';
|
||||
$lang['config_company'] = 'Nome de l\'Entreprise';
|
||||
$lang['config_address'] = 'Addresse';
|
||||
$lang['config_phone'] = 'Téléphone';
|
||||
$lang['config_website'] = 'Site-web';
|
||||
$lang['config_fax'] = 'Fax';
|
||||
$lang['config_default_tax_rate'] = 'Taux d\'Imposition par Défaut';
|
||||
$lang['config_default_tax_rate_1'] = 'Taux d\'Imposition 1';
|
||||
$lang['config_default_tax_rate_2'] = 'Taux d\'Imposition 2';
|
||||
$lang['config_company_required'] = 'Le nom d\'entreprise est requis';
|
||||
$lang['config_address_required'] = 'L\'adresse est requise';
|
||||
$lang['config_phone_required'] = 'Le numéro de téléphone est requis';
|
||||
$lang['config_default_tax_rate_required'] = 'Le taux d\'imposition par défaut est requis';
|
||||
$lang['config_default_tax_rate_number'] = 'Le taux d\'imposition doit etre un nombre';
|
||||
$lang['config_company_website_url'] = 'Le site web de l\'entreprise n\'est pas une URL valide (http://...)';
|
||||
$lang['config_saved_successfully'] = 'Configuration sauvegardée';
|
||||
$lang['config_saved_unsuccessfully'] = 'Échec de sauvegarde de configuration';
|
||||
$lang['config_return_policy_required'] = 'Le Message est un champ requis';
|
||||
$lang['config_print_after_sale'] = 'Imprimer un recu après vente';
|
||||
$lang['config_language'] = 'Langue';
|
||||
$lang['config_timezone'] = 'Fuseau Horaire';
|
||||
$lang['config_currency_symbol'] = 'Symbole Monétaire';
|
||||
$lang['config_currency_side'] = 'Symbole à droite'; //GARRISON ADDED 4/20/2013
|
||||
$lang['config_custom1'] = 'Champ Personnalisé 1'; //GARRISON ADDED 4/21/2013
|
||||
$lang['config_custom2'] = 'Champ Personnalisé 2'; //GARRISON ADDED 4/21/2013
|
||||
$lang['config_custom3'] = 'Champ Personnalisé 3'; //GARRISON ADDED 4/21/2013
|
||||
$lang['config_custom4'] = 'Champ Personnalisé 4'; //GARRISON ADDED 4/21/2013
|
||||
$lang['config_custom5'] = 'Champ Personnalisé 5'; //GARRISON ADDED 4/21/2013
|
||||
$lang['config_custom6'] = 'Champ Personnalisé 6'; //GARRISON ADDED 4/21/2013
|
||||
$lang['config_custom7'] = 'Champ Personnalisé 7'; //GARRISON ADDED 4/21/2013
|
||||
$lang['config_custom8'] = 'Champ Personnalisé 8'; //GARRISON ADDED 4/21/2013
|
||||
$lang['config_custom9'] = 'Champ Personnalisé 9'; //GARRISON ADDED 4/21/2013
|
||||
$lang['config_custom10'] = 'Champ Personnalisé 10'; //GARRISON ADDED 4/21/2013
|
||||
?>
|
||||
16
application/language/fr/customers_lang.php
Normal file
16
application/language/fr/customers_lang.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
$lang['customers_new'] = 'Nouveau Client';
|
||||
$lang['customers_customer'] = 'Client';
|
||||
$lang['customers_update'] = 'Éditer Client';
|
||||
$lang['customers_confirm_delete'] = 'Etes vous sûr(e) de vouloir supprimer ces clients?';
|
||||
$lang['customers_none_selected'] = 'Vous n\\\'avez pas sélectionné de client à supprimer';
|
||||
$lang['customers_error_adding_updating'] = 'Érreur lors de l\'ajout/suppression de client';
|
||||
$lang['customers_successful_adding'] = 'Vous avez ajouté un nouveau client';
|
||||
$lang['customers_successful_updating'] = 'Édition client réussie';
|
||||
$lang['customers_successful_deleted'] = 'Suppréssion réussie';
|
||||
$lang['customers_one_or_multiple'] = 'client(s)';
|
||||
$lang['customers_cannot_be_deleted'] = 'Impossible de supprimer. Un ou plusiers client(s) sélectionné(s) ont des ventes.';
|
||||
$lang['customers_basic_information'] = 'Informations Client';
|
||||
$lang['customers_account_number'] = '# Compte';
|
||||
$lang['customers_taxable'] = 'Imposable';
|
||||
?>
|
||||
27
application/language/fr/employees_lang.php
Normal file
27
application/language/fr/employees_lang.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
$lang['employees_employee'] = 'Employé';
|
||||
$lang['employees_new'] = 'Nouvel Employé';
|
||||
$lang['employees_update'] = 'Éditer Employé';
|
||||
$lang['employees_confirm_delete'] = 'Voulez-vous supprimer ces employés?';
|
||||
$lang['employees_none_selected'] = 'Aucun employé sélectionné pour la suppression';
|
||||
$lang['employees_error_adding_updating'] = 'Erreur d\'ajout/édition d\'employé';
|
||||
$lang['employees_successful_adding'] = 'Employé ajouté';
|
||||
$lang['employees_successful_updating'] = 'Édition d\'employé réussie';
|
||||
$lang['employees_successful_deleted'] = 'Suppréssion d\'employé réussie';
|
||||
$lang['employees_one_or_multiple'] = 'employé(s)';
|
||||
$lang['employees_cannot_be_deleted'] = 'Impossible de supprimer. Un ou plusieurs des employés à éffectué une vente, ou alors vous essayez de vous supprimer vous-meme :)';
|
||||
$lang['employees_username'] = 'Nom d\'utilisateur';
|
||||
$lang['employees_password'] = 'Mot de passe';
|
||||
$lang['employees_repeat_password'] = 'Re-saisissez le mot de passe';
|
||||
$lang['employees_username_required'] = 'Le Nom d\'utilisateur est requis';
|
||||
$lang['employees_username_minlength'] = 'Le Nom d\'utilisateur doit etre long d\'au moins 5 caractères';
|
||||
$lang['employees_password_required'] = 'Le Mot de passe est requis';
|
||||
$lang['employees_password_minlength'] = 'Le Mot de passe doit etre long d\'au moins 8 caractères';
|
||||
$lang['employees_password_must_match'] = 'Mots de passe non corcordants';
|
||||
$lang['employees_basic_information'] = 'Fiche Employé';
|
||||
$lang['employees_login_info'] = 'Détails de Connexion Employé';
|
||||
$lang['employees_permission_info'] = 'Droits d\'Accès Employé';
|
||||
$lang['employees_permission_desc'] = 'Cochez les cases cis-dessous pour autoriser l\'accès aux modules';
|
||||
$lang['employees_error_updating_demo_admin'] = 'Vous ne pouvez pas modifier l\'utilisateur de démonstration admin';
|
||||
$lang['employees_error_deleting_demo_admin'] = 'Vous ne pouvez pas effacer l\'utilisateur de démonstration admin';
|
||||
?>
|
||||
4
application/language/fr/error_lang.php
Normal file
4
application/language/fr/error_lang.php
Normal file
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
$lang['error_no_permission_module'] = 'Vous n\'avez pas d\'autorisation d\'accès pour le module';
|
||||
$lang['error_unknown'] = 'inconnu';
|
||||
?>
|
||||
29
application/language/fr/form_validation_lang.php
Normal file
29
application/language/fr/form_validation_lang.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
$lang['required'] = "Le champ %s est requis.";
|
||||
$lang['isset'] = "Le champ %s doit avoir une valeur.";
|
||||
$lang['valid_email'] = "Le champ %s doit contenir une adresse mail valide.";
|
||||
$lang['valid_emails'] = "Le champ %s doit contenir toutes adresses mail valides.";
|
||||
$lang['valid_url'] = "Le champ %s doit contenir une URL valide..";
|
||||
$lang['valid_ip'] = "Le champ %s doit contenir une adresse IP.";
|
||||
$lang['min_length'] = "Le champ %s doit etre long d'au moins %s caractères.";
|
||||
$lang['max_length'] = "Le champ %s ne doit pas etre plus long que %s caractères.";
|
||||
$lang['exact_length'] = "Le champ %s doit etre long d'exactement %s caractères.";
|
||||
$lang['alpha'] = "Le champ %s ne peut contenir que des lettres de l'alphabet.";
|
||||
$lang['alpha_numeric'] = "Le champ %s ne peut que contenir que des caractères alpha-numeriques.";
|
||||
$lang['alpha_dash'] = "Le champ %s ne peut que contenir que des caractères alpha-numeriques, des barres(_), et des tirets(-).";
|
||||
$lang['numeric'] = "Le champ %s ne doit contenir que des nombres.";
|
||||
$lang['is_numeric'] = "Le champ %s ne doit contenir que des chiffres.";
|
||||
$lang['integer'] = "Le champ %s doit contenir un entier.";
|
||||
$lang['regex_match'] = "Le format du champ %s n'est pas correcte.";
|
||||
$lang['matches'] = "Le champ %s ne correspond pas au champ %s.";
|
||||
$lang['is_unique'] = "Le champ %s doit contenir une valeur unique.";
|
||||
$lang['is_natural'] = "Le champ %s ne doit contenir que des nombres positifs.";
|
||||
$lang['is_natural_no_zero'] = "Le champ %s doit contenir un nombre supérier à zéro.";
|
||||
$lang['decimal'] = "Le champ %s doit contenir un nombre décimal.";
|
||||
$lang['less_than'] = "Le champ %s doit contenir un nombre inférieur à %s.";
|
||||
$lang['greater_than'] = "Le champ %s doit contenir un nombre supérieur à %s.";
|
||||
|
||||
|
||||
/* End of file form_validation_lang.php */
|
||||
/* Location: ./system/language/english/form_validation_lang.php */
|
||||
69
application/language/fr/giftcards_lang.php
Normal file
69
application/language/fr/giftcards_lang.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
$lang['giftcards_giftcard_number'] = 'Numéro de Carte';
|
||||
$lang['giftcards_card_value'] = 'Valeur';
|
||||
$lang['giftcards_basic_information'] = 'Détails de la Carte';
|
||||
$lang['giftcards_number_required'] = 'Le Numéro est requis';
|
||||
$lang['giftcards_value_required'] = 'La Valeur est requise';
|
||||
$lang['giftcards_number'] = 'Le numéro de la carte doit etre un nombre';
|
||||
$lang['giftcards_value'] = 'La valeur de la carte doit etre un nombre';
|
||||
$lang['giftcards_person_id'] = 'Client';
|
||||
$lang['giftcards_retrive_giftcard_info'] = 'Obtenir des détails de la Carte';
|
||||
$lang['giftcards_description'] = 'Description';
|
||||
$lang['giftcards_amazon'] = 'Amazon';
|
||||
$lang['giftcards_upc_database'] = 'Base de Données UPC';
|
||||
$lang['giftcards_cannot_find_giftcard'] = 'Aucune information sur la carte';
|
||||
$lang['giftcards_info_provided_by'] = 'Information fournie par';
|
||||
$lang['giftcards_number_information'] = 'Numéro de Carte';
|
||||
$lang['giftcards_new'] = 'Nouvelle Carte';
|
||||
$lang['giftcards_update'] = 'Éditer Carte';
|
||||
$lang['giftcards_giftcard'] = 'Carte Cadeau';
|
||||
$lang['giftcards_edit_multiple_giftcards'] = 'Édition Multiple de Cartes';
|
||||
$lang['giftcards_category'] = 'Catégorie';
|
||||
$lang['giftcards_cost_price'] = 'Cout';
|
||||
$lang['giftcards_unit_price'] = 'Prix Unitaire';
|
||||
$lang['giftcards_tax_1'] = 'Tax 1';
|
||||
$lang['giftcards_tax_2'] = 'Tax 2';
|
||||
$lang['giftcards_sales_tax_1'] = 'Sales Tax';
|
||||
$lang['giftcards_sales_tax_2'] = 'Sales Tax 2';
|
||||
$lang['giftcards_tax_percent'] = 'Taux d\'imposition';
|
||||
$lang['giftcards_tax_percents'] = 'Pourcentage d\'imposition';
|
||||
$lang['giftcards_reorder_level'] = 'Seuil de Réapprovisionnement';
|
||||
$lang['giftcards_quantity'] = 'Quantité';
|
||||
$lang['giftcards_no_giftcards_to_display'] = 'Aucune carte à afficher';
|
||||
$lang['giftcards_bulk_edit'] = 'Édition en groupe';
|
||||
$lang['giftcards_confirm_delete'] = 'Etes vous sûr(e) de vouloir supprimer ces cates?';
|
||||
$lang['giftcards_none_selected'] = 'Vous n\\\'avez sélectionné aucune carte à éditer';
|
||||
$lang['giftcards_confirm_bulk_edit'] = 'Etes vous sûr(e) de vouloir éditer toutes les cartes sélectionnés?';
|
||||
$lang['giftcards_successful_bulk_edit'] = 'Les cartes ont étés édités';
|
||||
$lang['giftcards_error_updating_multiple'] = 'Érreur lors de l\'édition des cartes';
|
||||
$lang['giftcards_edit_fields_you_want_to_update'] = 'Modifier les chaps que vous voulez éditer pour TOUTES les cartes';
|
||||
$lang['giftcards_error_adding_updating'] = 'Érreur d\'ajout/édition de cartes';
|
||||
$lang['giftcards_successful_adding'] = 'Vous avez ajouté une carte cadeau bonus';
|
||||
$lang['giftcards_successful_updating'] = 'Édition réussie';
|
||||
$lang['giftcards_successful_deleted'] = 'Suppréssion réussie';
|
||||
$lang['giftcards_one_or_multiple'] = 'carte(s)';
|
||||
$lang['giftcards_cannot_be_deleted'] = 'Impossible de supprimer. Une ou plusieurs carte(s) ont des ventes.';
|
||||
$lang['giftcards_none'] = 'Aucun';
|
||||
$lang['giftcards_supplier'] = 'Fournisseur';
|
||||
$lang['giftcards_generate_barcodes'] = 'Générer des Codes-barre';
|
||||
$lang['giftcards_must_select_giftcard_for_barcode'] = 'Vous devez sélectionner au moins une carte pour générer des codes-barre';
|
||||
$lang['giftcards_excel_import_failed'] = 'Échec de l\'import';
|
||||
$lang['giftcards_allow_alt_description'] = 'Autorisér Description Alt';
|
||||
$lang['giftcards_is_serialized'] = 'Carte cadeau avec Numéro de Série';
|
||||
$lang['giftcards_low_inventory_giftcards'] = 'Cartes Stock Faible';
|
||||
$lang['giftcards_serialized_giftcards'] = 'Cartes Cadeau Serialisés';
|
||||
$lang['giftcards_no_description_giftcards'] = 'Cartes Sans Description';
|
||||
$lang['giftcards_inventory_comments'] = 'Commentaires';
|
||||
$lang['giftcards_count'] = 'Mise à Jour Inventaire';
|
||||
$lang['giftcards_details_count'] = 'Détails d\'inventaire';
|
||||
$lang['giftcards_add_minus'] = 'Ajout/Soustraction à l\'inventaire';
|
||||
$lang['giftcards_current_quantity'] = 'Quantité Restante';
|
||||
$lang['giftcards_quantity_required'] = 'La quantité est requise. Veuillez Fermer ( X ) pour annuler';
|
||||
$lang['giftcards_do_nothing'] = 'Ne rien faire';
|
||||
$lang['giftcards_change_all_to_serialized'] = 'Tout Sérialiser';
|
||||
$lang['giftcards_change_all_to_unserialized'] = 'Tout Désérialiser';
|
||||
$lang['giftcards_change_all_to_allow_alt_desc'] = 'Autoriser Desc Alt Pour Tous';
|
||||
$lang['giftcards_change_all_to_not_allow_allow_desc'] = 'Interdire Desc Alt Pour Tous';
|
||||
$lang['giftcards_use_inventory_menu'] = 'Utiliser Menu Inv.';
|
||||
$lang['giftcards_manually_editing_of_quantity'] = 'Modification Manuelle de Quantité';
|
||||
?>
|
||||
10
application/language/fr/index.html
Normal file
10
application/language/fr/index.html
Normal file
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>403 Interdit</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>Acces interdit à ce répertoire.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
20
application/language/fr/item_kits_lang.php
Normal file
20
application/language/fr/item_kits_lang.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
$lang['item_kits_name'] = 'Nom du Kit';
|
||||
$lang['item_kits_description'] = 'Description du Kit';
|
||||
$lang['item_kits_no_item_kits_to_display'] = 'Aucun kit à afficher';
|
||||
$lang['item_kits_update'] = 'Éditer Kit';
|
||||
$lang['item_kits_new'] = 'Nouveau Kit';
|
||||
$lang['item_kits_none_selected'] = 'Vous n\\\'avez sélectionné aucun kit';
|
||||
$lang['item_kits_info'] = 'Détails du Kit';
|
||||
$lang['item_kits_successful_adding'] = 'Vous avez ajouté un Kit';
|
||||
$lang['item_kits_successful_updating'] = 'Vous avez édité un Kit';
|
||||
$lang['item_kits_error_adding_updating'] = 'Érreur d\'ajout/édition de Kit';
|
||||
$lang['item_kits_successful_deleted'] = 'Suppréssion réussie';
|
||||
$lang['item_kits_confirm_delete'] = 'Ètes vous sûr(e) de vouloir supprimer le(s) Kits sélectionnés?';
|
||||
$lang['item_kits_one_or_multiple'] = 'Kit(s)';
|
||||
$lang['item_kits_cannot_be_deleted'] = 'Impossible de supprimer';
|
||||
$lang['item_kits_add_item'] = 'Ajouter Item';
|
||||
$lang['item_kits_items'] = 'Items';
|
||||
$lang['item_kits_item'] = 'Item';
|
||||
$lang['item_kits_quantity'] = 'Quantité';
|
||||
?>
|
||||
81
application/language/fr/items_lang.php
Normal file
81
application/language/fr/items_lang.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
$lang['items_item_number'] = 'UPC/EAN/ISBN';
|
||||
$lang['items_retrive_item_info'] = 'Récupérer Informations';
|
||||
$lang['items_description'] = 'Description';
|
||||
$lang['items_amazon'] = 'Amazon';
|
||||
$lang['items_upc_database'] = 'Base de Données UPC';
|
||||
$lang['items_cannot_find_item'] = 'Impossible de récu[érer des informations';
|
||||
$lang['items_info_provided_by'] = 'Infos fournies by';
|
||||
$lang['items_basic_information'] = 'Informations sur l\'Item';
|
||||
$lang['items_number_information'] = 'Numbéro d\'Item';
|
||||
$lang['items_new'] = 'Nouvel Item';
|
||||
$lang['items_update'] = 'Éditer Item';
|
||||
$lang['items_item'] = 'Item';
|
||||
$lang['items_edit_multiple_items'] = 'Édition Multiple d\'Items';
|
||||
$lang['items_name'] = 'Nom';
|
||||
$lang['items_category'] = 'Categorie';
|
||||
$lang['items_cost_price'] = 'Prix de Gros';//GARRISON ADDED 4/21/2013
|
||||
$lang['items_unit_price'] = 'Prix au Détail';//GARRISON ADDED 4/21/2013
|
||||
$lang['items_tax_1'] = 'Taxe 1';
|
||||
$lang['items_tax_2'] = 'Taxe 2';
|
||||
$lang['items_sales_tax_1'] = 'Taxe Vente';
|
||||
$lang['items_sales_tax_2'] = 'Taxe Vente 2';
|
||||
$lang['items_tax_percent'] = 'Pourcentage d\'imposition';
|
||||
$lang['items_tax_percents'] = 'Pourcents(s) de taxes';
|
||||
$lang['items_reorder_level'] = 'Niveau de Réapprovisionnement';
|
||||
$lang['items_quantity'] = 'Quantité';
|
||||
$lang['items_reorder_level'] = 'Niveau de Réapprovisionnement';
|
||||
$lang['items_no_items_to_display'] = 'Aucun Items à afficher';
|
||||
$lang['items_bulk_edit'] = 'Édition en groupe';
|
||||
$lang['items_confirm_delete'] = 'Etes vous sûre de vouloir supprimer la sélection?';
|
||||
$lang['items_none_selected'] = 'Vous n\\\'avez sélectionné aucun élément';
|
||||
$lang['items_confirm_bulk_edit'] = 'Etes vous sûre de vouloir éditer toute la sélection?';
|
||||
$lang['items_successful_bulk_edit'] = 'Édition réussie';
|
||||
$lang['items_error_updating_multiple'] = 'Erreur d\'édition';
|
||||
$lang['items_edit_fields_you_want_to_update'] = 'Modifiez les champs que vous voulez éditer pour TOUS les items sélectionnés';
|
||||
$lang['items_error_adding_updating'] = 'Erreur d\'ajout/éditionn';
|
||||
$lang['items_successful_adding'] = 'Ajout enregistré';
|
||||
$lang['items_successful_updating'] = 'Édition enregistrée';
|
||||
$lang['items_successful_deleted'] = 'Suppréssion réussie';
|
||||
$lang['items_one_or_multiple'] = 'item(s)';
|
||||
$lang['items_cannot_be_deleted'] = 'Impossible de supprimer. Un ou plusiers des items sélectionnés a des ventes.';
|
||||
$lang['items_name_required'] = 'Le Nom est requis';
|
||||
$lang['items_category_required'] = 'La Catégorie est requise';
|
||||
$lang['items_buy_price_required'] = 'Le Prix d\'achat est requis'; //GARRISON UPDATED 6/3/2013
|
||||
$lang['items_unit_price_required'] = 'Le Prix de revente est requis'; //GARRISON UPDATED 6/3/2013
|
||||
$lang['items_cost_price_required'] = 'Le Prix de gros est requis'; //GARRISON UPDATED 6/3/2013
|
||||
$lang['items_tax_percent_required'] = 'Le Pourcentage d\'imposition est requis';
|
||||
$lang['items_quantity_required'] = 'La Quantité est requise';
|
||||
$lang['items_reorder_level_required'] = 'Le Niveaux de Réapprovisionnement est requis';
|
||||
$lang['items_unit_price_number'] = 'Le Prix unitaire doit etre un nombre';
|
||||
$lang['items_cost_price_number'] = 'Le Prix d\'achat doit etre un nombre';
|
||||
$lang['items_quantity_number'] = 'La Quantité doit etre un nombre';
|
||||
$lang['items_reorder_level_number'] = 'Le Niveaux de Réapprovisionnement doit etre un nombre';
|
||||
$lang['items_none'] = 'Aucun';
|
||||
$lang['items_supplier'] = 'Fournisseur';
|
||||
$lang['items_generate_barcodes'] = 'Générer des Coddes-barre';
|
||||
$lang['items_must_select_item_for_barcode'] = 'Vous devez sélectionner au moins un item';
|
||||
$lang['items_excel_import_failed'] = 'Echec Import d\'Excel';
|
||||
$lang['items_allow_alt_description'] = 'Autoriser Description Alt';
|
||||
$lang['items_is_serialized'] = 'Item a un Numéro de Série';
|
||||
$lang['items_low_inventory_items'] = 'Items à Stock Faible';
|
||||
$lang['items_serialized_items'] = 'Items Serialisés';
|
||||
$lang['items_no_description_items'] = 'Items sans Description';
|
||||
$lang['items_search_custom_items'] = 'Rechercher dans les Champs Choisis';//GARRISON ADDED
|
||||
$lang['items_inventory_comments'] = 'Commentaires';
|
||||
$lang['items_count'] = 'Mise à jour Inventaire';
|
||||
$lang['items_details_count'] = 'Détais Inventaire';
|
||||
$lang['items_add_minus'] = 'Ajoujer/Soustraire à l\'Inventaire';
|
||||
$lang['items_current_quantity'] = 'Quantité Actuelle';
|
||||
$lang['items_quantity_required'] = 'La Quantité est requise. Veuillez Fermer ( X ) pour annuler';
|
||||
$lang['items_do_nothing'] = 'Ne rien faire';
|
||||
$lang['items_change_all_to_serialized'] = 'Tout Sérialiser';
|
||||
$lang['items_change_all_to_unserialized'] = 'Tout désérialiser';
|
||||
$lang['items_change_all_to_allow_alt_desc'] = ' Autoriser Desc Alt Pour Tous';
|
||||
$lang['items_change_all_to_not_allow_allow_desc'] = 'Interdire Desc Alt Pour Tous';
|
||||
$lang['items_use_inventory_menu'] = 'Utiliser Menu Inv.';
|
||||
$lang['items_manually_editing_of_quantity'] = 'Édition Manuelle de Quantité';
|
||||
$lang['items_inventory'] = 'Inventaire';
|
||||
$lang['items_location'] = 'Location';
|
||||
$lang['items_is_deleted'] = 'Supprimé';// Parq 131215
|
||||
?>
|
||||
8
application/language/fr/login_lang.php
Normal file
8
application/language/fr/login_lang.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
$lang['login_login']='Login';
|
||||
$lang['login_username']='Nom d\'utilisateur';
|
||||
$lang['login_password']='Mot de passe';
|
||||
$lang['login_go']='Lancer';
|
||||
$lang['login_invalid_username_and_password']='Entrée invalide';
|
||||
$lang['login_welcome_message']='Bienvenue au Système Open Source Point of Sale. Pour continuer, veuiller entrer votre nom d\'utilisateur et votre mot de passe ci-dessous.';
|
||||
?>
|
||||
34
application/language/fr/module_lang.php
Normal file
34
application/language/fr/module_lang.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
$lang['module_home']='Accueil';
|
||||
|
||||
$lang['module_customers']='Clients';
|
||||
$lang['module_customers_desc']='Ajouter, Éditer, Supprimer, et Chercher des clients';
|
||||
|
||||
$lang['module_suppliers']='Fournisseurs';
|
||||
$lang['module_suppliers_desc']='Ajouter, Éditer, Supprimer, et Chercher des fournisseurs';
|
||||
|
||||
$lang['module_employees']='Employés';
|
||||
$lang['module_employees_desc']='Ajouter, Éditer, Supprimer, et Chercher des employés';
|
||||
|
||||
$lang['module_sales']='Ventes';
|
||||
$lang['module_sales_desc']='Ventes et chiffre d\'affaire';
|
||||
|
||||
$lang['module_reports']='Rapports';
|
||||
$lang['module_reports_desc']='Visualiser et générer des rapports';
|
||||
|
||||
$lang['module_items']='Items vendus';
|
||||
$lang['module_items_desc']='Ajouter, Éditer, Supprimer, et Chercher des items en vente';
|
||||
|
||||
$lang['module_config']='Paramètres';
|
||||
$lang['module_config_desc']='Paramètres de la boutique';
|
||||
|
||||
$lang['module_receivings']='Entrées Stock';
|
||||
$lang['module_receivings_desc']='Gérer les ordres d\'achat';
|
||||
|
||||
$lang['module_giftcards']='Cartes Cadeau';
|
||||
$lang['module_giftcards_desc']='Ajouter, Éditer, Supprimer, et Chercher des cartes cadeau';
|
||||
|
||||
$lang['module_item_kits']='Items vendus en Kits';
|
||||
$lang['module_item_kits_desc']='Ajouter, Éditer, Supprimer, et Chercher des items vendus en kits';
|
||||
|
||||
?>
|
||||
26
application/language/fr/receivings_lang.php
Normal file
26
application/language/fr/receivings_lang.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
$lang['recvs_register'] = 'Items Receiving';
|
||||
$lang['recvs_mode'] = 'Receiving Mode';
|
||||
$lang['recvs_receiving'] = 'Receive';
|
||||
$lang['recvs_return'] = 'Return';
|
||||
$lang['recvs_total'] = 'Total';
|
||||
$lang['recvs_cost'] = 'Cout';
|
||||
$lang['recvs_quantity'] = 'Qté.';
|
||||
$lang['recvs_discount'] = 'Remise %';
|
||||
$lang['recvs_edit'] = 'Éditer';
|
||||
$lang['recvs_new_supplier'] = 'Nouveau Fournisseur';
|
||||
$lang['recvs_supplier'] = 'Fournisseur';
|
||||
$lang['recvs_select_supplier'] = 'Choisir Fournisseur (Facultatif)';
|
||||
$lang['recvs_start_typing_supplier_name'] = 'Commencez à saisir le nom du fournisseur...';
|
||||
$lang['recvs_unable_to_add_item'] = 'Impossible d\'ajouter l\'item aux arrivages';
|
||||
$lang['recvs_error_editing_item'] = 'Erreur d\'édition';
|
||||
$lang['recvs_receipt'] = 'Recu des Arrivages';
|
||||
$lang['recvs_complete_receiving'] = 'Fin';
|
||||
$lang['recvs_confirm_finish_receiving'] = 'Etes vous sûr(e) de vouloir valider cet arrivage (Irréversible)?';
|
||||
$lang['recvs_confirm_cancel_receiving'] = 'Etes vous sûr(e) de vouloir annuler cet arrivage?';
|
||||
$lang['recvs_find_or_scan_item'] = 'Chercher/Scanner Élément';
|
||||
$lang['recvs_find_or_scan_item_or_receipt'] = 'Chercher Elément OU Recu';
|
||||
$lang['recvs_id'] = 'ID Arrivage';
|
||||
$lang['recvs_item_name'] = 'Nom d\'Élément';
|
||||
$lang['receivings_transaction_failed'] = 'Échec d\'opération d\'arrivage';
|
||||
?>
|
||||
90
application/language/fr/reports_lang.php
Normal file
90
application/language/fr/reports_lang.php
Normal file
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
$lang['reports_reports'] = 'Rapports';
|
||||
$lang['reports_report'] = 'Rapport';
|
||||
$lang['reports_welcome_message'] = 'Bienvenue à la page des rapports. Veuillez sélectionner un rapport à visualiser.';
|
||||
$lang['reports_sales_summary_report'] = 'Rapport: Résumé des Ventes';
|
||||
$lang['reports_categories_summary_report'] = 'Rapport: Résumé des Catégories';
|
||||
$lang['reports_customers_summary_report'] = 'Rapport: Résumé Clientelle';
|
||||
$lang['reports_suppliers_summary_report'] = 'Rapport: Résumé Fournisseurs';
|
||||
$lang['reports_items_summary_report'] = 'Rapport: Résumé Items';
|
||||
$lang['reports_employees_summary_report'] = 'Rapport: Résumé Employés';
|
||||
$lang['reports_taxes_summary_report'] = 'Rapport: Résumé Taxes';
|
||||
$lang['reports_date'] = 'Date';
|
||||
$lang['reports_name'] = 'Nom';
|
||||
$lang['reports_quantity_purchased'] = 'Quantité Achetée';
|
||||
$lang['reports_sale_id'] = 'ID Vente';
|
||||
$lang['reports_items_purchased'] = 'Éléments Achetés';
|
||||
$lang['reports_sold_by'] = 'Vendu par';
|
||||
$lang['reports_sold_to'] = 'Vendu à';
|
||||
$lang['reports_category'] = 'Catégorie';
|
||||
$lang['reports_customer'] = 'Client';
|
||||
$lang['reports_employee'] = 'Employé';
|
||||
$lang['reports_item'] = 'Item';
|
||||
$lang['reports_items'] = 'Items';
|
||||
$lang['reports_supplier'] = 'Fournisseur';
|
||||
$lang['reports_employees'] = 'Employés';
|
||||
$lang['reports_subtotal'] = 'Sous-total';
|
||||
$lang['reports_total'] = 'Total';
|
||||
$lang['reports_tax'] = 'Taxe';
|
||||
$lang['reports_profit'] = 'Bénéfice';
|
||||
$lang['reports_report_input'] = 'Rapport Entrées';
|
||||
$lang['reports_discount'] = 'Remise';
|
||||
$lang['reports_type'] = 'Type';
|
||||
$lang['reports_discount'] = 'Une remise supérieure à ';
|
||||
$lang['reports_date_range'] = 'Plage de dates';
|
||||
$lang['reports_today'] = 'Aujourd\'hui';
|
||||
$lang['reports_yesterday'] = 'Hier';
|
||||
$lang['reports_last_7'] = 'Ces 7 derniers jours';
|
||||
$lang['reports_this_month'] = 'Ce mois';
|
||||
$lang['reports_last_month'] = 'Le mois dernier';
|
||||
$lang['reports_this_year'] = 'Cette Année';
|
||||
$lang['reports_last_year'] = 'L\'année passée';
|
||||
$lang['reports_all_time'] = 'Depuis le début';
|
||||
$lang['reports_detailed_sales_report'] = 'Rapport de Ventes Détaillé';
|
||||
$lang['reports_comments'] = 'Commentaires';
|
||||
$lang['reports_discount'] = 'Remise';
|
||||
$lang['reports_payment_type'] = 'Type Paiement';
|
||||
$lang['reports_sales'] = 'Ventes';
|
||||
$lang['reports_categories'] = 'Catégories';
|
||||
$lang['reports_customers'] = 'Clients';
|
||||
$lang['reports_suppliers'] = 'Fournisseurs';
|
||||
$lang['reports_items'] = 'Items';
|
||||
$lang['reports_employees'] = 'Employés';
|
||||
$lang['reports_taxes'] = 'Taxes';
|
||||
$lang['reports_customer'] = 'Client';
|
||||
$lang['reports_employee'] = 'Employé';
|
||||
$lang['reports_tax_percent'] = 'Pourcentage d\'imposition';
|
||||
$lang['reports_quantity_purchased'] = 'Quantité Achetée';
|
||||
$lang['reports_serial_number'] = '# Série';
|
||||
$lang['reports_description'] = 'Description';
|
||||
$lang['reports_date'] = 'Date';
|
||||
$lang['reports_sales_amount'] = 'Somme de ventes';
|
||||
$lang['reports_revenue'] = 'Revenu';
|
||||
$lang['reports_discounts'] = 'Remises';
|
||||
$lang['reports_discounts_summary_report'] = 'Rapport: Résumé des Remises';
|
||||
$lang['reports_discount_percent'] = 'Pourcentage Remises';
|
||||
$lang['reports_count'] = 'Décompte';
|
||||
$lang['reports_summary_reports'] = 'Rapports de Résumés';
|
||||
$lang['reports_graphical_reports'] = 'Rapports Graphiques';
|
||||
$lang['reports_detailed_reports'] = 'Rapports Détaillés';
|
||||
$lang['reports_inventory_reports'] = 'Rapports d\'Inventaire';
|
||||
$lang['reports_low_inventory'] = 'Niveau d\'Inventaire Bas';
|
||||
$lang['reports_inventory_summary'] = ' Résumé d\'Inventaire';
|
||||
$lang['reports_item_number'] = 'Numéro d\'Item';
|
||||
$lang['reports_reorder_level'] = 'Seuil de Réapprovisionnement';
|
||||
$lang['reports_low_inventory_report'] = 'Rapport de Niveau d\'Inventaire Bas';
|
||||
$lang['reports_item_name'] = 'Nom d\'Item';
|
||||
$lang['reports_inventory_summary_report'] = 'Rapport: Résumé d\'Inventaire';
|
||||
$lang['reports_payment_type'] = 'Type Paiement';
|
||||
$lang['reports_payments_summary_report'] = 'Rapport: Résumé des Paiements';
|
||||
$lang['reports_payments'] = 'Paiements';
|
||||
$lang['reports_receivings'] = 'Arrivages';
|
||||
$lang['reports_received_by'] = 'Recu par';
|
||||
$lang['reports_supplied_by'] = 'Fournit par';
|
||||
$lang['reports_items_received'] = 'Éléments Arrivés';
|
||||
$lang['reports_detailed_receivings_report'] = 'Rapport d\'Arrivages Détaillé';
|
||||
$lang['reports_sale_type'] = 'Type Vente';
|
||||
$lang['reports_all'] = 'Tous';
|
||||
$lang['reports_returns'] = 'Reprises';
|
||||
$lang['reports_discount'] = 'Remises';
|
||||
?>
|
||||
87
application/language/fr/sales_lang.php
Normal file
87
application/language/fr/sales_lang.php
Normal file
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
$lang['sales_giftcard_number'] = 'Numéro de Carte cadeau';
|
||||
$lang['sales_giftcard'] = 'Carte Cadeau';
|
||||
$lang['sales_register'] = 'Registre des Ventes';
|
||||
$lang['sales_mode'] = 'Mode d\'Enregistrement';
|
||||
$lang['sales_new_item'] = 'Nouvel Élément';
|
||||
$lang['sales_item_name'] = 'Nom';
|
||||
$lang['sales_item_number'] = '# Item';
|
||||
$lang['sales_new_customer'] = 'Nouveau Client';
|
||||
$lang['sales_customer'] = 'Client';
|
||||
$lang['sales_no_items_in_cart'] = 'Il n\'y a rien dans votre panier';
|
||||
$lang['sales_total'] = 'Total';
|
||||
$lang['sales_tax_percent'] = '% Taxe';
|
||||
$lang['sales_price'] = 'Prix';
|
||||
$lang['sales_quantity'] = 'Qté.';
|
||||
$lang['sales_discount'] = '% Remise';
|
||||
$lang['sales_edit'] = 'Éditer';
|
||||
$lang['sales_payment'] = 'Type Paiement';
|
||||
$lang['sales_edit_item'] = 'Éditer Item';
|
||||
$lang['sales_find_or_scan_item'] = 'Trouver/Scanner Item';
|
||||
$lang['sales_find_or_scan_item_or_receipt'] = 'Trouver/Scanner Item OU Recu';
|
||||
$lang['sales_select_customer'] = 'Choisir Client (Facultatif)';
|
||||
$lang['sales_start_typing_item_name'] = 'Commencez à saisir le nom de l\'item ou scannez le code-barre...';
|
||||
$lang['sales_start_typing_customer_name'] = 'Commencez à saisir le nom du client...';
|
||||
$lang['sales_sub_total'] = 'Sous-Total';
|
||||
$lang['sales_tax'] = 'Taxe';
|
||||
$lang['sales_comment'] = 'Commentaire';
|
||||
$lang['sales_unable_to_add_item'] = 'Erreur d\'ajout à la vente';
|
||||
$lang['sales_sale_for_customer'] = 'Client:';
|
||||
$lang['sales_remove_customer'] = 'Enlever Client';
|
||||
$lang['sales_error_editing_item'] = 'Érreur lors de l\'édition';
|
||||
$lang['sales_complete_sale'] = 'Finaliser la Vente';
|
||||
$lang['sales_cancel_sale'] = 'Annuler la Vente';
|
||||
$lang['sales_add_payment'] = 'Ajouter Paiement';
|
||||
$lang['sales_receipt'] = 'Recu de Ventes';
|
||||
$lang['sales_receipt_number']='# Caisse';
|
||||
$lang['sales_id'] = 'ID Vente';
|
||||
$lang['sales_sale'] = 'Vente';
|
||||
$lang['sales_return'] = 'Reprise';
|
||||
$lang['sales_confirm_finish_sale'] = 'Etes vous sûr(e) de vouloir enregistrer cette vente? Cette opération est irréversible.';
|
||||
$lang['sales_confirm_cancel_sale'] = 'Etes vous sûr(e) de vouloir annuler cette vente?';
|
||||
$lang['sales_cash'] = 'Cash';
|
||||
$lang['sales_check'] = 'Cheque';
|
||||
$lang['sales_debit'] = 'Carte Débit';
|
||||
$lang['sales_credit'] = 'Carte de Crédit';
|
||||
$lang['sales_giftcard'] = 'Carte Cadeau';
|
||||
$lang['sales_amount_tendered'] = 'Somme';
|
||||
$lang['sales_change_due'] = 'Reste';
|
||||
$lang['sales_payment_not_cover_total'] = 'Le Paiement ne couvre pas le Total';
|
||||
$lang['sales_transaction_failed'] = 'Échec de Transaction de vente';
|
||||
$lang['sales_must_enter_numeric'] = 'Veuillez entrer une valeur numérique pour la somme';
|
||||
$lang['sales_must_enter_numeric_giftcard'] = 'Veuillez entrer une valeur numérique pour le numéro de carte';
|
||||
$lang['sales_serial'] = 'Serie';
|
||||
$lang['sales_description_abbrv'] = 'Desc';
|
||||
$lang['sales_item_out_of_stock'] = 'Stock épuisé';
|
||||
$lang['sales_item_insufficient_of_stock'] = 'Stock top faible';
|
||||
$lang['sales_quantity_less_than_zero'] = 'Avertissement, Quantité Demandée Insuffisante. Vous pouvez accomplir la ventre, mais veuillez vérifier votre inventaire';
|
||||
$lang['sales_successfully_updated'] = 'Vente éditée';
|
||||
$lang['sales_unsuccessfully_updated'] = 'Échec d\'édition';
|
||||
$lang['sales_edit_sale'] = 'Éditer Vente';
|
||||
$lang['sales_employee'] = 'Employé';
|
||||
$lang['sales_successfully_deleted'] = 'Vente supprimée';
|
||||
$lang['sales_unsuccessfully_deleted'] = 'Échec de suppression';
|
||||
$lang['sales_delete_entire_sale'] = 'Supprimer Vente';
|
||||
$lang['sales_delete_confirmation'] = 'Etes vous sûr(e) de vouloir supprimer cette vente? Cette opération est irréversible.';
|
||||
$lang['sales_date'] = 'Date de Vente';
|
||||
$lang['sales_delete_successful'] = 'Suppréssion réussie';
|
||||
$lang['sales_delete_unsuccessful'] = 'Échec de suppression';
|
||||
$lang['sales_suspend_sale'] = 'Suspendre la Vente';
|
||||
$lang['sales_confirm_suspend_sale'] = 'Etes vous sûr(e) de vouloir suspendre cette vente?';
|
||||
$lang['sales_suspended_sales'] = 'Ventes Suspendues';
|
||||
$lang['sales_suspended_sale_id'] = 'ID';
|
||||
$lang['sales_date'] = 'Date';
|
||||
$lang['sales_comments'] = 'Commentaires';
|
||||
$lang['sales_unsuspend_and_delete'] = '';
|
||||
$lang['sales_unsuspend'] = 'Débloquer';
|
||||
$lang['sales_successfully_suspended_sale'] = 'Vente suspendue';
|
||||
$lang['sales_email_receipt'] = 'Recu par E-Mail';
|
||||
$lang['sales_discount_short']='%';
|
||||
$lang["sales_discount_included"]='% Remise';
|
||||
$lang['sales_sale_time']='Time';
|
||||
$lang['sales_payments_total'] = 'Total Paiments';
|
||||
$lang['sales_amount_due'] = 'Somme Due';
|
||||
$lang['sales_payment_type'] = "Type";
|
||||
$lang['sales_payment_amount'] = "Somme";
|
||||
$lang['sales_basic_information']='Information de Vente';
|
||||
?>
|
||||
17
application/language/fr/suppliers_lang.php
Normal file
17
application/language/fr/suppliers_lang.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
$lang['suppliers_new'] = 'Nouveau Fournisseur';
|
||||
$lang['suppliers_supplier'] = 'Fournisseur';
|
||||
$lang['suppliers_update'] = 'Éditer Fournisseur';
|
||||
$lang['suppliers_confirm_delete'] = 'Etes vous sûr(e) de vouloir supprimer ce(s) fournisseur(s)?';
|
||||
$lang['suppliers_none_selected'] = 'Vous n\\\'avez pas sélectionné de fournisseur à supprimer';
|
||||
$lang['suppliers_error_adding_updating'] = 'Error lors de l\'ajout/suppression de fournisseur';
|
||||
$lang['suppliers_successful_adding'] = 'Fournisseur ajouté avec succès';
|
||||
$lang['suppliers_successful_updating'] = 'Fournisseur édité avec succès';
|
||||
$lang['suppliers_successful_deleted'] = 'Suppression réussie';
|
||||
$lang['suppliers_one_or_multiple'] = 'fournisseur(s)';
|
||||
$lang['suppliers_cannot_be_deleted'] = 'Impossible de supprimer le(s) fournisseur(s) sélectionné(s). Un ou plusieurs ont des ventes.';
|
||||
$lang['suppliers_basic_information'] = 'Informations fournisseur';
|
||||
$lang['suppliers_account_number'] = '# Compte';
|
||||
$lang['suppliers_company_name'] = 'Nom d\'Entreprise';
|
||||
$lang['suppliers_company_name_required'] = 'Le Nom d\'Entreprise est un champ requis';
|
||||
?>
|
||||
Binary file not shown.
@@ -148,8 +148,9 @@ echo form_open('config/save/',array('id'=>'config_form'));
|
||||
'ru' => 'Russian',
|
||||
'nl-BE' => 'Dutch',
|
||||
'zh' => 'Chinese',
|
||||
'id' => 'Indonesia',
|
||||
'th' => 'Thailand'
|
||||
'id' => 'Indonesian',
|
||||
'fr' => 'French',
|
||||
'th' => 'Thai'
|
||||
),
|
||||
$this->config->item('language'));
|
||||
?>
|
||||
|
||||
@@ -599,7 +599,7 @@ CREATE TABLE `ospos_sales_suspended_payments` (
|
||||
|
||||
CREATE TABLE `ospos_sessions` (
|
||||
`session_id` varchar(40) NOT NULL DEFAULT '0',
|
||||
`ip_address` varchar(16) NOT NULL DEFAULT '0',
|
||||
`ip_address` varchar(45) NOT NULL DEFAULT '0',
|
||||
`user_agent` varchar(120) NOT NULL,
|
||||
`last_activity` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`user_data` text,
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
* NOTE: If you change these, also change the error_reporting() code below
|
||||
*
|
||||
*/
|
||||
define('ENVIRONMENT', 'production');
|
||||
define('ENVIRONMENT', 'development');
|
||||
/*
|
||||
*---------------------------------------------------------------
|
||||
* ERROR REPORTING
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
@@ -33,7 +33,7 @@
|
||||
* @var string
|
||||
*
|
||||
*/
|
||||
define('CI_VERSION', '2.1.0');
|
||||
define('CI_VERSION', '2.2.0');
|
||||
|
||||
/**
|
||||
* CodeIgniter Branch (Core = TRUE, Reactor = FALSE)
|
||||
@@ -353,6 +353,7 @@
|
||||
show_404("{$class}/{$method}");
|
||||
}
|
||||
}
|
||||
|
||||
// Call the requested method.
|
||||
// Any URI segments present (besides the class/function) will be passed to the method for convenience
|
||||
call_user_func_array(array(&$CI, $method), array_slice($URI->rsegments, 2));
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
@@ -187,7 +187,7 @@ if ( ! function_exists('load_class'))
|
||||
*/
|
||||
if ( ! function_exists('is_loaded'))
|
||||
{
|
||||
function is_loaded($class = '')
|
||||
function &is_loaded($class = '')
|
||||
{
|
||||
static $_is_loaded = array();
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
@@ -99,12 +99,12 @@ class CI_Config {
|
||||
$found = FALSE;
|
||||
$loaded = FALSE;
|
||||
|
||||
$check_locations = defined('ENVIRONMENT')
|
||||
? array(ENVIRONMENT.'/'.$file, $file)
|
||||
: array($file);
|
||||
|
||||
foreach ($this->_config_paths as $path)
|
||||
{
|
||||
$check_locations = defined('ENVIRONMENT')
|
||||
? array(ENVIRONMENT.'/'.$file, $file)
|
||||
: array($file);
|
||||
|
||||
foreach ($check_locations as $location)
|
||||
{
|
||||
$file_path = $path.'config/'.$location.'.php';
|
||||
@@ -168,7 +168,7 @@ class CI_Config {
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
show_error('The configuration file '.$file.'.php'.' does not exist.');
|
||||
show_error('The configuration file '.$file.'.php does not exist.');
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
@@ -279,7 +279,7 @@ class CI_Config {
|
||||
*/
|
||||
function base_url($uri = '')
|
||||
{
|
||||
return $this->slash_item('base_url').ltrim($this->_uri_string($uri),'/');
|
||||
return $this->slash_item('base_url').ltrim($this->_uri_string($uri), '/');
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
@@ -37,7 +37,7 @@ class CI_Controller {
|
||||
public function __construct()
|
||||
{
|
||||
self::$instance =& $this;
|
||||
|
||||
|
||||
// Assign all the class objects that were instantiated by the
|
||||
// bootstrap file (CodeIgniter.php) to local class variables
|
||||
// so that CI can run as one big super object.
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
@@ -73,13 +73,13 @@ class CI_Input {
|
||||
*/
|
||||
protected $headers = array();
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* Sets whether to globally enable the XSS processing
|
||||
* and whether to allow the $_GET array
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
@@ -306,51 +306,50 @@ class CI_Input {
|
||||
/**
|
||||
* Fetch the IP Address
|
||||
*
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
function ip_address()
|
||||
public function ip_address()
|
||||
{
|
||||
if ($this->ip_address !== FALSE)
|
||||
{
|
||||
return $this->ip_address;
|
||||
}
|
||||
|
||||
if (config_item('proxy_ips') != '' && $this->server('HTTP_X_FORWARDED_FOR') && $this->server('REMOTE_ADDR'))
|
||||
$proxy_ips = config_item('proxy_ips');
|
||||
if ( ! empty($proxy_ips))
|
||||
{
|
||||
$proxies = preg_split('/[\s,]/', config_item('proxy_ips'), -1, PREG_SPLIT_NO_EMPTY);
|
||||
$proxies = is_array($proxies) ? $proxies : array($proxies);
|
||||
$proxy_ips = explode(',', str_replace(' ', '', $proxy_ips));
|
||||
foreach (array('HTTP_X_FORWARDED_FOR', 'HTTP_CLIENT_IP', 'HTTP_X_CLIENT_IP', 'HTTP_X_CLUSTER_CLIENT_IP') as $header)
|
||||
{
|
||||
if (($spoof = $this->server($header)) !== FALSE)
|
||||
{
|
||||
// Some proxies typically list the whole chain of IP
|
||||
// addresses through which the client has reached us.
|
||||
// e.g. client_ip, proxy_ip1, proxy_ip2, etc.
|
||||
if (strpos($spoof, ',') !== FALSE)
|
||||
{
|
||||
$spoof = explode(',', $spoof, 2);
|
||||
$spoof = $spoof[0];
|
||||
}
|
||||
|
||||
$this->ip_address = in_array($_SERVER['REMOTE_ADDR'], $proxies) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
|
||||
if ( ! $this->valid_ip($spoof))
|
||||
{
|
||||
$spoof = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->ip_address = ($spoof !== FALSE && in_array($_SERVER['REMOTE_ADDR'], $proxy_ips, TRUE))
|
||||
? $spoof : $_SERVER['REMOTE_ADDR'];
|
||||
}
|
||||
elseif ($this->server('REMOTE_ADDR') AND $this->server('HTTP_CLIENT_IP'))
|
||||
{
|
||||
$this->ip_address = $_SERVER['HTTP_CLIENT_IP'];
|
||||
}
|
||||
elseif ($this->server('REMOTE_ADDR'))
|
||||
else
|
||||
{
|
||||
$this->ip_address = $_SERVER['REMOTE_ADDR'];
|
||||
}
|
||||
elseif ($this->server('HTTP_CLIENT_IP'))
|
||||
{
|
||||
$this->ip_address = $_SERVER['HTTP_CLIENT_IP'];
|
||||
}
|
||||
elseif ($this->server('HTTP_X_FORWARDED_FOR'))
|
||||
{
|
||||
$this->ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
}
|
||||
|
||||
if ($this->ip_address === FALSE)
|
||||
{
|
||||
$this->ip_address = '0.0.0.0';
|
||||
return $this->ip_address;
|
||||
}
|
||||
|
||||
if (strpos($this->ip_address, ',') !== FALSE)
|
||||
{
|
||||
$x = explode(',', $this->ip_address);
|
||||
$this->ip_address = trim(end($x));
|
||||
}
|
||||
|
||||
if ( ! $this->valid_ip($this->ip_address))
|
||||
{
|
||||
@@ -365,18 +364,70 @@ class CI_Input {
|
||||
/**
|
||||
* Validate IP Address
|
||||
*
|
||||
* Updated version suggested by Geert De Deckere
|
||||
*
|
||||
* @access public
|
||||
* @param string
|
||||
* @return string
|
||||
* @param string ipv4 or ipv6
|
||||
* @return bool
|
||||
*/
|
||||
function valid_ip($ip)
|
||||
public function valid_ip($ip, $which = '')
|
||||
{
|
||||
$which = strtolower($which);
|
||||
|
||||
// First check if filter_var is available
|
||||
if (is_callable('filter_var'))
|
||||
{
|
||||
switch ($which) {
|
||||
case 'ipv4':
|
||||
$flag = FILTER_FLAG_IPV4;
|
||||
break;
|
||||
case 'ipv6':
|
||||
$flag = FILTER_FLAG_IPV6;
|
||||
break;
|
||||
default:
|
||||
$flag = '';
|
||||
break;
|
||||
}
|
||||
|
||||
return (bool) filter_var($ip, FILTER_VALIDATE_IP, $flag);
|
||||
}
|
||||
|
||||
if ($which !== 'ipv6' && $which !== 'ipv4')
|
||||
{
|
||||
if (strpos($ip, ':') !== FALSE)
|
||||
{
|
||||
$which = 'ipv6';
|
||||
}
|
||||
elseif (strpos($ip, '.') !== FALSE)
|
||||
{
|
||||
$which = 'ipv4';
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
$func = '_valid_'.$which;
|
||||
return $this->$func($ip);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Validate IPv4 Address
|
||||
*
|
||||
* Updated version suggested by Geert De Deckere
|
||||
*
|
||||
* @access protected
|
||||
* @param string
|
||||
* @return bool
|
||||
*/
|
||||
protected function _valid_ipv4($ip)
|
||||
{
|
||||
$ip_segments = explode('.', $ip);
|
||||
|
||||
// Always 4 segments needed
|
||||
if (count($ip_segments) != 4)
|
||||
if (count($ip_segments) !== 4)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
@@ -385,6 +436,7 @@ class CI_Input {
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Check each segment
|
||||
foreach ($ip_segments as $segment)
|
||||
{
|
||||
@@ -401,6 +453,80 @@ class CI_Input {
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Validate IPv6 Address
|
||||
*
|
||||
* @access protected
|
||||
* @param string
|
||||
* @return bool
|
||||
*/
|
||||
protected function _valid_ipv6($str)
|
||||
{
|
||||
// 8 groups, separated by :
|
||||
// 0-ffff per group
|
||||
// one set of consecutive 0 groups can be collapsed to ::
|
||||
|
||||
$groups = 8;
|
||||
$collapsed = FALSE;
|
||||
|
||||
$chunks = array_filter(
|
||||
preg_split('/(:{1,2})/', $str, NULL, PREG_SPLIT_DELIM_CAPTURE)
|
||||
);
|
||||
|
||||
// Rule out easy nonsense
|
||||
if (current($chunks) == ':' OR end($chunks) == ':')
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// PHP supports IPv4-mapped IPv6 addresses, so we'll expect those as well
|
||||
if (strpos(end($chunks), '.') !== FALSE)
|
||||
{
|
||||
$ipv4 = array_pop($chunks);
|
||||
|
||||
if ( ! $this->_valid_ipv4($ipv4))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$groups--;
|
||||
}
|
||||
|
||||
while ($seg = array_pop($chunks))
|
||||
{
|
||||
if ($seg[0] == ':')
|
||||
{
|
||||
if (--$groups == 0)
|
||||
{
|
||||
return FALSE; // too many groups
|
||||
}
|
||||
|
||||
if (strlen($seg) > 2)
|
||||
{
|
||||
return FALSE; // long separator
|
||||
}
|
||||
|
||||
if ($seg == '::')
|
||||
{
|
||||
if ($collapsed)
|
||||
{
|
||||
return FALSE; // multiple collapsed
|
||||
}
|
||||
|
||||
$collapsed = TRUE;
|
||||
}
|
||||
}
|
||||
elseif (preg_match("/[^0-9a-f]/i", $seg) OR strlen($seg) > 4)
|
||||
{
|
||||
return FALSE; // invalid segment
|
||||
}
|
||||
}
|
||||
|
||||
return $collapsed OR $groups == 1;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* User Agent
|
||||
*
|
||||
@@ -515,8 +641,8 @@ class CI_Input {
|
||||
$_SERVER['PHP_SELF'] = strip_tags($_SERVER['PHP_SELF']);
|
||||
|
||||
|
||||
// CSRF Protection check
|
||||
if ($this->_enable_csrf == TRUE)
|
||||
// CSRF Protection check on HTTP requests
|
||||
if ($this->_enable_csrf == TRUE && ! $this->is_cli_request())
|
||||
{
|
||||
$this->security->csrf_verify();
|
||||
}
|
||||
@@ -710,11 +836,11 @@ class CI_Input {
|
||||
*
|
||||
* Test to see if a request was made from the command line
|
||||
*
|
||||
* @return boolean
|
||||
* @return bool
|
||||
*/
|
||||
public function is_cli_request()
|
||||
{
|
||||
return (php_sapi_name() == 'cli') or defined('STDIN');
|
||||
return (php_sapi_name() === 'cli' OR defined('STDIN'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
/**
|
||||
* CodeIgniter
|
||||
*
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
@@ -69,16 +69,16 @@ class CI_Security {
|
||||
* @access protected
|
||||
*/
|
||||
protected $_never_allowed_str = array(
|
||||
'document.cookie' => '[removed]',
|
||||
'document.write' => '[removed]',
|
||||
'.parentNode' => '[removed]',
|
||||
'.innerHTML' => '[removed]',
|
||||
'window.location' => '[removed]',
|
||||
'-moz-binding' => '[removed]',
|
||||
'<!--' => '<!--',
|
||||
'-->' => '-->',
|
||||
'<![CDATA[' => '<![CDATA[',
|
||||
'<comment>' => '<comment>'
|
||||
'document.cookie' => '[removed]',
|
||||
'document.write' => '[removed]',
|
||||
'.parentNode' => '[removed]',
|
||||
'.innerHTML' => '[removed]',
|
||||
'window.location' => '[removed]',
|
||||
'-moz-binding' => '[removed]',
|
||||
'<!--' => '<!--',
|
||||
'-->' => '-->',
|
||||
'<![CDATA[' => '<![CDATA[',
|
||||
'<comment>' => '<comment>'
|
||||
);
|
||||
|
||||
/* never allowed, regex replacement */
|
||||
@@ -89,34 +89,41 @@ class CI_Security {
|
||||
* @access protected
|
||||
*/
|
||||
protected $_never_allowed_regex = array(
|
||||
"javascript\s*:" => '[removed]',
|
||||
"expression\s*(\(|&\#40;)" => '[removed]', // CSS and IE
|
||||
"vbscript\s*:" => '[removed]', // IE, surprise!
|
||||
"Redirect\s+302" => '[removed]'
|
||||
'javascript\s*:',
|
||||
'expression\s*(\(|&\#40;)', // CSS and IE
|
||||
'vbscript\s*:', // IE, surprise!
|
||||
'Redirect\s+302',
|
||||
"([\"'])?data\s*:[^\\1]*?base64[^\\1]*?,[^\\1]*?\\1?"
|
||||
);
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// CSRF config
|
||||
foreach(array('csrf_expire', 'csrf_token_name', 'csrf_cookie_name') as $key)
|
||||
// Is CSRF protection enabled?
|
||||
if (config_item('csrf_protection') === TRUE)
|
||||
{
|
||||
if (FALSE !== ($val = config_item($key)))
|
||||
// CSRF config
|
||||
foreach (array('csrf_expire', 'csrf_token_name', 'csrf_cookie_name') as $key)
|
||||
{
|
||||
$this->{'_'.$key} = $val;
|
||||
if (FALSE !== ($val = config_item($key)))
|
||||
{
|
||||
$this->{'_'.$key} = $val;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Append application specific cookie prefix
|
||||
if (config_item('cookie_prefix'))
|
||||
{
|
||||
$this->_csrf_cookie_name = config_item('cookie_prefix').$this->_csrf_cookie_name;
|
||||
}
|
||||
// Append application specific cookie prefix
|
||||
if (config_item('cookie_prefix'))
|
||||
{
|
||||
$this->_csrf_cookie_name = config_item('cookie_prefix').$this->_csrf_cookie_name;
|
||||
}
|
||||
|
||||
// Set the CSRF hash
|
||||
$this->_csrf_set_hash();
|
||||
// Set the CSRF hash
|
||||
$this->_csrf_set_hash();
|
||||
}
|
||||
|
||||
log_message('debug', "Security Class Initialized");
|
||||
}
|
||||
@@ -130,15 +137,14 @@ class CI_Security {
|
||||
*/
|
||||
public function csrf_verify()
|
||||
{
|
||||
// If no POST data exists we will set the CSRF cookie
|
||||
if (count($_POST) == 0)
|
||||
// If it's not a POST request we will set the CSRF cookie
|
||||
if (strtoupper($_SERVER['REQUEST_METHOD']) !== 'POST')
|
||||
{
|
||||
return $this->csrf_set_cookie();
|
||||
}
|
||||
|
||||
// Do the tokens exist in both the _POST and _COOKIE arrays?
|
||||
if ( ! isset($_POST[$this->_csrf_token_name]) OR
|
||||
! isset($_COOKIE[$this->_csrf_cookie_name]))
|
||||
if ( ! isset($_POST[$this->_csrf_token_name], $_COOKIE[$this->_csrf_cookie_name]))
|
||||
{
|
||||
$this->csrf_show_error();
|
||||
}
|
||||
@@ -158,7 +164,7 @@ class CI_Security {
|
||||
$this->_csrf_set_hash();
|
||||
$this->csrf_set_cookie();
|
||||
|
||||
log_message('debug', "CSRF token verified ");
|
||||
log_message('debug', 'CSRF token verified');
|
||||
|
||||
return $this;
|
||||
}
|
||||
@@ -175,14 +181,9 @@ class CI_Security {
|
||||
$expire = time() + $this->_csrf_expire;
|
||||
$secure_cookie = (config_item('cookie_secure') === TRUE) ? 1 : 0;
|
||||
|
||||
if ($secure_cookie)
|
||||
if ($secure_cookie && (empty($_SERVER['HTTPS']) OR strtolower($_SERVER['HTTPS']) === 'off'))
|
||||
{
|
||||
$req = isset($_SERVER['HTTPS']) ? $_SERVER['HTTPS'] : FALSE;
|
||||
|
||||
if ( ! $req OR $req == 'off')
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
setcookie($this->_csrf_cookie_name, $this->_csrf_hash, $expire, config_item('cookie_path'), config_item('cookie_domain'), $secure_cookie);
|
||||
@@ -364,9 +365,9 @@ class CI_Security {
|
||||
* These words are compacted back to their correct state.
|
||||
*/
|
||||
$words = array(
|
||||
'javascript', 'expression', 'vbscript', 'script',
|
||||
'applet', 'alert', 'document', 'write', 'cookie', 'window'
|
||||
);
|
||||
'javascript', 'expression', 'vbscript', 'script', 'base64',
|
||||
'applet', 'alert', 'document', 'write', 'cookie', 'window'
|
||||
);
|
||||
|
||||
foreach ($words as $word)
|
||||
{
|
||||
@@ -524,38 +525,38 @@ class CI_Security {
|
||||
public function sanitize_filename($str, $relative_path = FALSE)
|
||||
{
|
||||
$bad = array(
|
||||
"../",
|
||||
"<!--",
|
||||
"-->",
|
||||
"<",
|
||||
">",
|
||||
"'",
|
||||
'"',
|
||||
'&',
|
||||
'$',
|
||||
'#',
|
||||
'{',
|
||||
'}',
|
||||
'[',
|
||||
']',
|
||||
'=',
|
||||
';',
|
||||
'?',
|
||||
"%20",
|
||||
"%22",
|
||||
"%3c", // <
|
||||
"%253c", // <
|
||||
"%3e", // >
|
||||
"%0e", // >
|
||||
"%28", // (
|
||||
"%29", // )
|
||||
"%2528", // (
|
||||
"%26", // &
|
||||
"%24", // $
|
||||
"%3f", // ?
|
||||
"%3b", // ;
|
||||
"%3d" // =
|
||||
);
|
||||
"../",
|
||||
"<!--",
|
||||
"-->",
|
||||
"<",
|
||||
">",
|
||||
"'",
|
||||
'"',
|
||||
'&',
|
||||
'$',
|
||||
'#',
|
||||
'{',
|
||||
'}',
|
||||
'[',
|
||||
']',
|
||||
'=',
|
||||
';',
|
||||
'?',
|
||||
"%20",
|
||||
"%22",
|
||||
"%3c", // <
|
||||
"%253c", // <
|
||||
"%3e", // >
|
||||
"%0e", // >
|
||||
"%28", // (
|
||||
"%29", // )
|
||||
"%2528", // (
|
||||
"%26", // &
|
||||
"%24", // $
|
||||
"%3f", // ?
|
||||
"%3b", // ;
|
||||
"%3d" // =
|
||||
);
|
||||
|
||||
if ( ! $relative_path)
|
||||
{
|
||||
@@ -613,21 +614,21 @@ class CI_Security {
|
||||
*/
|
||||
unset($evil_attributes[array_search('xmlns', $evil_attributes)]);
|
||||
}
|
||||
|
||||
|
||||
do {
|
||||
$count = 0;
|
||||
$attribs = array();
|
||||
|
||||
// find occurrences of illegal attribute strings without quotes
|
||||
preg_match_all("/(".implode('|', $evil_attributes).")\s*=\s*([^\s]*)/is", $str, $matches, PREG_SET_ORDER);
|
||||
|
||||
|
||||
// find occurrences of illegal attribute strings with quotes (042 and 047 are octal quotes)
|
||||
preg_match_all('/('.implode('|', $evil_attributes).')\s*=\s*(\042|\047)([^\\2]*?)(\\2)/is', $str, $matches, PREG_SET_ORDER);
|
||||
|
||||
foreach ($matches as $attr)
|
||||
{
|
||||
$attribs[] = preg_quote($attr[0], '/');
|
||||
}
|
||||
|
||||
// find occurrences of illegal attribute strings with quotes (042 and 047 are octal quotes)
|
||||
preg_match_all("/(".implode('|', $evil_attributes).")\s*=\s*(\042|\047)([^\\2]*?)(\\2)/is", $str, $matches, PREG_SET_ORDER);
|
||||
|
||||
// find occurrences of illegal attribute strings without quotes
|
||||
preg_match_all('/('.implode('|', $evil_attributes).')\s*=\s*([^\s>]*)/is', $str, $matches, PREG_SET_ORDER);
|
||||
|
||||
foreach ($matches as $attr)
|
||||
{
|
||||
@@ -637,11 +638,11 @@ class CI_Security {
|
||||
// replace illegal attribute strings that are inside an html tag
|
||||
if (count($attribs) > 0)
|
||||
{
|
||||
$str = preg_replace("/<(\/?[^><]+?)([^A-Za-z\-])(".implode('|', $attribs).")([\s><])([><]*)/i", '<$1$2$4$5', $str, -1, $count);
|
||||
$str = preg_replace('/(<?)(\/?[^><]+?)([^A-Za-z<>\-])(.*?)('.implode('|', $attribs).')(.*?)([\s><]?)([><]*)/i', '$1$2 $4$6$7$8', $str, -1, $count);
|
||||
}
|
||||
|
||||
|
||||
} while ($count);
|
||||
|
||||
|
||||
return $str;
|
||||
}
|
||||
|
||||
@@ -682,9 +683,15 @@ class CI_Security {
|
||||
*/
|
||||
protected function _js_link_removal($match)
|
||||
{
|
||||
$attributes = $this->_filter_attributes(str_replace(array('<', '>'), '', $match[1]));
|
||||
|
||||
return str_replace($match[1], preg_replace("#href=.*?(alert\(|alert&\#40;|javascript\:|livescript\:|mocha\:|charset\=|window\.|document\.|\.cookie|<script|<xss|base64\s*,)#si", "", $attributes), $match[0]);
|
||||
return str_replace(
|
||||
$match[1],
|
||||
preg_replace(
|
||||
'#href=.*?(alert\(|alert&\#40;|javascript\:|livescript\:|mocha\:|charset\=|window\.|document\.|\.cookie|<script|<xss|data\s*:)#si',
|
||||
'',
|
||||
$this->_filter_attributes(str_replace(array('<', '>'), '', $match[1]))
|
||||
),
|
||||
$match[0]
|
||||
);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
@@ -702,9 +709,15 @@ class CI_Security {
|
||||
*/
|
||||
protected function _js_img_removal($match)
|
||||
{
|
||||
$attributes = $this->_filter_attributes(str_replace(array('<', '>'), '', $match[1]));
|
||||
|
||||
return str_replace($match[1], preg_replace("#src=.*?(alert\(|alert&\#40;|javascript\:|livescript\:|mocha\:|charset\=|window\.|document\.|\.cookie|<script|<xss|base64\s*,)#si", "", $attributes), $match[0]);
|
||||
return str_replace(
|
||||
$match[1],
|
||||
preg_replace(
|
||||
'#src=.*?(alert\(|alert&\#40;|javascript\:|livescript\:|mocha\:|charset\=|window\.|document\.|\.cookie|<script|<xss|base64\s*,)#si',
|
||||
'',
|
||||
$this->_filter_attributes(str_replace(array('<', '>'), '', $match[1]))
|
||||
),
|
||||
$match[0]
|
||||
);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
@@ -819,14 +832,11 @@ class CI_Security {
|
||||
*/
|
||||
protected function _do_never_allowed($str)
|
||||
{
|
||||
foreach ($this->_never_allowed_str as $key => $val)
|
||||
{
|
||||
$str = str_replace($key, $val, $str);
|
||||
}
|
||||
$str = str_replace(array_keys($this->_never_allowed_str), $this->_never_allowed_str, $str);
|
||||
|
||||
foreach ($this->_never_allowed_regex as $key => $val)
|
||||
foreach ($this->_never_allowed_regex as $regex)
|
||||
{
|
||||
$str = preg_replace("#".$key."#i", $val, $str);
|
||||
$str = preg_replace('#'.$regex.'#is', '[removed]', $str);
|
||||
}
|
||||
|
||||
return $str;
|
||||
@@ -848,7 +858,7 @@ class CI_Security {
|
||||
// each page load since a page could contain embedded
|
||||
// sub-pages causing this feature to fail
|
||||
if (isset($_COOKIE[$this->_csrf_cookie_name]) &&
|
||||
$_COOKIE[$this->_csrf_cookie_name] != '')
|
||||
preg_match('#^[0-9a-f]{32}$#iS', $_COOKIE[$this->_csrf_cookie_name]) === 1)
|
||||
{
|
||||
return $this->_csrf_hash = $_COOKIE[$this->_csrf_cookie_name];
|
||||
}
|
||||
@@ -860,7 +870,6 @@ class CI_Security {
|
||||
}
|
||||
|
||||
}
|
||||
// END Security Class
|
||||
|
||||
/* End of file Security.php */
|
||||
/* Location: ./system/libraries/Security.php */
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 2.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
@@ -255,7 +255,7 @@ class CI_DB_active_record extends CI_DB_driver {
|
||||
*/
|
||||
public function from($from)
|
||||
{
|
||||
foreach ((array)$from as $val)
|
||||
foreach ((array) $from as $val)
|
||||
{
|
||||
if (strpos($val, ',') !== FALSE)
|
||||
{
|
||||
@@ -660,8 +660,12 @@ class CI_DB_active_record extends CI_DB_driver {
|
||||
$prefix = (count($this->ar_like) == 0) ? '' : $type;
|
||||
|
||||
$v = $this->escape_like_str($v);
|
||||
|
||||
if ($side == 'before')
|
||||
|
||||
if ($side == 'none')
|
||||
{
|
||||
$like_statement = $prefix." $k $not LIKE '{$v}'";
|
||||
}
|
||||
elseif ($side == 'before')
|
||||
{
|
||||
$like_statement = $prefix." $k $not LIKE '%{$v}'";
|
||||
}
|
||||
@@ -1400,7 +1404,7 @@ class CI_DB_active_record extends CI_DB_driver {
|
||||
}
|
||||
else
|
||||
{
|
||||
$not[] = $k.'-'.$v;
|
||||
$not[] = $k2.'-'.$v2;
|
||||
}
|
||||
|
||||
if ($escape === FALSE)
|
||||
@@ -1643,7 +1647,7 @@ class CI_DB_active_record extends CI_DB_driver {
|
||||
if (strpos($table, " ") !== FALSE)
|
||||
{
|
||||
// if the alias is written with the AS keyword, remove it
|
||||
$table = preg_replace('/ AS /i', ' ', $table);
|
||||
$table = preg_replace('/\s+AS\s+/i', ' ', $table);
|
||||
|
||||
// Grab the alias
|
||||
$table = trim(strrchr($table, " "));
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
@@ -265,6 +265,12 @@ class CI_DB_driver {
|
||||
$sql = preg_replace("/(\W)".$this->swap_pre."(\S+?)/", "\\1".$this->dbprefix."\\2", $sql);
|
||||
}
|
||||
|
||||
// Compile binds if needed
|
||||
if ($binds !== FALSE)
|
||||
{
|
||||
$sql = $this->compile_binds($sql, $binds);
|
||||
}
|
||||
|
||||
// Is query caching enabled? If the query is a "read type"
|
||||
// we will load the caching class and return the previously
|
||||
// cached query if it exists
|
||||
@@ -280,12 +286,6 @@ class CI_DB_driver {
|
||||
}
|
||||
}
|
||||
|
||||
// Compile binds if needed
|
||||
if ($binds !== FALSE)
|
||||
{
|
||||
$sql = $this->compile_binds($sql, $binds);
|
||||
}
|
||||
|
||||
// Save the query for debugging
|
||||
if ($this->save_queries == TRUE)
|
||||
{
|
||||
@@ -1015,8 +1015,14 @@ class CI_DB_driver {
|
||||
else
|
||||
{
|
||||
$args = (func_num_args() > 1) ? array_splice(func_get_args(), 1) : null;
|
||||
|
||||
return call_user_func_array($function, $args);
|
||||
if (is_null($args))
|
||||
{
|
||||
return call_user_func($function);
|
||||
}
|
||||
else
|
||||
{
|
||||
return call_user_func_array($function, $args);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1261,12 +1267,15 @@ class CI_DB_driver {
|
||||
|
||||
// If the item has an alias declaration we remove it and set it aside.
|
||||
// Basically we remove everything to the right of the first space
|
||||
$alias = '';
|
||||
if (strpos($item, ' ') !== FALSE)
|
||||
{
|
||||
$alias = strstr($item, " ");
|
||||
$alias = strstr($item, ' ');
|
||||
$item = substr($item, 0, - strlen($alias));
|
||||
}
|
||||
else
|
||||
{
|
||||
$alias = '';
|
||||
}
|
||||
|
||||
// This is basically a bug fix for queries that use MAX, MIN, etc.
|
||||
// If a parenthesis is found we know that we do not need to
|
||||
@@ -1382,9 +1391,20 @@ class CI_DB_driver {
|
||||
return $item.$alias;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Dummy method that allows Active Record class to be disabled
|
||||
*
|
||||
* This function is used extensively by every db driver.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function _reset_select()
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* End of file DB_driver.php */
|
||||
/* Location: ./system/database/DB_driver.php */
|
||||
/* Location: ./system/database/DB_driver.php */
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
/**
|
||||
* Code Igniter
|
||||
* CodeIgniter
|
||||
*
|
||||
* An open source application development framework for PHP 5.1.6 or newer
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author Esen Sagynov
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 2.0.2
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author Esen Sagynov
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author Esen Sagynov
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 2.0.2
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author Esen Sagynov
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
@@ -26,9 +26,9 @@
|
||||
*/
|
||||
class CI_DB_oci8_result extends CI_DB_result {
|
||||
|
||||
var $stmt_id;
|
||||
var $curs_id;
|
||||
var $limit_used;
|
||||
public $stmt_id;
|
||||
public $curs_id;
|
||||
public $limit_used;
|
||||
|
||||
/**
|
||||
* Number of rows in the result set.
|
||||
@@ -36,8 +36,6 @@ class CI_DB_oci8_result extends CI_DB_result {
|
||||
* Oracle doesn't have a graceful way to retun the number of rows
|
||||
* so we have to use what amounts to a hack.
|
||||
*
|
||||
*
|
||||
* @access public
|
||||
* @return integer
|
||||
*/
|
||||
public function num_rows()
|
||||
@@ -45,15 +43,15 @@ class CI_DB_oci8_result extends CI_DB_result {
|
||||
if ($this->num_rows === 0 && count($this->result_array()) > 0)
|
||||
{
|
||||
$this->num_rows = count($this->result_array());
|
||||
@oci_execute($this->stmt_id);
|
||||
@oci_execute($this->stmt_id, OCI_DEFAULT);
|
||||
|
||||
if ($this->curs_id)
|
||||
{
|
||||
@oci_execute($this->curs_id);
|
||||
@oci_execute($this->curs_id, OCI_DEFAULT);
|
||||
}
|
||||
}
|
||||
|
||||
return $rowcount;
|
||||
return $this->num_rows;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
* An open source application development framework for PHP 5.1.6 or newer
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @author EllisLab Dev Team
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 2.1.0
|
||||
* @since Version 2.1.2
|
||||
* @filesource
|
||||
*/
|
||||
|
||||
@@ -36,7 +36,7 @@ class CI_DB_pdo_driver extends CI_DB {
|
||||
var $_escape_char = '';
|
||||
var $_like_escape_str;
|
||||
var $_like_escape_chr;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* The syntax to count rows is slightly different across different
|
||||
@@ -45,29 +45,29 @@ class CI_DB_pdo_driver extends CI_DB {
|
||||
*/
|
||||
var $_count_string = "SELECT COUNT(*) AS ";
|
||||
var $_random_keyword;
|
||||
|
||||
|
||||
var $options = array();
|
||||
|
||||
function __construct($params)
|
||||
{
|
||||
parent::__construct($params);
|
||||
|
||||
|
||||
// clause and character used for LIKE escape sequences
|
||||
if (strpos($this->hostname, 'mysql') !== FALSE)
|
||||
{
|
||||
$this->_like_escape_str = '';
|
||||
$this->_like_escape_chr = '';
|
||||
|
||||
|
||||
//Prior to this version, the charset can't be set in the dsn
|
||||
if(is_php('5.3.6'))
|
||||
{
|
||||
$this->hostname .= ";charset={$this->char_set}";
|
||||
}
|
||||
|
||||
|
||||
//Set the charset with the connection options
|
||||
$this->options['PDO::MYSQL_ATTR_INIT_COMMAND'] = "SET NAMES {$this->char_set}";
|
||||
}
|
||||
else if (strpos($this->hostname, 'odbc') !== FALSE)
|
||||
elseif (strpos($this->hostname, 'odbc') !== FALSE)
|
||||
{
|
||||
$this->_like_escape_str = " {escape '%s'} ";
|
||||
$this->_like_escape_chr = '!';
|
||||
@@ -77,9 +77,9 @@ class CI_DB_pdo_driver extends CI_DB {
|
||||
$this->_like_escape_str = " ESCAPE '%s' ";
|
||||
$this->_like_escape_chr = '!';
|
||||
}
|
||||
|
||||
$this->hostname .= ";dbname=".$this->database;
|
||||
|
||||
|
||||
empty($this->database) OR $this->hostname .= ';dbname='.$this->database;
|
||||
|
||||
$this->trans_enabled = FALSE;
|
||||
|
||||
$this->_random_keyword = ' RND('.time().')'; // database specific random keyword
|
||||
@@ -94,7 +94,7 @@ class CI_DB_pdo_driver extends CI_DB {
|
||||
function db_connect()
|
||||
{
|
||||
$this->options['PDO::ATTR_ERRMODE'] = PDO::ERRMODE_SILENT;
|
||||
|
||||
|
||||
return new PDO($this->hostname, $this->username, $this->password, $this->options);
|
||||
}
|
||||
|
||||
@@ -189,18 +189,26 @@ class CI_DB_pdo_driver extends CI_DB {
|
||||
function _execute($sql)
|
||||
{
|
||||
$sql = $this->_prep_query($sql);
|
||||
$result_id = $this->conn_id->query($sql);
|
||||
|
||||
if (is_object($result_id))
|
||||
$result_id = $this->conn_id->prepare($sql);
|
||||
|
||||
if (is_object($result_id) && ($result = $result_id->execute()))
|
||||
{
|
||||
$this->affect_rows = $result_id->rowCount();
|
||||
if (is_numeric(stripos($sql, 'SELECT')))
|
||||
{
|
||||
$this->affect_rows = count($result_id->fetchAll());
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->affect_rows = $result_id->rowCount();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->affect_rows = 0;
|
||||
$result = FALSE;
|
||||
}
|
||||
|
||||
return $result_id;
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
* An open source application development framework for PHP 5.1.6 or newer
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @author EllisLab Dev Team
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 2.1.0
|
||||
* @since Version 2.1.2
|
||||
* @filesource
|
||||
*/
|
||||
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
* An open source application development framework for PHP 5.1.6 or newer
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @author EllisLab Dev Team
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 2.1.0
|
||||
* @since Version 2.1.2
|
||||
* @filesource
|
||||
*/
|
||||
|
||||
@@ -26,15 +26,27 @@
|
||||
*/
|
||||
class CI_DB_pdo_result extends CI_DB_result {
|
||||
|
||||
public $num_rows;
|
||||
|
||||
/**
|
||||
* Number of rows in the result set
|
||||
*
|
||||
* @access public
|
||||
* @return integer
|
||||
* @return int
|
||||
*/
|
||||
function num_rows()
|
||||
public function num_rows()
|
||||
{
|
||||
return $this->result_id->rowCount();
|
||||
if (is_int($this->num_rows))
|
||||
{
|
||||
return $this->num_rows;
|
||||
}
|
||||
elseif (($this->num_rows = $this->result_id->rowCount()) > 0)
|
||||
{
|
||||
return $this->num_rows;
|
||||
}
|
||||
|
||||
$this->num_rows = count($this->result_id->fetchAll());
|
||||
$this->result_id->execute();
|
||||
return $this->num_rows;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
* An open source application development framework for PHP 5.1.6 or newer
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @author EllisLab Dev Team
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 2.1.0
|
||||
* @since Version 2.1.2
|
||||
* @filesource
|
||||
*/
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
@@ -536,7 +536,7 @@ class CI_DB_sqlsrv_driver extends CI_DB {
|
||||
*/
|
||||
function _truncate($table)
|
||||
{
|
||||
return "TRUNCATE ".$table;
|
||||
return "TRUNCATE TABLE ".$table;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
@@ -60,7 +60,8 @@ class CI_DB_sqlsrv_forge extends CI_DB_forge {
|
||||
*/
|
||||
function _drop_table($table)
|
||||
{
|
||||
return "DROP TABLE ".$this->db->_escape_identifiers($table);
|
||||
return "IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = '"
|
||||
.$table."')) DROP TABLE [dbo].[".$table."]";
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
@@ -78,14 +79,12 @@ class CI_DB_sqlsrv_forge extends CI_DB_forge {
|
||||
*/
|
||||
function _create_table($table, $fields, $primary_keys, $keys, $if_not_exists)
|
||||
{
|
||||
$sql = 'CREATE TABLE ';
|
||||
|
||||
$sql = '';
|
||||
if ($if_not_exists === TRUE)
|
||||
{
|
||||
$sql .= 'IF NOT EXISTS ';
|
||||
$sql = "IF (NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = ";
|
||||
}
|
||||
|
||||
$sql .= $this->db->_escape_identifiers($table)." (";
|
||||
$sql .= $this->db->_escape_identifiers($table).")) CREATE TABLE ".$this->db->_escape_identifiers($table)." (";
|
||||
$current_field_count = 0;
|
||||
|
||||
foreach ($fields as $field=>$attributes)
|
||||
@@ -131,7 +130,7 @@ class CI_DB_sqlsrv_forge extends CI_DB_forge {
|
||||
|
||||
if (array_key_exists('AUTO_INCREMENT', $attributes) && $attributes['AUTO_INCREMENT'] === TRUE)
|
||||
{
|
||||
$sql .= ' AUTO_INCREMENT';
|
||||
$sql .= ' IDENTITY(1,1)';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,12 +236,10 @@ class CI_DB_sqlsrv_forge extends CI_DB_forge {
|
||||
*/
|
||||
function _rename_table($table_name, $new_table_name)
|
||||
{
|
||||
// I think this syntax will work, but can find little documentation on renaming tables in MSSQL
|
||||
$sql = 'ALTER TABLE '.$this->db->_protect_identifiers($table_name)." RENAME TO ".$this->db->_protect_identifiers($new_table_name);
|
||||
return $sql;
|
||||
return 'EXEC sp_rename '.$this->db->_protect_identifiers($table_name).", ".$this->db->_protect_identifiers($new_table_name);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* End of file mssql_forge.php */
|
||||
/* Location: ./system/database/drivers/mssql/mssql_forge.php */
|
||||
/* End of file sqlsrv_forge.php */
|
||||
/* Location: ./system/database/drivers/sqlsrv/sqlsrv_forge.php */
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
@@ -65,7 +65,7 @@ if ( ! function_exists('form_open'))
|
||||
$form .= '>';
|
||||
|
||||
// Add CSRF field if enabled, but leave it out for GET requests and requests to external websites
|
||||
if ($CI->config->item('csrf_protection') === TRUE AND ! (strpos($action, $CI->config->site_url()) === FALSE OR strpos($form, 'method="get"')))
|
||||
if ($CI->config->item('csrf_protection') === TRUE AND ! (strpos($action, $CI->config->base_url()) === FALSE OR strpos($form, 'method="get"')))
|
||||
{
|
||||
$hidden[$CI->security->get_csrf_token_name()] = $CI->security->get_csrf_hash();
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @package CodeIgniter
|
||||
* @author ExpressionEngine Dev Team
|
||||
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
|
||||
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
|
||||
* @license http://codeigniter.com/user_guide/license.html
|
||||
* @link http://codeigniter.com
|
||||
* @since Version 1.0
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user