Your IP : 216.73.216.11


Current Path : /home/semix18/public_html/optimum-wycena.pl/modules/Settings/
Upload File :
Current File : /home/semix18/public_html/optimum-wycena.pl/modules/Settings/admin.php

<?php

if (!defined('LOADED_AS_ADMIN_MODULE'))
{ 
		require_once('../../core/Dobi.php');  
		Dobi::exception('dobiExcDirectAccess', 1, '', 'direct');
}

class SettingsAdmin implements DobiAdminModule, action_extra 
{	
	private $settings_current_action_to_run;

	public function __construct($settings_current_action_to_run)
	{
		$this->settings_current_action_to_run = $settings_current_action_to_run;
	}
	
	public function _defaultAction() 
	{
	    return $this->system();	 
	}
	
	public function _executeAction() 
	{
	    if (!Registry::getObject('session')->getUserAccess(LA_SETTINGS))
	    {
	   		echo '<span style="font-weight: bold;">'._ACCESS_DENIED_.'</span> ' . _ACCESS_DENIED_MSG_;
			return;   
	    }
	   $go = $this->settings_current_action_to_run;
	   $this->$go();	  
	}
	
    public function extraImplements()
    {
	    $array = array('system' => _DOBI_MENU_OPTION_SYSTEM_, 'meta' => _DOBI_MENU_OPTION_META_); 
	    return $array;
	}
	
	public function system()
	{
    	$languages = Registry::getObject('language')->getLanguages();
    	$modules = $this->getNormalModulesList();
    	
    	$theme = new theme();
    	$themes = $theme->getInstalledList();
    	$theme = NULL;
    	
    	$db = Registry::getObject('db');
    	$def_language = $db->getConfValue('default_language');
		$def_theme = $db->getConfValue('default_theme');
		$def_module = $db->getConfValue('default_module');
		$def_scheme = $db->getConfValue('default_scheme');
		$def_tinyMCE = $db->getConfValue('tinyMCE');
			    
		$form = new form('system_settings', Registry::getObject('dataRequest')->getActionLink('updSystem'));
	    $form->setSize(10);
	    $form->setMaxlen(100);
	    $form->fieldset('normal');
	    $form->legend(_SETTINGS_DEFAULT_);
	    $form->addContent('<div class="help"><h4>'._WORD_HELP_.'</h4><p>'._HELP_1_.'</p><p>'._SETTINGS_HELP_3_.'</p></div>');	    
     	$form->addContent('<div class="left">');
        $form->checkbox(_SETTINGS_EDITOR_, 'default_tinyMCE', 1, 'sett_box', 'sett_box', '', $def_tinyMCE);																													
	    	
		$form->select(_SETTINGS_DEF_LANG_, 'default_language', 'settings', 'settings', 1);
		foreach ($languages as $key => $value)
		{
			if ($key == $def_language)
			{
				$form->option($value, $key, '', 1);
			}
			else $form->option($value, $key);
		}
		$form->eSelect();
		
		$form->select(_SETTINGS_DEF_THEME_, 'default_theme', 'settings', 'settings', 1);
		foreach ($themes as $value)
		{
			if ($value == $def_theme)
			{
				$form->option($value, $value, '', 1);
			}
			else $form->option($value, $value);
		}
		$form->eSelect();
		$form->text(_SETTINGS_DEF_SCHEME_, 'default_scheme', $def_scheme, 'settings', 'settings');			
		$form->select(_SETTINGS_DEF_MODULE_, 'default_module', 'settings', 'settings', 1);
		foreach ($modules as $value)
		{
			if ($value == $def_module)
			{
				$form->option($value, $value, '', 1);
			}
			else $form->option($value, $value);
		}
		$form->eSelect();
		$form->addContent('</div>');
		$form->hidden('old_language', $def_language);
		$form->hidden('old_theme', $def_theme);	
		$form->addContent('<div class="submit">');
	    $form->submit(_WORD_UPDATE_, 'inputSubmit');
	    $form->reset(_WORD_CLEAR_, 'inputSubmit');
	    $form->addContent('</div>');		 	    
	    $form->eFieldset();
	    
	    // view
	    echo '<div class="form">';
	    echo $form->getForm();			  
	    echo '</div>';	
	}

