Codeigniter-Frontend-Language-Files-Editor icon indicating copy to clipboard operation
Codeigniter-Frontend-Language-Files-Editor copied to clipboard

Exclude folder list

Open zedzedtop opened this issue 12 years ago • 0 comments

Configuration option to exclude some folders (.svn for exemple).

File application/models/model_language.php

--- model_language.php.old      2012-03-30 21:13:24.000000000 +0400
+++ model_language.php  2012-03-30 21:35:16.000000000 +0400
@@ -12,6 +12,49 @@

 class Model_language extends CI_Model {

+
+       /**
+       *       Constructor
+       *
+       * @return       void
+       */
+       function __construct(){
+               $this->exclude_folders = array();
+       }
+
+       /**
+       *       Add a list of folders. 
+       *
+       * @param array
+       * @return       void
+       */
+       function set_exclude_folder($flist = array()){
+               if(!empty($flist) && is_array($flist))
+                       $this->exclude_folders = $flist;
+       }
+
+       /**
+       *       Check if folder is valid and not exclude
+       *
+       * @param string Path
+       * @param string Folder name
+       * @return       boolean 
+       */
+       function get_folder_is_valid($path, $name){
+               if( empty($name) ||  $name == '.' || $name == '..' )
+                       return false;
+
+               if( !is_dir($path.$name) )
+                       return false;
+
+               foreach($this->exclude_folders as $folder){
+                       if( $name == $folder )
+                               return false;
+               }
+               return true;
+       }
+
+
        /**
         * Get list of languages based on /application_folder/languge/
         * and number of php files in it
@@ -23,7 +66,7 @@
                $dh  = opendir($dir);
                $i=0;
                while (false !== ($filename = readdir($dh))) {
-                       if($filename!=='.' && $filename!=='..' && is_dir($dir.$filename)){
+                       if($this->get_folder_is_valid($dir, $filename)){
                                $files[$i]['dir'] = $filename;
                                $files[$i]['count']=$this->get_count_lfiles($filename);
                                $i++;

File application/config/language_editor.php

--- language_editor.php.old     2012-03-30 21:36:51.000000000 +0400
+++ language_editor.php 2012-03-30 21:37:41.000000000 +0400
@@ -32,5 +32,11 @@
 $config['language_pattern'] = 1;
 $config['language_pattern_lang'] = 'french';

+/*
+* Exclude folders
+*
+*/
+$config['language_exclude_folders'] = array('.svn');
+
 /* End of file language_editor.php */
 /* Location: ./application/config/language_editor.php */

File application/controllers/language.php

--- language.php.old    2012-03-30 21:40:27.000000000 +0400
+++ language.php        2012-03-30 21:40:50.000000000 +0400
@@ -26,6 +26,7 @@
                $this->load->database(); //load database if youre not doing it in autoload
                $this->load->language('language','french'); //you can delete it if you have translation for you language
                $this->config->load('language_editor');
+               $this->model_language->set_exclude_folder($this->config->item('language_exclude_folders'));
        }

        function index(){

zedzedtop avatar Mar 30 '12 17:03 zedzedtop