shop.balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

d_seo_module.php (2569B)


      1 <?php
      2 class ModelExtensionModuleDSEOModule extends Model {
      3 	private $codename = 'd_seo_module';
      4 			
      5 	/*
      6 	*	Return list of installed SEO extensions.
      7 	*/
      8 	public function getInstalledSEOExtensions() {
      9 		$this->load->model('setting/setting');
     10 				
     11 		$installed_extensions = array();
     12 		
     13 		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "extension ORDER BY code");
     14 		
     15 		foreach ($query->rows as $result) {
     16 			$installed_extensions[] = $result['code'];
     17 		}
     18 		
     19 		$installed_seo_extensions = $this->model_setting_setting->getSetting('d_seo_extension');
     20 		$installed_seo_extensions = isset($installed_seo_extensions['d_seo_extension_install']) ? $installed_seo_extensions['d_seo_extension_install'] : array();
     21 		
     22 		$seo_extensions = array();
     23 		
     24 		$files = glob(DIR_APPLICATION . 'controller/extension/' . $this->codename . '/*.php');
     25 		
     26 		if ($files) {
     27 			foreach ($files as $file) {
     28 				$seo_extension = basename($file, '.php');
     29 				
     30 				if (in_array($seo_extension, $installed_extensions) && in_array($seo_extension, $installed_seo_extensions)) {
     31 					$seo_extensions[] = $seo_extension;
     32 				}
     33 			}
     34 		}
     35 		
     36 		return $seo_extensions;
     37 	}
     38 	
     39 	/*
     40 	*	Return list of languages.
     41 	*/
     42 	public function getLanguages() {
     43 		$this->load->model('localisation/language');
     44 		
     45 		$languages = $this->model_localisation_language->getLanguages();
     46 		
     47 		foreach ($languages as $key => $language) {
     48             if (VERSION >= '2.2.0.0') {
     49                 $languages[$key]['flag'] = 'language/' . $language['code'] . '/' . $language['code'] . '.png';
     50             } else {
     51                 $languages[$key]['flag'] = 'view/image/flags/' . $language['image'];
     52             }
     53         }
     54 		
     55 		return $languages;
     56 	}
     57 	
     58 	/*
     59 	*	Return list of stores.
     60 	*/
     61 	public function getStores() {
     62 		$this->load->model('setting/store');
     63 		
     64 		$result = array();
     65 		
     66 		$result[] = array(
     67 			'store_id' => 0, 
     68 			'name' => $this->config->get('config_name')
     69 		);
     70 		
     71 		$stores = $this->model_setting_store->getStores();
     72 		
     73 		if ($stores) {
     74 			foreach ($stores as $store) {
     75 				$result[] = array(
     76 					'store_id' => $store['store_id'],
     77 					'name' => $store['name']	
     78 				);
     79 			}	
     80 		}
     81 		
     82 		return $result;
     83 	}
     84 		
     85 	/*
     86 	*	Sort Array By Column.
     87 	*/
     88 	public function sortArrayByColumn($arr, $col, $dir = SORT_ASC) {
     89 		$sort_col = array();
     90 		$sort_key = array();
     91 		
     92 		foreach ($arr as $key => $row) {
     93 			$sort_key[$key] = $key;
     94 			
     95 			if (isset($row[$col])) {
     96 				$sort_col[$key] = $row[$col];
     97 			} else {
     98 				$sort_col[$key] = '';
     99 			}
    100 		}
    101 		
    102 		array_multisort($sort_col, $dir, $sort_key, SORT_ASC, $arr);
    103 		
    104 		return $arr;
    105 	}
    106 }