	public function updSystem()
	{
	 	$dataRequest = Registry::getObject('dataRequest');
	  	$error = Registry::getObject('error', new error());
	  	$error->addAction('system');
	  	$error->setTrueMessage(_SETTINGS_UPDATE_SUCC_);
	  	$error->setFalseMessage(_SETTINGS_UPDATE_FAIL_ . _ERRORS_OCCURRED_);	  	
	  	
    	$def_language = $dataRequest->getValue('default_language');
		$def_theme = $dataRequest->getValue('default_theme');
		$def_module = $dataRequest->getValue('default_module');
		$def_scheme = $dataRequest->getValue('default_scheme');
		$def_tinyMCE = $dataRequest->getValue('default_tinyMCE'); 
		
		if (strpos($def_scheme, '.php'))
		{
			$def_scheme = str_replace('.php', '', $def_scheme);
		}			  	
		
		$dbUDECA = Registry::getObject('dbUDECA');
		$dbUDECA->setMapper(true);
		$dbUDECA->mapper(IS_REQUIRED, array(0 => 'default_language', 'default_theme', 'default_module', 'default_scheme')); 
		$dbUDECA->updateConfValue('default_language', $def_language);  
		$dbUDECA->execute();
		$dbUDECA->updateConfValue('default_theme', $def_theme);  
		$dbUDECA->execute();
		$dbUDECA->updateConfValue('default_module', $def_module);  
		$dbUDECA->execute();
		$dbUDECA->updateConfValue('default_scheme', $def_scheme);  
		$dbUDECA->execute();
		$dbUDECA->updateConfValue('tinyMCE', $def_tinyMCE);  
		$dbUDECA->execute();
		
		if ($dataRequest->getValue('old_language') != $def_language)
		{
			$dbUDECA->setWhere('sess_language = "'.$dataRequest->getValue('old_language').'"');
			$dbUDECA->update('sessions', array('sess_language' => $def_language));  
			$dbUDECA->execute();		
		}
		
		if ($dataRequest->getValue('old_theme') != $def_theme)
		{
			$dbUDECA->setWhere('sess_theme = "'.$dataRequest->getValue('old_theme').'"');
			$dbUDECA->update('sessions', array('sess_theme' => $def_theme));  
			$dbUDECA->execute();		
		}
									
		$dbUDECA->clear();					  						
		$error->getErrors();		
	}	
	
	public function getNormalModulesList()
	{
		$dbRC = Registry::getObject('dbRC');
		$dbRC->rowCache( 'installed_modules', '*', 'modules', 'modu_installed = "1"');
		$dbRC->setName( 'installed_modules' );
		$modules = array();
		while ($dbRC->rowExists())
		{
			$module_name = $dbRC->getRow('modu_name');
			$path = DOBI_MODULES_DIR . $module_name . '/' . $module_name . '.php';
			
			if (file_exists($path) && $module_name != 'admin' && $module_name != 'Admin')
			{
				$modules[] = $module_name;
			}
	
			$dbRC->increment();
		}
		$dbRC->clear();
		return $modules;
	}
	
