Guest User

Untitled

a guest
Jan 18th, 2018
474
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 52.43 KB | None | 0 0
  1. <?php class ControllerModuleSuperseobox extends Controller { private $selfdata;private $defaultData;private $ssb_data;private $ssb_table;private $ssb_helper;private $ssb_category_template;private $error =array();private $success =array();function __construct(){ global $registry;parent::__construct($registry);require_once DIR_CONFIG.'ssb_library/ssb_data.php';$this->ssb_data=ssb_data::getInstance();require_once DIR_CONFIG.'ssb_library/ssb_table.php';$this->ssb_table=ssb_table::getInstance();require_once DIR_CONFIG.'ssb_library/ssb_helper.php';$this->ssb_helper=ssb_helper::getInstance();$this->verOC =$this->ssb_helper->getVerOC();require_once DIR_CONFIG.'ssb_library/ssb_category_template.php';$this->ssb_category_template=ssb_category_template::getInstance();unset($_SESSION['def_lang_code']);} public function install() { $_SESSION['install_section']=1;$this->ssb_vqmodManager("comment",array("ssb-admin-generate.xml","ssb-catalog-generate.xml"));$this->ssb_vqmodManager("clear");$this->db->query('ALTER TABLE '.DB_PREFIX.'setting MODIFY value MEDIUMTEXT;');$this->load->model('setting/setting');$config=$this->model_setting_setting->getSetting('config');$config['config_seo_url']=1;$this->model_setting_setting->editSetting('config',$config);$this->model_setting_setting->editSetting('paladin_first_install',array('paladin_first_install_value'=> 1));$this->ssb_vqmodManager("uncomment",array("ssb-admin-generate.xml","ssb-catalog-generate.xml"));$this->ssb_vqmodManager("clear");$this->checkInstallSetting();} public function uninstall(){ $this->ssb_data->delSetting();$this->ssb_vqmodManager("comment",array("ssb-admin-generate.xml","ssb-catalog-generate.xml"));$this->ssb_vqmodManager("clear");} public function doTask() { $this->log->write("ERROR - Paladin Cron: doTask.");$setting=$this->ssb_data->getSetting();$categoryEntity=$setting['categoryEntity'];$entity=$setting['entity'];echo 'startTask</br>';foreach($categoryEntity as $category=> $categoryData){ if($categoryData['cron']['status']){ $time_pre=microtime(true);$cicleMinutes=$categoryEntity[$category]['cron']['scheduled'] * 60;$lMinutes=$time_pre-$cicleMinutes;if($lMinutes < $categoryEntity[$category]['cron']['lastActivity']){ continue;} $categoryEntity[$category]['cron']['lastActivity']=microtime(true);$meta_Entites=$this->ssb_data->getMatadata('Entites');foreach($meta_Entites[$category] as $entity_name=> $val){ echo 'Do '.$category.'</br>';$entityData=$entity[$category][$entity_name]['data'];$metaData=array( "entity"=> $category.'-'.$entity_name,"action"=> "prepareGenerate" );$additionData=array('condition'=> 'gen_only_for_empty');$this->prepareGenerate(false,$metaData,$additionData);$this->processGenerate($entityData,$metaData,$additionData,false,true);} $currentCount=$this->ssb_data->getTotalGenerate();$categoryEntity[$category]['cron']['lastCount']=$currentCount['count'];$categoryEntity[$category]['cron']['totalCount']=$currentCount['count']+$categoryEntity[$category]['cron']['totalCount'];$time_post=microtime(true);$categoryEntity[$category]['cron']['lastDuration']=$time_post-$time_pre;} $setting['categoryEntity']=$categoryEntity;$this->ssb_data->setSetting($setting);} echo '</br>endTask';exit();} private function taskStatisticToNull($data,$metaData,$additionData) { $setting=$this->ssb_data->getSetting();$cron=$setting['categoryEntity'][$data]['cron'];$cron['lastActivity']=false;$cron['lastCount']=0;$cron['totalCount']=0;$setting['categoryEntity'][$data]['cron']=$cron;$this->ssb_data->setSetting($setting);$respond=array( 'status' => true,'alert' => 'Statistic data was removed!' );echo json_encode($respond);} private function checkInstallSetting(){ $this->load->model('setting/setting');if(!$this->model_setting_setting->getSetting('superseobox')){ $default_data=$this->ssb_data->getDefault();$default_data=$this->installLanguagePattern($default_data);$this->ssb_data->setSetting($default_data);$this->ssb_vqmodManager("uncomment",array("ssb-admin-generate.xml","ssb-catalog-generate.xml"));$this->ssb_vqmodManager("clear");} } private function installLanguagePattern($setting){ foreach($setting['entity'] as $entity_cat=> $val_cat){ foreach($val_cat as $entity=> $val){ if($entity=='CPBI_urls'){ foreach($val['data'] as $intern_entity_name=> $intern_entity_val){ $setting['entity'][$entity_cat][$entity]['data'][$intern_entity_name]['data']=$this->getLanguagePattern($intern_entity_val['pattern']);} } if($entity=='STAN_urls'){ $setting['entity'][$entity_cat][$entity]['data']=$this->getStanUrls($val['data']);} if(!isset($val['pattern'])) continue;$setting['entity'][$entity_cat][$entity]['data']=$this->getLanguagePattern($val['pattern']);} } return $setting;} private function getStanUrls($stan_urls){ $languages =$this->ssb_helper->getLanguages();$result =array();$i=0;foreach($stan_urls as $stan_url){ foreach ($languages as $l_code=> $language) { if(isset($result[$i])){ $result[$i][1][$l_code]=$stan_url[1];}else{ $result[$i]=array($stan_url[0],array($l_code=> $stan_url[1]));} } $i++;} return $result;} private function refreshStanUrls($stan_urls){ $languages =$this->ssb_helper->getLanguages();$defaultLanguage=$this->ssb_helper->getDefaultLanguage();$result =array();$i=0;foreach($stan_urls as $stan_url){ if(!is_array($stan_urls[$i][1])){ $stan_urls[$i][1]=array($defaultLanguage=> $stan_urls[$i][1]);} $i++;} $i=0;foreach($stan_urls as $stan_url){ foreach ($languages as $l_code=> $language) { if(!isset($stan_urls[$i][1][$l_code])){ $stan_urls[$i][1][$l_code]=$stan_url[1][$defaultLanguage];} } $i++;} $lang_code_array=array_keys($languages);$i=0;foreach($stan_urls as $stan_url){ $template_lang_code=array_keys($stan_urls[$i][1]);foreach($stan_urls[$i][1] as $lang_key=> $val){ if(!in_array($lang_key,$lang_code_array)){ unset($stan_urls[$i][1][$lang_key]);} } $i++;} return $stan_urls;} public function powerStatus($data) { if($data){ $this->ssb_vqmodManager("uncomment",array("ssb-admin-generate.xml","ssb-catalog-generate.xml"));}else{ $this->ssb_vqmodManager("comment",array("ssb-admin-generate.xml","ssb-catalog-generate.xml"));} $this->ssb_vqmodManager("clear");} private function addIframeData(){ if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS']=='on') || ($this->request->server['HTTPS']=='1'))) { $this->selfdata['base']=HTTPS_SERVER;} else { $this->selfdata['base']=HTTP_SERVER;} $this->selfdata['description']=$this->document->getDescription();$this->selfdata['keywords']=$this->document->getKeywords();$this->selfdata['links']=$this->document->getLinks();$this->selfdata['styles']=$this->document->getStyles();$this->selfdata['scripts']=$this->document->getScripts();$this->selfdata['lang']=$this->language->get('code');$this->selfdata['direction']=$this->language->get('direction');} public function index($template='index.tpl') { if($this->needUpdateVer()){ $this->doUpdateVer(false);} $this->checkInstallSetting();$this->load->model('setting/setting');$paladin_first_install=$this->model_setting_setting->getSetting('paladin_first_install');if(isset($paladin_first_install['paladin_first_install_value']) AND $paladin_first_install['paladin_first_install_value']==1){ $this->ssb_table->changeTables($this->ssb_data->getDBchange());$this->model_setting_setting->editSetting('paladin_first_install',array('paladin_first_install_value'=> 0));$this->model_setting_setting->deleteSetting('paladin_first_install');} $this->selfdata=$this->language->load('module/superseobox');$this->document->setTitle($this->language->get('heading_title'));if(isset($this->request->get["iframe"]) || isset($this->request->get["ajax"])){ $this->addIframeData();$this->setUpdateText();}else{ $this->selfdata['url_module']=$this->url->link('module/superseobox','token='.$this->session->data['token'].'&iframe=true','SSL');} $this->selfdata['breadcrumbs']=$this->getBreadCrumbs();$active_data =$this->ssb_data->getSetting();if($active_data===false)die('Not found setting. Please re-install Paladin.');if(!isset($active_data['version']))die('Not found setting. Please re-install Paladin.');$this->selfdata['version'] =$active_data['version'];$this->selfdata['text_start_process'] =$this->language->get('start_process');$this->selfdata['text_error'] =$this->language->get('text_error');$this->selfdata['must_between'] =$this->language->get('must_between');$this->selfdata['text_done'] =$this->language->get('text_done');$this->selfdata['text_all_done'] =$this->language->get('text_all_done');$this->selfdata['town_name_in'] =$this->language->get('town_name_in');$this->selfdata['text_seo_power'] =$this->language->get('text_seo_power');$this->ssb_helper->succErrInit($this->selfdata);$this->selfdata['breadcrumbs']=$this->getBreadCrumbs();$this->setDataForInterface();$this->setURLs();$this->selfdata['oc_data']=$this;$template=$this->ajax_page ? $this->ajax_page:'index.tpl';if($template=='index.tpl'){ $this->ssb_helper->setFunction(array('fns'=> 'setSetting'));} $this->doOutput('module/superseobox/'.$template,$this->selfdata);} private function doOutput($template,$data=array(),$children=true){ if($this->verOC < 20){ if(is_array($children) && count($children)){ $this->children=$children;}else if($children===false){ $this->children=array();}else{ $this->children=array( 'common/header','common/footer' );} $this->template=$template;$this->data=$data;$this->data['column_left']='';$this->response->setOutput( $this->render() );}else{ $this->selfdata=$data;$this->selfdata['header']=$this->load->controller('common/header');$this->selfdata['column_left']=$this->load->controller('common/column_left');$this->selfdata['footer']=$this->load->controller('common/footer');$this->response->setOutput($this->load->view($template,$this->selfdata));} } private function setSiteMapURL(){ $sql="SELECT keyword FROM ".DB_PREFIX."url_alias WHERE query = 'feed/google_sitemap';";$exist_keyword=$this->db->query($sql);if(!$exist_keyword->num_rows){ $sql="INSERT INTO ".DB_PREFIX."url_alias (query, keyword, auto_gen) VALUES ('feed/google_sitemap', 'sitemap.xml', 'STAN_urls');";$this->db->query($sql);} } private function saveSetting ($data,$metaData,$additionData){ if(!is_array($data))return 'All done!';if(isset($additionData['gener_descrip_prod_for_category']) AND $additionData['gener_descrip_prod_for_category'] !='' AND $additionData['gener_descrip_prod_for_category'] !='all'){ $categor_id=$additionData['gener_descrip_prod_for_category'];$data['entity']['descrip']['product']['category_data'][$categor_id]=$data['entity']['descrip']['product']['data'];unset($data['entity']['descrip']['product']['data']);} $active_data =$this->ssb_data->getSetting();if(isset($additionData['save_replacing_table'])){ $entityData=$this->parseEntity($metaData['entity']);if($entityData['category']['name']=='urls'){ $active_data['entity'][$entityData['category']['name']][$entityData['entity']['name']]['data'][$entityData['internal_entity']['name']]['replacing']='';}else{ $active_data['entity'][$entityData['category']['name']][$entityData['entity']['name']]['replacing']='';} } if(isset($additionData['changeSitemapStatus'])){ if($data['tools']['sitemap']['status']){ $sitemap_data=array('google_sitemap_status'=> 1);$this->setSiteMapURL();}else{ $sitemap_data=array('google_sitemap_status'=> 0);} $this->load->model('setting/setting');$this->model_setting_setting->editSetting('google_sitemap',$sitemap_data);} if(isset($data['tools']['lang_dir_link']['data']['mode'])){ if($data['tools']['lang_dir_link']['data']['mode'] !='default'){ $data['tools']['lang_dir_link']['status']=1;}else{ $data['tools']['lang_dir_link']['status']=0;} } $new_data=array_replace_recursive ($active_data,$data);if(isset($data['tools']['if_modified']['data'])){ $if_status=0;foreach($new_data['tools']['if_modified']['data'] as $stat){ if($stat)$if_status=1;} $new_data['tools']['if_modified']['status']=$if_status;} $this->ssb_data->setSetting($new_data);if(isset($data['tools']['soc_buttons']['data'])){ $this->ssb_data->updateSocButtonsStatus();} if(isset($data['powerStatus'])){ $this->powerStatus($data['powerStatus']);} return 'Saving done!';} public function refreshProdDescrip(){ $data=$this->request->post['data'];$category=$data['category'];$active_data =$this->ssb_data->getSetting();$entity_prod=$active_data['entity']['descrip']['product'];$active_data['entity']['descrip']=$this->getRefreshLangPattern($active_data['entity']['descrip']);$respond=array();if($data=='all'){ $respond=$entity_prod['data'];}else{ $respond=isset($entity_prod['category_data'][$category]) ? $entity_prod['category_data'][$category]:$entity_prod['data'];} $languages=$this->ssb_helper->getLanguages();foreach($respond as $lang_key=> $val){ if(!$languages[$lang_key]['status']) unset($respond[$lang_key]);} echo json_encode($respond);} public function ajax(){ $this->selfdata=$this->language->load('module/superseobox');list($request_data,$request_metaData,$request_additionData)=$this->parsePostAndGet();$func = $request_metaData['action'];$this->$func($request_data, $request_metaData, $request_additionData);} private function parsePostAndGet(){ $this->request->post=array_replace_recursive($this->request->post,$this->request->get);$data=array();$data[0]=isset($this->request->post['data']) ? $this->request->post['data']:'';$data[1]=isset($this->request->post['metaData']) ? $this->request->post['metaData']:'';$data[2]=isset($this->request->post['additionData']) ? $this->request->post['additionData']:'';return $data;} private function testGenerate($data,$metaData,$additionData=''){ $entityData=$this->parseEntity($metaData['entity']);$entity_cat=$entityData['category']['name'];$entity_name=$entityData['entity']['name'];$gen_data=$this->processGenerate($data,$metaData,$additionData,true);$data=array( 'total_items' => $gen_data['count'],'total_time'=> $gen_data['time'],'seo_text' => implode(' ',$gen_data['seo_data']),'status' => 'ajax-reload' );echo json_encode($data);} private function prepareGenerate($data,$metaData,$additionData=''){ $this->ssb_data->clearCache();if($data !==false){ $this->saveSetting ($data,$metaData,$additionData);} $entityData=$this->parseEntity($metaData['entity']);$entity_cat=$entityData['category']['name'];$entity_name=$entityData['entity']['name'];$internal_entity=$entityData['internal_entity']['name'];$this->ssb_data->setTotalGenerate(0,0);if($internal_entity){ $total_items=$this->ssb_data->getTotalItems($internal_entity,$entity_cat);}else{ $total_items=$this->ssb_data->getTotalItems($entity_name,$entity_cat);} if($entity_name=='STAN_urls'){ $total_genPack=0;}else{ if($internal_entity){ $total_genPack=$this->ssb_data->getGenPackTotal($internal_entity,$entity_cat);}else{ $total_genPack=$this->ssb_data->getGenPackTotal($entity_name,$entity_cat);} } if($data===false){ return;} $total_text=$this->language->get('found').' '.$total_items.' '.$this->language->get('items_for_generating').'.';$confirm_text=$entity_name=='all' ? $this->language->get('confirm_start_generator').' '.$entityData['category']['text_name'].' '.$this->language->get('for_all_pages'):$this->language->get('confirm_start_generator').' '.$entityData['category']['text_name'].' '.$this->language->get('for_pages_of').' '.$entityData['entity']['text_name'];$confirm_text.='<p class="info-area">'.$this->language->get('click_on_testing_generator').'</p>';$data=array( 'entity_category' => $entityData['category']['name'],'total_items' => $total_items,'total_genPack' => $total_genPack,'total_text' => $total_text,'confirm_text' => $confirm_text );echo json_encode($data);} private function startGenerate($data,$metaData,$additionData=''){ if(isset($additionData['gener_descrip_prod_for_category']) && $additionData['gener_descrip_prod_for_category'] !='all'){ $_SESSION['gener_descrip_prod_for_category']=$additionData['gener_descrip_prod_for_category'];} $this->ssb_data->setTotalGenerate(0,0);$entityData =$this->parseEntity($metaData['entity']);$entity_cat =$entityData['category']['name'];$entity_name =$entityData['entity']['name'];$internal_entity =$entityData['internal_entity']['name'];$this->parsePostAndGet();if(!(isset($additionData['condition']) AND ($additionData['condition'] == 'gen_only_for_empty' OR $additionData['condition'] == 'gen_append_to_end' OR isset($additionData['gener_lang']) AND $additionData['gener_lang']))){if(!(isset($additionData['gener_descrip_prod_for_category']) && $additionData['gener_descrip_prod_for_category'] !='all')){ include_once(DIR_CONFIG.'ssb_library/admin/generators/clearSEO.php');$clearSEO=clearSEO::getInstance();$clearSEO->clear($entityData);} } $data=array( 'process' => 'go' );echo json_encode($data);} private function processGenerate($data,$metaData,$additionData='',$testgenerator=false,$only_empty=false){ $entityData =$this->parseEntity($metaData['entity']);$entity_cat =$entityData['category']['name'];$entity_name =$entityData['entity']['name'];$internal_entity =$entityData['internal_entity']['name'];if(!isset($metaData['pack'])){ $metaData['pack']=0;} $CPBI_data=$this->ssb_data->getCPBI($entity_name,$entity_cat,$metaData['pack'],$internal_entity,$only_empty);if(!$testgenerator){ if($CPBI_data['total'] !=0 OR ($metaData['pack']==0 AND $entity_name=='STAN_urls')){ $process='go';}else{ $process='stop';} if(!$only_empty){ echo json_encode(array('process'=> $process,'pack'=> $metaData['pack']));} if($process=='stop'){ return false;} } $entity_name=$internal_entity ? $internal_entity:$entity_name;$file_data=$this->getFileGenerator($entity_cat);require_once($file_data['file']);$generator=call_user_func(array($file_data['class'],'getInstance'));$data=array( 'entity_cat' => $entity_cat,'entity_name'=> $entity_name,'testgenerator'=> $testgenerator,'additionData'=> $additionData,'pack' => $metaData['pack'],'only_empty'=> $only_empty );$gen_data=$generator->generate($data);$this->ssb_data->addTotalGenerate($gen_data['count'],$gen_data['time']);return $gen_data;} private function endGenerate($data,$metaData,$additionData=''){ $entityData =$this->parseEntity($metaData['entity']);$entity_cat =$entityData['category']['name'];$entity_name =$entityData['entity']['name'];$internal_entity=$entityData['internal_entity']['name'];$this->ssb_data->setEntityStatus(true,$entity_cat,$entity_name,$internal_entity);$this->ssb_data->setCategoryEntityStatus();$this->selfdata=$this->language->load('module/superseobox');$gen_data=$this->ssb_data->getTotalGenerate();$data=array( 'total_items' => $gen_data['count'],'total_time'=> $gen_data['time'],'alert_text'=> sprintf($this->language->get('alert_'.$metaData['action']),$entityData['category']['text_name'],$entityData['entity']['text_name'],$gen_data['count']),'status' => 'refresh','entityData'=> $entityData,'genStatus' => true,'power' => $this->ssb_data->getTotalPower() );if($entity_cat=='images'){ } $this->setSiteMapURL();unset($_SESSION['gener_descrip_prod_for_category']);echo json_encode($data);} private function getFileGenerator($entity_cat){ $file=DIR_CONFIG.'ssb_library/admin/generators/gen_'.$entity_cat.'.php';if (file_exists($file)) { $file_generator=DIR_CONFIG.'ssb_library/admin/generators/gen_'.$entity_cat.'.php';$class_generator='gen_'.$entity_cat;} else { $MD_CategoryEntites=$this->ssb_data->getMatadata('CategoryEntites');if(isset($MD_CategoryEntites[$entity_cat]['gen_file'])){ $file_generator=DIR_CONFIG.'ssb_library/admin/generators/'.$MD_CategoryEntites[$entity_cat]['gen_file'].'.php';$class_generator=$MD_CategoryEntites[$entity_cat]['gen_file'];}else{ echo 'error file generator';} } return array('file'=> $file_generator,'class'=> $class_generator);} private function changeAutoGenerate($data,$metaData,$additionData=''){ $this->saveSetting ($data,$metaData,$additionData);echo 1;} private function prepareClearGenerate($data,$metaData,$additionData=''){ $entityData =$this->parseEntity($metaData['entity']);$entity_cat =$entityData['category']['name'];$entity_name =$entityData['entity']['name'];$internal_entity =$entityData['internal_entity']['name'];if($internal_entity){ $total_items=$this->ssb_data->getTotalItems($internal_entity,$entity_cat);}else{ $total_items=$this->ssb_data->getTotalItems($entity_name,$entity_cat);} $total_text=$this->language->get('found').' '.$total_items.' '.$this->language->get('items_for_clearing').'.';$entity_name=$entityData['internal_entity']['name'] ? $entityData['internal_entity']['text_name']:$entityData['entity']['text_name'];if($entityData['entity']['name']=='CPBI_urls' AND !$entityData['internal_entity']['text_name']){ $entityData['entity']['name']='all';} $confirm_text=$entityData['entity']['name']=='all' ? $this->language->get('confirm_start_clearing').' '.$entityData['category']['text_name'].' '.$this->language->get('for_all_pages'):$this->language->get('confirm_start_clearing').' '.$entityData['category']['text_name'].' '.$this->language->get('for_pages_of').' '.$entity_name;$data=array( 'total_items' => $total_items,'total_text'=> $total_text,'confirm_text'=> $confirm_text );echo json_encode($data);} private function startClearGenerate($data,$metaData,$additionData=''){ $entityData=$this->parseEntity($metaData['entity']);include_once(DIR_CONFIG.'ssb_library/admin/generators/clearSEO.php');$clearSEO=clearSEO::getInstance();$clear_data=$clearSEO->clear($entityData,$data['area']);$this->ssb_data->setEntityStatus(false,$entityData['category']['name'],$entityData['entity']['name'],$entityData['internal_entity']['name']);$this->ssb_data->setCategoryEntityStatus();$entity_name=$entityData['internal_entity']['name'] ? $entityData['internal_entity']['text_name']:$entityData['entity']['text_name'];$data=array( 'total_items' => $clear_data['total_count'],'total_time'=> $clear_data['total_time'],'alert_text'=> sprintf($this->language->get('alert_'.$metaData['action']),$entityData['category']['text_name'],$entity_name,$clear_data['total_count']),'status' => 'refresh','entityData'=> $entityData,'genStatus' => false,'power' => $this->ssb_data->getTotalPower() );echo json_encode($data);} private function save($data,$metaData,$additionData=''){ $alert=$this->saveSetting ($data,$metaData,$additionData);$this->respondAnswer($metaData,$alert);} private function getTown($data,$metaData,$additionData=''){ $languages=$this->ssb_helper->getArrayLangCode();$wt=$this->ssb_data->getWT(true);$featureCode_data=isset($data['patternsSettings']['wt']['featureCode']) ? $data['patternsSettings']['wt']['featureCode']:'';$patternsSettings=$this->ssb_data->getSetting('patternsSettings');$featureCode_setting=$patternsSettings['wt']['featureCode'];$country_data=$data['patternsSettings']['wt']['country'];$country_setting=$patternsSettings['wt']['country'];if(!count($wt) OR $country_data !=$country_setting OR $featureCode_data !=$featureCode_setting){ include_once DIR_CONFIG.'ssb_library/admin/generators/geo_helper.php';$geo_helper=geo_helper::getInstance();$towns_data=array();foreach($languages as $l_code){ $towns=$geo_helper->getTowns($l_code,$country_data,$featureCode_data);$towns_data[$l_code]=$towns;} $wt=$this->ssb_data->getWT(true,$towns_data);} $data=array( 'featureCode'=> $featureCode_data,'country' => $country_data,'towns' => $wt,'languages' => $languages,'status' => 'ajax-reload' );echo json_encode($data);} private function getCountry($data,$metaData,$additionData=''){ $languages=$this->ssb_helper->getArrayLangCode();$wc=$this->ssb_data->getWC(true);$continent_data=isset($data['patternsSettings']['wc']['continent']) ? $data['patternsSettings']['wc']['continent']:'';$patternsSettings=$this->ssb_data->getSetting('patternsSettings');$continent_setting=$patternsSettings['wc']['continent'];if(!count($wc) OR $continent_data !=$continent_setting){ include_once DIR_CONFIG.'ssb_library/admin/generators/geo_helper.php';$geo_helper=geo_helper::getInstance();$continents_data=array();foreach($languages as $l_code){ $continents=$geo_helper->getCountries($l_code,$continent_data);$continents_data[$l_code]=$continents;$this->ssb_data->setWC($continents,$l_code);} $wc=$this->ssb_data->getWC(true,$continents_data);} $data=array( 'continent' => $continent_data,'continents' => $wc,'languages' => $languages,'status' => 'ajax-reload' );echo json_encode($data);} private function getAjaxPage($data,$metaData,$additionData){ $this->index('i_content.tpl');} private function getModal($data,$metaData,$additionData){ if(isset($additionData['function'])){ $function=$additionData['function'];$func_data=isset($additionData['data']) ? $additionData['data']:'';call_user_func(array($this,$function),$func_data);} $this->selfdata['patterns'] =$this->ssb_data->getPatterns('info');$this->selfdata['patterns_setting']=$this->ssb_data->getPatterns('setting');$this->selfdata['data']=$this->ssb_data->getSetting();$this->setURLs();$this->doOutput('module/superseobox/'.$data['m_name'].'.tpl',$this->selfdata,false);} private function getGenEditorContent($data,$metaData,$additionData){ $this->setURLs();$this->selfdata['type'] =$type=$data['type'];$this->selfdata['content'] =$this->ssb_data->getTotalSEOField($data);if(isset($this->selfdata['content']['need_language_id'])){ $data['need_language_id']=$this->selfdata['content']['need_language_id'];} $this->selfdata['lang_default'] =isset($data['need_language_id']) ? $this->ssb_helper->getLang_Code_Id((int)$data['need_language_id']):$this->ssb_helper->getDefaultLanguage();$this->selfdata['languages'] =$this->ssb_helper->getAssocArrayLangCode();$this->selfdata['languages_array'] =$this->ssb_helper->getAssocArrayCodeLang();$this->doOutput('module/superseobox/seo_edit/edit_list/'.$type.'.tpl',$this->selfdata,false);} private function saveGenEditorContent($data,$metaData,$additionData){ if(isset($this->request->post['del_array'])){ $data['del_array']=$this->request->post['del_array'];$respond=$this->ssb_data->saveGenEditorContent($data);echo $respond;}else{ if(!isset($this->request->post['name']))return;$data['table'] =$this->request->post['name'];$data['value'] =$this->request->post['value'];$data['item_type']=$this->request->post['pk']['type'];$data['item_id']=$this->request->post['pk']['id'];$data['lang_id']=$this->request->post['pk']['lang_id'];$data['column'] =$this->request->post['pk']['col'];$respond=$this->ssb_data->saveGenEditorContent($data);if(!$data['item_id']){ echo $respond;} } } private function newSupport($data,$metaData,$additionData){ $this->language->load('module/superseobox');$respond=array();if ($this->validate()) { if (strlen($this->request->post['mail_name']) < 5 || strlen($this->request->post['mail_name']) > 32) { $respond['error'][]=$this->language->get('mail_error_name');} if ((strlen($this->request->post['mail_email']) > 96) || !preg_match('/^[^\@]+@.*\.[a-z]{2,6}$/i',$this->request->post['mail_email'])) { $respond['error'][]=$this->language->get('mail_error_email');} if (strlen($this->request->post['mail_order_id']) < 3 || (int)$this->request->post['mail_order_id']==0) { $respond['error'][]=$this->language->get('mail_error_order_id');} if (strlen($this->request->post['mail_message']) < 20 || strlen($this->request->post['mail_message']) > 2400) { $respond['error'][]=$this->language->get('mail_error_message');} if (!$respond) { $subject='[Paladin SEO Manager] ('.$this->request->post['type'].') '.$this->request->post['mail_name'];$message='Order ID: '.$this->request->post['mail_order_id']."\n\n";$message.=$this->request->post['mail_message'];$mail=new Mail();$mail->protocol=$this->config->get('config_mail_protocol');$mail->parameter=$this->config->get('config_mail_parameter');$mail->hostname=$this->config->get('config_smtp_host');$mail->username=$this->config->get('config_smtp_username');$mail->password=$this->config->get('config_smtp_password');$mail->port=$this->config->get('config_smtp_port');$mail->timeout=$this->config->get('config_smtp_timeout');$mail->setTo('oc.paladinseo@gmail.com');$mail->setFrom($this->request->post['mail_email']);$mail->setSender($this->request->post['mail_name']);$mail->setSubject(html_entity_decode($subject,ENT_QUOTES,'UTF-8'));$mail->setText(html_entity_decode($message,ENT_QUOTES,'UTF-8'));$mail->send();$json['success']=$this->language->get('mail_success');} } if(!isset($respond['error'])){ if($this->request->post['type']=='SUPPORT'){ $text=$this->language->get('success_conacted_paladin_1');}elseif($this->request->post['type']=='IMPROVE'){ $text=$this->language->get('success_conacted_paladin_2');} $respond['alert']=$text;$this->ssb_data->setClientData($this->request->post['mail_name'],$this->request->post['mail_order_id'],$this->request->post['mail_email']);} echo json_encode($respond);} private function newImport($data,$metaData,$additionData){ $respond=array();$data=json_decode(base64_decode($data['import']),true);if(!is_array($data)) { $respond['error'][]=$this->language->get('import_corrupted');}else{ $this->ssb_data->setSetting($data);$respond['alert']=$this->language->get('import_success');} echo json_encode($respond);} private function newExport($data,$metaData,$additionData){ $this->language->load('module/superseobox');$export_data=$this->ssb_data->getSetting();$export_data=base64_encode(json_encode($export_data));$respond=array( 'data' => $export_data,'alert' => $this->language->get('text_get_export') );echo json_encode($respond);} private function setReplacingData($data){ $this->selfdata=$this->language->load('module/superseobox');list($entity_cat,$CPBI) =$data;if($CPBI=='CPBI_urls' AND isset($data[2])){ $CPBI=$data[2];} $this->selfdata['entity_cat'] =$entity_cat;$this->selfdata['CPBI'] =$CPBI;$meta_CPBI=$this->ssb_data->getMatadata('CPBI');$this->selfdata['MD_CPBI_parameters']=$meta_CPBI[$CPBI]['parameters'];$this->selfdata['pattern_info']=$this->ssb_data->getPatterns('info');$this->selfdata['replacing']=$this->ssb_data->getReplacingArr($entity_cat,$CPBI);} private function getStores(){ $this->language->load('setting/store');$this->load->model('setting/store');$stores=array();$stores[]=array( 'store_id'=> 0,'name' => $this->config->get('config_name').$this->language->get('text_default') );$results=$this->model_setting_store->getStores();foreach ($results as $result) { $stores[]=array( 'store_id'=> $result['store_id'],'name' => $result['name'] );} return $stores;} private function getCategories(){ $data=$this->ssb_data->getCPBI('category');$categories=array();foreach ($data['data'] as $category=> $val) { if(!isset($val[$this->ssb_helper->getDefaultLanguage()]['cn'])){ foreach($val as $v=> $va){ $name=$va['cn'];} }else{ $name=$val[$this->ssb_helper->getDefaultLanguage()]['cn'];} $categories[]=array( 'category_id'=> $category,'name' => $name );} return $categories;} private function setURLs(){ $urls=array( 'action'=> $this->url->link('module/superseobox','token='.$this->session->data['token'],'SSL'),'info'=> $this->url->link('module/superseobox/info','token='.$this->session->data['token'],'SSL'),'cancel'=> $this->url->link('extension/module','token='.$this->session->data['token'],'SSL'),'ajax'=> $this->url->link('module/superseobox/ajax','token='.$this->session->data['token'],'SSL'),'support'=> 'http://smartshopbox.com/support/getproducts/','license_error'=> $this->url->link('module/superseobox/ajax','token='.$this->session->data['token'].'&metaData[action]=getModal&data[m_name]=support/license_error','SSL'),'param_setting_descrip'=> $this->url->link('module/superseobox/ajax','token='.$this->session->data['token'].'&metaData[action]=getModal&data[m_name]=seo_generator/modal/param_setting_descrip','SSL'),'param_descrip'=> $this->url->link('module/superseobox/ajax','token='.$this->session->data['token'].'&metaData[action]=getModal&data[m_name]=seo_generator/modal/param_descrip','SSL'),'about_info'=> $this->url->link('module/superseobox/ajax','token='.$this->session->data['token'].'&metaData[action]=getModal&data[m_name]=about_info','SSL'),'about_url'=> 'http://smartshopbox.com/support/getproducts.php?exception=psm-full','seo_edit_save' => $this->url->link('module/superseobox/ajax','token='.$this->session->data['token'].'&metaData[action]=saveGenEditorContent','SSL') );$this->selfdata['urls']=$urls;} private function getBreadCrumbs(){ $this->language->load('module/superseobox');$breadcrumbs=array();$breadcrumbs[]=array( 'text' => $this->language->get('text_home'),'href' => $this->url->link('common/home','token='.$this->session->data['token'],'SSL'),'separator'=> false );$breadcrumbs[]=array( 'text' => $this->language->get('text_module'),'href' => $this->url->link('extension/module','token='.$this->session->data['token'],'SSL'),'separator'=> ' :: ' );$breadcrumbs[]=array( 'text' => $this->language->get('heading_title'),'href' => $this->url->link('module/superseobox','token='.$this->session->data['token'],'SSL'),'separator'=> ' :: ' );return $breadcrumbs;} private function setDataForInterface(){ $active_data =$this->ssb_data->getSetting();if($active_data===false)die('Not found setting. Please re-install Paladin.');if(!isset($active_data['version']))die('Not found setting. Please re-install Paladin.');$this->selfdata['description']=$this->document->getDescription();$this->selfdata['keywords']=$this->document->getKeywords();$this->selfdata['links']=$this->document->getLinks();$this->selfdata['styles']=$this->document->getStyles();$this->selfdata['scripts']=$this->document->getScripts();$this->selfdata['lang']=$this->language->get('code');$this->selfdata['direction']=$this->language->get('direction');$this->selfdata['languages']=$this->ssb_helper->getLanguages();$this->selfdata['active_lang_code']=$this->ssb_helper->getDefaultLanguage();$this->selfdata['active_lang_id'] =$this->ssb_helper->getLang_Code_Id($this->selfdata['active_lang_code']);foreach($active_data['entity'] as $entity_cat=> $val_cat){ foreach($val_cat as $entity=> $val){ if($entity=='CPBI_urls'){ foreach($val['data'] as $internal_entity=> $internal_val){ if(!isset($internal_val['pattern'])) continue;$active_data['entity'][$entity_cat][$entity]['data']=$this->getRefreshLangPattern($active_data['entity'][$entity_cat][$entity]['data']);} }elseif($entity=='STAN_urls'){ $active_data['entity'][$entity_cat][$entity]['data']=$this->refreshStanUrls($active_data['entity'][$entity_cat][$entity]['data']);}else{ if(!isset($val['pattern'])) continue;$active_data['entity'][$entity_cat]=$this->getRefreshLangPattern($active_data['entity'][$entity_cat]);} } } $this->ssb_data->setSetting($active_data);$this->selfdata['MD_CategoryEntites'] =$this->ssb_data->getMatadata('CategoryEntites');$this->selfdata['clientData'] =$this->ssb_data->getClientData();$this->selfdata['direction'] =$this->language->get('direction');$this->selfdata['version'] =$active_data['version'];$this->selfdata['data'] =$active_data;$this->selfdata['HTTP_SERVER'] =HTTP_SERVER;$this->selfdata['patterns'] =$this->ssb_data->getPatterns('info');$this->selfdata['patterns_setting']=$this->ssb_data->getPatterns('setting');$this->selfdata['MD_PatternAddVal']=$this->ssb_data->getMatadata('PatternAddVal');$this->selfdata['CPBI_parameters'] =$this->ssb_data->getMatadata('CPBI',array('val'=>'parameters'));$this->selfdata['CPBI_keys'] =$this->ssb_data->getMatadata('CPBI',array('keys'=> true));$this->selfdata['categories'] =$this->getCategories();$this->selfdata['seo_power'] =$this->ssb_data->getTotalPower();$this->load->model('superseobox/index');$this->selfdata['wc_countries'] =$this->model_superseobox_index->getCountries();$this->selfdata['wc_continents'] =$this->model_superseobox_index->getContinents();$this->selfdata['token'] =$this->session->data['token'];$this->selfdata['stores'] =$this->getStores();$this->selfdata['siteSetting'] =$this->getSiteSetting();$this->selfdata['addons'] =$this->ssb_data->getAddons(array('paladinSiteMapGenerator','prmod'));} private function respondAnswer($metaData,$alert='',$data='',$status=true){ if(isset($metaData['entity'])){ $entityData=$this->parseEntity($metaData['entity']);$this->language->load('module/superseobox');;if(!isset($this->request->post['additionData']['save_replacing_table'])){ $alert=sprintf($this->language->get('alert_'.$metaData['action']),$entityData['category']['text_name'],$entityData['entity']['text_name']);} } $respond=array( 'status' => $status,'data' => $data,'alert' => $alert,'power' => $this->ssb_data->getTotalPower() );echo json_encode($respond);} private function getSiteSetting (){ $ss=array('stores'=> array());$this->load->model('setting/setting');$stores=$this->getStores();foreach ($stores as $store) { $config=$this->model_setting_setting->getSetting('config',$store['store_id']);$config['config_secure']=isset($config['config_secure']) ? $config['config_secure']:0;$site_url =$config['config_secure'] ? HTTPS_CATALOG:HTTP_CATALOG;$site_url =isset($config['config_url']) ? $config['config_url']:$site_url;$site_url=str_replace("http://","",$site_url);$site_url=str_replace("https://","",$site_url);$site_url=$config['config_secure'] ? "https://".$site_url:"http://".$site_url;if(isset($config['config_logo'])){ $site_logo=trim($site_url,'/').'/'.'image/'.$config['config_logo'];$site_logo=$config['config_logo'] ? $site_logo:'';}else{ $site_logo='';} $ss['stores'][$store['store_id']]=array( 'email' => isset($config['config_email']) ? $config['config_email']:'','name' => isset($config['config_name']) ? $config['config_name']:'','telephone'=> isset($config['config_telephone']) ? $config['config_telephone']:'','logo' => $site_logo,'url' => $site_url );} $config=$this->model_setting_setting->getSetting('config');$this->load->model('localisation/zone');if(isset($config['config_zone_id'])){$zone=$this->model_localisation_zone->getZone($config['config_zone_id']);}else{$zone=array();} $ss["address"]=array( "addressLocality"=> isset($zone['name']) ? $zone['name']:'',"addressRegion"=> isset($zone['code']) ? $zone['code']:'',"postalCode"=> "","streetAddress"=> isset($config['config_address']) ? $config['config_address']:'' );$ss["search_box"]=array('search_url'=> $this->url->link('product/search','search={search_term_string}')); if(defined(HTTP_CATALOG)){$ss["search_box"] = str_replace(HTTP_SERVER, HTTP_CATALOG, $ss["search_box"]);}else{$http_server = rtrim(HTTP_SERVER, '/');$admin_folder = explode("/", $http_server);$admin_folder = end($admin_folder); if($admin_folder)$ss["search_box"] = str_replace('/' . $admin_folder, '', $ss["search_box"]);} return $ss;} private function parseEntity ($entityData){ $this->language->load('module/superseobox');;$entityData=explode("-",$entityData);$respond_entity['category']=array( 'name' => $entityData[0],'text_name'=> $this->language->get('text_category_name_'.$entityData[0]) );$respond_entity['entity']=array( 'name' => $entityData[1],'text_name'=> $this->language->get('text_entity_name_'.$entityData[1]) );$respond_entity['internal_entity']=array('name'=> '','text_name'=> '');if(isset($entityData[2])){ $respond_entity['internal_entity']=array( 'name' => $entityData[2],'text_name'=> $this->language->get('text_entity_name_'.$entityData[2]) );} return $respond_entity;} private function getRefreshLangPattern($entity_categ){ $languages=$this->ssb_helper->getLanguages();foreach($languages as $l_code=> $language){ foreach($entity_categ as $entity_key=> $val){ if(!isset($val['data'][$l_code])){ $patterns=$this->getLanguagePattern($val['pattern']);$entity_categ[$entity_key]['data'][$l_code]=$patterns[$l_code];} } } $lang_code_array=array_keys($languages);foreach($entity_categ as $entity_key=> $val){ foreach($val['data'] as $lang_key=> $val){ if (!in_array($lang_key,$lang_code_array)) { unset($entity_categ[$entity_key]['data'][$lang_key]);} } } return $entity_categ;} private function getLanguagePattern($val){ $languages=$this->ssb_helper->getLanguages();$patterns =array();foreach ($languages as $l_code=> $language) { $patterns[$l_code]=$val;} return $patterns;} private function setReviewTemlateData(){ $this->selfdata['review_text']=$this->ssb_data->getReviewText();$this->selfdata['languages']=$this->ssb_helper->getLanguages();$this->selfdata['patterns_setting']=$this->ssb_data->getPatterns('setting');$this->selfdata['MD_PatternAddVal']=$this->ssb_data->getMatadata('PatternAddVal');} private function setReviewNameData(){ $this->selfdata['content']=$this->ssb_data->getReviewName();$this->selfdata['languages']=$this->ssb_helper->getLanguages();} private function saveReviewName($data){ require_once DIR_CONFIG.'ssb_library/admin/generators/ssb_review.php';$ssb_review=ssb_review::getInstance();$ssb_review->save($data,'review_name');$this->respondAnswer('',"Saving done!");} private function saveReviewTemplate($data){ require_once DIR_CONFIG.'ssb_library/admin/generators/ssb_review.php';$ssb_review=ssb_review::getInstance();$ssb_review->save($data,'review_template');$this->respondAnswer('',"Saving done!");} private function deleteReviewName($data){ require_once DIR_CONFIG.'ssb_library/admin/generators/ssb_review.php';$ssb_review=ssb_review::getInstance();$ssb_review->delete($data,'review_name');$this->respondAnswer('',"Deleting done!");} private function deleteReviewText($data){ require_once DIR_CONFIG.'ssb_library/admin/generators/ssb_review.php';$ssb_review=ssb_review::getInstance();$ssb_review->delete($data,'review_template');$this->respondAnswer('',"Deleting done!");} private function getNameByCode($data){ $content=$this->ssb_data->getReviewName($data);$this->selfdata['l_data'] =$content['names'][$data['l_code']];$this->selfdata['pagination'] =$content['pagination'];$this->selfdata['l_code'] =$data['l_code'];$this->setURLs();$this->doOutput('module/superseobox/seo_generator/modal/review_name_list.tpl',$this->selfdata,false);} private function deleteAllRewievItem($data){ require_once DIR_CONFIG.'ssb_library/admin/generators/ssb_review.php';$ssb_review=ssb_review::getInstance();$ssb_review->deleteAll($data);$this->respondAnswer('',"Deleting done!",$data);} private function restoreAllRewievItem($data){ require_once DIR_CONFIG.'ssb_library/admin/generators/ssb_review.php';$ssb_review=ssb_review::getInstance();$ssb_review->restoreAll($data);$this->respondAnswer('',"Restoring done!",$data);} private function setCategoryTemplateData($data){ $this->selfdata=$this->language->load('module/superseobox');list($entity_cat,$CPBI) =$data;$this->selfdata['languages']=$this->ssb_helper->getLanguages();$this->selfdata['active_lang_code']=$this->ssb_helper->getDefaultLanguage();$this->getCategoryTemplateData($data,false);} private function getCategoryTemplateData($data,$render=true){ $this->language->load('catalog/category');$this->load->model('catalog/category');$this->selfdata['CPBI_parameters'] =$this->ssb_data->getMatadata('CPBI',array('val'=>'parameters'));$this->selfdata['patterns'] =$this->ssb_data->getPatterns('info');$this->selfdata['patterns_setting']=$this->ssb_data->getPatterns('setting');$this->selfdata['MD_PatternAddVal']=$this->ssb_data->getMatadata('PatternAddVal');$this->selfdata['languages']=$this->ssb_helper->getLanguages();$this->selfdata['active_lang_code']=$this->ssb_helper->getDefaultLanguage();$this->selfdata['category_entity']=$category_entity=isset($data[0]) ? $data[0]:$data['category_entity'];$this->selfdata['category_template']=$this->ssb_category_template->getCategoryTemplate(array('category_entity'=> $category_entity),true);$this->selfdata['url_save']=$this->url->link('module/superseobox/ajax','token='.$this->session->data['token'].'&metaData[action]=saveCategoryTemplate','SSL');$this->selfdata['categories']=array();$page=isset($data['page']) ? (int)$data['page']:1;$admin_limit=$this->config->get('config_limit_admin') ? $this->config->get('config_limit_admin'):$this->config->get('config_admin_limit');$data=array( 'start'=> ($page-1) * $admin_limit,'limit'=> $admin_limit );$results=$this->ssb_category_template->getCategories($data);foreach ($results as $result) { $this->selfdata['categories'][]=array( 'category_id'=> $result['category_id'],'name' => $result['name'] );} $url ='&metaData[action]=getCategoryTemplateData&data[category_entity]='.$this->selfdata['category_entity'];$category_total=$this->model_catalog_category->getTotalCategories();$pagination=new Pagination();$pagination->total=$category_total;$pagination->page=$page;$pagination->limit=$admin_limit;$pagination->text ='Showing {start} to {end} of {total} ({pages} Pages)';$pagination->url =$this->url->link('module/superseobox/ajax','token='.$this->session->data['token'].$url.'&data[page]={page}','SSL');$this->selfdata['pagination']=$pagination->render();if($render){ $this->doOutput('module/superseobox/seo_generator/modal/category_template_list.tpl',$this->selfdata,false);} } private function saveCategoryTemplate($data,$metaData,$additionData=''){ $entityCategory =$this->request->post['name'];$data['template'] =$this->request->post['value'];$data['category_id']=$this->request->post['pk']['id'];$data['l_code'] =$this->request->post['pk']['l_code'];$this->ssb_category_template->save($entityCategory,$data);} private function clearCategoryTemplate($data,$metaData,$additionData=''){ $entityData =$this->parseEntity($metaData['entity']);$entityCategory=$entityData['category']['name'];if($data=='all'){ $this->ssb_category_template->clearAll($entityCategory);$this->respondAnswer('',"Deleting done!");}elseif(is_array($data)){ $this->ssb_category_template->clearCategory($entityCategory,$data['category']);$this->respondAnswer('',"Deleting done!");}else{ $this->respondAnswer('',"Select category!");} } private function setRedirect404Data($data=array()){ require_once DIR_CONFIG.'ssb_library/ssb_custom_404.php';$this->ssb_custom_404=ssb_custom_404::getInstance();$this->selfdata['redirect_404_url']=$this->ssb_custom_404->getAllUrl404($data);} private function getRedirect404Data($data=array()){ $this->setRedirect404Data($data);$this->doOutput('module/superseobox/seo_tools/modal/redirect_404_list.tpl',$this->selfdata,false);} private function saveUrl404($data=array()){ require_once DIR_CONFIG.'ssb_library/ssb_custom_404.php';$this->ssb_custom_404=ssb_custom_404::getInstance();$this->ssb_custom_404->save($data);$this->respondAnswer('',"Saving done!");} private function deleteUrl404($data=array()){ require_once DIR_CONFIG.'ssb_library/ssb_custom_404.php';$this->ssb_custom_404=ssb_custom_404::getInstance();foreach($data as $item_id=> $data_){ if($item_id !="new_row"){ $this->ssb_custom_404->delUrl(array('custom_url_404_id'=> $item_id));}else{ foreach($data_ as $i=> $data__){ $this->ssb_custom_404->delUrl(array('url_404'=> $data__['url_404']));} } } $this->respondAnswer('',"Deleting done!");} private function deleteAllUrl404($data=array()){ require_once DIR_CONFIG.'ssb_library/ssb_custom_404.php';$this->ssb_custom_404=ssb_custom_404::getInstance();$this->ssb_custom_404->deleteAll();$this->respondAnswer('',"Deleting done!",$data);} private function needUpdateVer(){ $def_version =$this->ssb_data->getDefault('version');$act_version =$this->ssb_data->getSetting('version');if(!$act_version) return false;if($def_version==$act_version) return false;return true;} private function doUpdateVer($update_ver=true){ $active_data =$this->ssb_data->getSetting();if($active_data===false)die('Not found setting. Please re-install Paladin.');if(!isset($active_data['version']))die('Not found setting. Please re-install Paladin.');$default_data=$this->ssb_data->getDefault();$new_data=array_replace_recursive ($default_data,$active_data);$new_data['version']=$default_data['version'];if($update_ver){ $this->ssb_data->setSetting($new_data);} $this->changeTables($active_data['version'],$new_data['version']);$this->setUpdateData($active_data['version'],$new_data['version']);} private function setUpdateText(){ $header="";$footer="<i class=\"custom-icon-off\"></i>";$update_texts = array( '5.2.4' =>$header . "<dt>Fixed:</dt><dd>1. solved API error on page admin/order/edit</dd><dd>2. solved problem with !wc and !wt parameters for OC 2.2</dd><dd>3. solved problem with H2 and H3 tags for PavFashion theme</dd><dd>4. solved PHP error with setting of canonical link during upgrade to OC 2.2</dd><dd>5. solved problem with additional SEO fields in page admin/category/edit</dd><dd>6. solved problem with seo redirect for home page</dd><dd>7. solved error with generator, which use in mode \"Only for Empty\"</dd><dd>8. solved problem for changing language in OC 2.2</dd><dd>9. solved problem with sitemap for additional stores</dd> <dt>New:</dt><dd>1. added new position for H2 and H3 tags - After Description</dd><dd>2. added images links to sitemap</dd>" . $footer );$default_data=$this->ssb_data->getDefault();if($this->needUpdateVer()){ $this->doUpdateVer();$this->selfdata['VER_status']=1;$this->selfdata['update_text']=$update_texts[$default_data['version']];}else{ $this->selfdata['VER_status']=0;$this->selfdata['update_text']='';} } private function changeTables($oldVersion,$newVersion){ $oldVersion=(int)str_replace('.','',$oldVersion);$newVersion=(int)str_replace('.','',$newVersion);if($oldVersion < 470){ $this->ssb_table->changeTables($this->ssb_data->getDBchange());} } public function setOrderInfo() { $data['order_id'] =$this->request->post['order_id'] !='' ? $this->request->post['order_id']:false;$data['domain'] =$this->request->post['domain'] !='' ? $this->request->post['domain']:false;if($data['order_id']===false || $data['domain'] ===false){ $this->ssb_helper->setFunction(array('fnc'=> 'sof','fnd'=> array('error'=> true,'msg'=> 'Try again: you must fill both field - order ID and Domain')));}else{ $this->load->model('setting/setting');$this->model_setting_setting->editSetting('porderpurchase',array('porderpurchase_order_id'=> $this->request->post['order_id'],'porderpurchase_domain'=> $this->request->post['domain']));$respond=$this->ssb_helper->setFunction(array('fns'=> 'sod','fsd'=> $data));if($respond['error']==true){ $this->ssb_helper->setFunction(array('fnc'=> 'sof','fnd'=> $respond));}else{ $this->ssb_helper->setFunction(array('fnc'=> 'hof','fnd'=> true));} } } private function ssb_vqmodManager($action,$xml_files=array()) { $cachePath =DIR_SYSTEM.'../vqmod/vqcache/';$xmlPath=DIR_SYSTEM.'../vqmod/xml/';if($action=="clear"){ $cash_files=glob($cachePath.'*.*');if(is_array($cash_files)){ foreach(glob($cachePath.'*.*') as $file){ if (file_exists($file)) { unlink($file);clearstatcache();} } } return true;} foreach($xml_files as $file){ switch ($action) { case "comment":if (file_exists($xmlPath.$file)) { if (file_exists($xmlPath.$file.'_')) { unlink($xmlPath.$file.'_');clearstatcache();} rename($xmlPath.$file,$xmlPath.$file.'_');} break;case "uncomment":if (file_exists($xmlPath.$file.'_')) { if (file_exists($xmlPath.$file)) { unlink($xmlPath.$file);clearstatcache();} rename($xmlPath.$file.'_',$xmlPath.$file);} break;} } } private function setUpdateData($oldVersion,$newVersion){ $oldVersion=(int)str_replace('.','',$oldVersion);$newVersion=(int)str_replace('.','',$newVersion);if($oldVersion < 165){ $setting =$this->ssb_data->getSetting();$setting['patternsSettings']['cd']['add_metaData']['default']=array('Ns');$this->ssb_data->setSetting($setting);} if($oldVersion < 170){ $setting =$this->ssb_data->getSetting();$setting['entity']['urls']['CPBI_urls']['data']=array( 'product' => array( 'data'=> array(),'pattern'=> '!pn','status'=>0),'category' => array( 'data'=> array(),'pattern'=> '!cn','status'=>0),'brand' => array( 'data'=> array(),'pattern'=> '!bn','status'=>0),'info' => array( 'data'=> array(),'pattern'=> '!in','status'=>0) );$this->ssb_data->setSetting($setting);foreach($setting['entity']['urls']['CPBI_urls']['data'] as $intern_entity_name=> $intern_entity_val){ $setting['entity']['urls']['CPBI_urls']['data'][$intern_entity_name]['data']=$this->getLanguagePattern($intern_entity_val['pattern']);} $this->ssb_data->setSetting($setting);$CPBI_urls_status=$this->ssb_data->getEntityStatus('urls','CPBI_urls');if($CPBI_urls_status){ $this->ssb_data->setEntityStatus(true,'urls','CPBI_urls','all');} } if($oldVersion < 250){ $setting =$this->ssb_data->getSetting();$setting['entity']['urls']['STAN_urls']['data']=$this->getStanUrls($setting['entity']['urls']['STAN_urls']['data']);$this->ssb_data->setSetting($setting);} if($oldVersion < 290){ $setting =$this->ssb_data->getSetting();foreach($setting['categoryEntity'] as $categoryEntity_name=> $categoryEntity_data){ if($categoryEntity_data['auto']){ if($categoryEntity_name=='urls'){ foreach($setting['entity']['urls']['CPBI_urls']['data'] as $entity_name=> $entity_data){ $setting['entity']['urls']['CPBI_urls']['data'][$entity_name]['auto']=true;} }else{ foreach($setting['entity'][$categoryEntity_name] as $entity_name=> $entity_data){ $setting['entity'][$categoryEntity_name][$entity_name]['auto']=true;} } } } $this->ssb_data->setSetting($setting);} if($oldVersion < 300){ $setting =$this->ssb_data->getSetting();if($setting['tools']['lang_dir_link']['status']){ $mode=array('mode'=> 'natural','prefix'=> true);}else{ $mode=array('mode'=> 'default','prefix'=> true);} $setting['tools']['lang_dir_link']['data']=$mode;$this->ssb_data->setSetting($setting);} if($oldVersion < 310){ $setting =$this->ssb_data->getSetting();$setting['tools']['path_manager']['data']=array( 'product'=> array('mode'=> 'default'),'category'=> array('mode'=> 'default') );$this->ssb_data->setSetting($setting);} } private function validate() { return true;} } if (!function_exists('array_replace_recursive')) { function array_replace_recursive($array,$array1) { $args=func_get_args();$array=$args[0];if (!is_array($array)) { return $array;} for ($i=1;$i < count($args);$i++) { if (is_array($args[$i])) { $array=recurse($array,$args[$i]);} } return $array;} function recurse($array,$array1) { foreach ($array1 as $key=> $value) { if (!isset($array[$key]) || (isset($array[$key]) && !is_array($array[$key]))) { $array[$key]=array();} if (is_array($value)) { $value=recurse($array[$key],$value);} $array[$key]=$value;} return $array;} } ?>
Add Comment
Please, Sign In to add comment