Merge branch 'master' into merge/padungsak

Conflicts:
	application/views/config.php
This commit is contained in:
jekkos-t520
2014-06-30 11:30:08 +02:00
138 changed files with 1387 additions and 1668 deletions

View File

@@ -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 */

View 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
?>

View 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
?>

View 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';
?>

View 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';
?>

View 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';
?>

View 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 */

View 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é';
?>

View File

@@ -0,0 +1,10 @@
<html>
<head>
<title>403 Interdit</title>
</head>
<body>
<p>Acces interdit à ce répertoire.</p>
</body>
</html>

View 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é';
?>

View 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
?>

View 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.';
?>

View 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';
?>

View 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';
?>

View 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';
?>

View 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';
?>

View 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';
?>

View File

Binary file not shown.

View File

@@ -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'));
?>

View File

@@ -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,

View File

@@ -18,7 +18,7 @@
* NOTE: If you change these, also change the error_reporting() code below
*
*/
define('ENVIRONMENT', 'production');
define('ENVIRONMENT', 'development');
/*
*---------------------------------------------------------------
* ERROR REPORTING

View File

@@ -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

View File

@@ -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));

View File

@@ -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();

View File

@@ -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), '/');
}
// -------------------------------------------------------------

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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'));
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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]',
'<!--' => '&lt;!--',
'-->' => '--&gt;',
'<![CDATA[' => '&lt;![CDATA[',
'<comment>' => '&lt;comment&gt;'
'document.cookie' => '[removed]',
'document.write' => '[removed]',
'.parentNode' => '[removed]',
'.innerHTML' => '[removed]',
'window.location' => '[removed]',
'-moz-binding' => '[removed]',
'<!--' => '&lt;!--',
'-->' => '--&gt;',
'<![CDATA[' => '&lt;![CDATA[',
'<comment>' => '&lt;comment&gt;'
);
/* 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 */

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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, " "));

View File

@@ -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

View File

@@ -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 */

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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;
}
// --------------------------------------------------------------------

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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;
}
// --------------------------------------------------------------------

View File

@@ -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
*/

View File

@@ -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;
}
// --------------------------------------------------------------------

View File

@@ -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
*/

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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;
}
// --------------------------------------------------------------------

View File

@@ -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 */

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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();
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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