	public function meta()
	{  	
		$doctypes = config::getSettings('doctypes');
		$charsets = config::getSettings('charsets');

    	$db = Registry::getObject('db');
    	$doctype = $db->getConfValue('site_doctype');
		$charset = $db->getConfValue('site_charset');
		$site_adress = $db->getConfValue('site_adress');
		$site_author = $db->getConfValue('site_author');
		$site_copyright = $db->getConfValue('site_copyright');
		$site_robots = $db->getConfValue('site_robots');
		$site_replyto = $db->getConfValue('site_reply-to'); 
		$site_render = $db->getConfValue('site_render'); 
		
		$current_lang = Registry::getObject('language')->getSessionLanguage();
		$dbRC = Registry::getObject('dbRC');	
		$dbRC->rowCache( 'head_section', 'tran_translation', 'translations', 'tran_key = "head_section"');
		$head_section = $dbRC->getRow('tran_translation', 'head_section');
		$dbRC->clear('head_section');
		
	    $dbRC->rowCache( 'translations', 'tran_translation, tran_key', 'translations', 'tran_language="' . $current_lang . '"'); 
	    $dbRC->setName('translations');
	    while ($dbRC->rowExists())
	    {
	    	$key = $dbRC->getRow('tran_key');
	    	$$key = $dbRC->getRow('tran_translation'); 
			$dbRC->increment();
		}
	    $dbRC->clear();
		
		  
		$form = new form('meta_settings', Registry::getObject('dataRequest')->getActionLink('updMeta'));
	    $form->setSize(10);
	    $form->setMaxlen(100);
	    $form->fieldset('normal');
	    $form->legend(_SETTINGS_HEAD_);
	    $form->addContent('<div class="help"><h4>'._WORD_HELP_.'</h4><p>'._HELP_1_.'</p></div>');	    
     	$form->addContent('<div class="left">');
     	
		$form->select(_SETTINGS_DOCTYPE_, 'doctype', 'normal', 'required', 1);
		foreach ($doctypes as $key => $value)
		{
			$value = str_replace('<', '', $value);
			$value = str_replace('>', '', $value);
			if ($value == $doctype)
			{
				$form->option($value, $key, '', 1);
			}
			else $form->option($value, $key);
		}
		$form->eSelect();
		
		$form->select(_SETTINGS_CHARSET_, 'charset', 'normal', 'required', 1);
		foreach ($charsets as $value)
		{
			if ($value == $charset)
			{
				$form->option($value, $value, '', 1);
			}
			else $form->option($value, $value);
		}
		$form->eSelect();		
		$form->text(_SETTINGS_ADRESS_, 'site_adress', $site_adress, '', 'required');			
		$form->text(_SETTINGS_AUTHOR_, 'site_author', $site_author, '', '');
		$form->text(_SETTINGS_COPY_, 'site_copyright', $site_copyright, '', '');
		$form->text(_SETTINGS_ROBOTS_, 'site_robots', $site_robots, '', '');
		$form->text(_SETTINGS_REPLY_, 'site_replyto', $site_replyto, '', '');
		$form->textarea(_SETTINGS_TAGS_, 'head_section', $head_section, 60, 10);
		$form->checkbox(_SETTINGS_RENDER_, 'site_render', 1, 'checkbox', 'checkbox', '', $site_render);																									
	    $form->addContent('</div>');	
		$form->addContent('<div class="submit">');
	    $form->submit(_WORD_UPDATE_, 'inputSubmit');
	    $form->reset(_WORD_CLEAR_, 'inputSubmit');
	    $form->addContent('</div>');		 	    
	    $form->eFieldset();
	    
		$form_two = new form('meta_settings_lang', Registry::getObject('dataRequest')->getActionLink('updMetaLang'));
	    $form_two->setSize(10);
	    $form_two->setMaxlen(100);
	    $form_two->fieldset('normal');
	    $form_two->legend(_SETTINGS_HEAD_2_ . '<img src="'.DOBI_FLAGS_DIR . $current_lang . '.gif" alt="" />');
	    $form_two->addContent('<div class="help"><h4>'._WORD_HELP_.'</h4><p>'._HELP_1_.'</p><p>'._SETTINGS_HELP_1_.'('.$current_lang.')'._SETTINGS_HELP_2_.'</p></div>');	    
     	$form_two->addContent('<div class="left">');
		$form_two->text(_SETTINGS_TITLE_, 'site_title', $site_title, '', 'required'); 	
		$form_two->textarea(_SETTINGS_DESC_, 'site_description', $site_description, 60, 5, '', 'required');	
		$form_two->textarea(_SETTINGS_KEYWORDS_, 'site_keywords', $site_keywords, 60, 5,'', 'required');
		$form_two->textarea(_SETTINGS_FOOTER_, 'footer_info', $footer_info, 60, 5);	
		$form_two->addContent('</div>');	
	    $form_two->hidden('language', $current_lang);
		$form_two->addContent('<div class="submit">');
	    $form_two->submit(_WORD_UPDATE_, 'inputSubmit');
	    $form_two->reset(_WORD_CLEAR_, 'inputSubmit');
	    $form_two->addContent('</div>');		 	    
	    $form_two->eFieldset();	    
	    // view
	    echo '<div class="form">';
	    echo $form->getForm();			  
	    echo $form_two->getForm();			  
	    echo '</div>';		    
	}	
	
	public function updMeta()
	{
	 	$dataRequest = Registry::getObject('dataRequest');
	  	$error = Registry::getObject('error', new error());
	  	$error->addAction('meta');
	  	$error->setTrueMessage(_SETTINGS_UPDATE_SUCC_);
	  	$error->setFalseMessage(_SETTINGS_UPDATE_FAIL_ . _ERRORS_OCCURRED_);	
		
		$site_adress = $dataRequest->getValue('site_adress');
		$site_adress = str_replace('http://', '', $site_adress);
		$site_adress = 'http://' . $site_adress;
		
		$mapper = new mapper();
		$mapper->mapping('head_section', FILTR_T, array('exceptions_strip_tags' => '<meta><link>'));
		$head_section = $mapper->getValue('head_section');	
		$mapper = NULL;
		
		$dbUDECA = Registry::getObject('dbUDECA');
		$dbUDECA->setMapper(true);
		$dbUDECA->mapper(IS_REQUIRED, array(0 => 'doctype', 'charset', 'site_adress')); 
		$dbUDECA->updateConfValue('site_doctype', $dataRequest->getValue('doctype'));  
		$dbUDECA->execute();
		$dbUDECA->updateConfValue('site_charset', $dataRequest->getValue('charset'));  
		$dbUDECA->execute();
		$dbUDECA->updateConfValue('site_adress', $site_adress);  
		$dbUDECA->execute();
		$dbUDECA->updateConfValue('site_author', $dataRequest->getValue('site_author'));  
		$dbUDECA->execute();
		$dbUDECA->updateConfValue('site_copyright', $dataRequest->getValue('site_copyright'));  
		$dbUDECA->execute();
		$dbUDECA->updateConfValue('site_robots', $dataRequest->getValue('site_robots'));  
		$dbUDECA->execute();
		$dbUDECA->updateConfValue('site_reply-to', $dataRequest->getValue('site_replyto'));  
		$dbUDECA->execute();
		$dbUDECA->updateConfValue('site_render', $dataRequest->getValue('site_render'));  
		$dbUDECA->execute();		
		$dbUDECA->setWhere('tran_key = "head_section"');
		$dbUDECA->update('translations', array('tran_translation' => $head_section));  
		$dbUDECA->execute();														
		$dbUDECA->clear();					  						
		$error->getErrors();	
	}
	
	public function updMetaLang()
	{
	 	$dataRequest = Registry::getObject('dataRequest');
	  	$error = Registry::getObject('error', new error());
	  	$error->addAction('meta');
	  	$error->setTrueMessage(_SETTINGS_UPDATE_SUCC_);
	  	$error->setFalseMessage(_SETTINGS_UPDATE_FAIL_ . _ERRORS_OCCURRED_);	
		
		$language = $dataRequest->getValue('language');
		
		$mapper = new mapper();
		$mapper->mapping('footer_info', FILTR_T, array('exceptions_strip_tags' => '<div><span><a><br><p><img>'));
		$footer_info = $mapper->getValue('footer_info');	
		$mapper = NULL;
		
		$dbUDECA = Registry::getObject('dbUDECA');
		$dbUDECA->setMapper(true);
		$dbUDECA->mapper(IS_REQUIRED, array(0 => 'site_title', 'site_description', 'site_keywords')); 
		$dbUDECA->setWhere('tran_key = "site_title" AND tran_language="'.$language.'"');
		$dbUDECA->update('translations', array('tran_translation' => $dataRequest->getValue('site_title')));  
		$dbUDECA->execute();
		$dbUDECA->setWhere('tran_key = "site_description" AND tran_language="'.$language.'"');
		$dbUDECA->update('translations', array('tran_translation' => $dataRequest->getValue('site_description')));  
		$dbUDECA->execute();		
		$dbUDECA->setWhere('tran_key = "site_keywords" AND tran_language="'.$language.'"');
		$dbUDECA->update('translations', array('tran_translation' => $dataRequest->getValue('site_keywords')));  
		$dbUDECA->execute();			
		$dbUDECA->setWhere('tran_key = "footer_info" AND tran_language="'.$language.'"');
		$dbUDECA->update('translations', array('tran_translation' => $footer_info));  
		$dbUDECA->execute();												
		$dbUDECA->clear();					  						
		$error->getErrors();	
	}	
}

?>