Your IP : 216.73.216.90


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

<?php

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


class TransAdmin implements DobiAdminModule, action_show, action_add
{
    private $translations_current_action_to_run;    

	public function __construct($translations_current_action_to_run)
	{
	    $this->translations_current_action_to_run = $translations_current_action_to_run;
	}    
	
	public function _defaultAction()
	{
		return $this->show();
	}

	public function _executeAction()
	{
	    if (!Registry::getObject('session')->getUserAccess(LA_CONTENT))
	    {
	   		echo '<span style="font-weight: bold;">'._ACCESS_DENIED_.'</span> ' . _ACCESS_DENIED_MSG_;
			return;   
	    }	
	    $go = $this->translations_current_action_to_run;
	    $this->$go();
	}
	
    public function show()
    {
        $dbRC = Registry::getObject('dbRC');
 		
 		// 570px - il. komórek
 		echo '<div style="width: 570px; height: 20px" class="b4"> Lista dodanych tłumaczeń treści startowych modułów: </div>
		    <div class="table">
		    <div style="width: 100px;" class="top"> ID </div>
		    <div style="width: 200px;" class="top"> Klucz/moduł </div>
		    <div style="width: 100px;" class="top"> Język </div>
 			<div style="width: 166px;" class="top"> '._WORD_ACTION_.' </div>
 		';
 		
 		$dbRC->rowCache( 'key', 'tran_id, tran_key, tran_language', 'translations', 'tran_id > 9 AND tran_language != ""', 'tran_id DESC');
		$dbRC->setName('key');	
			
		if ($dbRC->getRowsAmount() > 0)
		{
		    while ($dbRC->rowExists())
		    {
		    	$tran_id = $dbRC->getRow('tran_id');
		    	$flag = '<img src="'.DOBI_FLAGS_DIR . $dbRC->getRow('tran_language') . '.gif" alt="" />';
 				echo '<div style="width: 100px;" class="action2"> '.$tran_id.' </div>
 					  <div style="width: 200px;" class="action2"> '.$dbRC->getRow('tran_key').' </div>
			 		  <div style="width: 100px;" class="action2"> '.$flag.' </div>
			 		  <div style="width: 166px;" class="action2"> <a href="admin.php?module=Trans&amp;action=delete&amp;id='.$tran_id.'&amp;lang='.$dbRC->getRow('tran_language').'">'._WORD_DELETE_.'</a> 
					  <a href="admin.php?module=Trans&amp;action=edit&amp;id='.$tran_id.'&amp;lang='.$dbRC->getRow('tran_language').'">'._WORD_EDIT_.'</a></div>
				';
				$dbRC->increment();	    
			}
			$dbRC->clear();
		}
		else
		{    
			$dbRC->clear();
		    echo '<div style="width: 569px;">Nie dodano jeszcze żadnych tłumaczeń.</div>';		  
		} 
		 
		echo '</div>'; 
	}
	
	private function getTranslations()
	{
		$translations = array();
        $dbRC = Registry::getObject('dbRC');	
 		$dbRC->rowCache( 'key', 'tran_key, tran_language', 'translations', 'tran_id > 9 AND tran_language = ""', 'tran_id DESC');
		$dbRC->setName('key'); 
		while ($dbRC->rowExists())
		{
			$translations[] = $dbRC->getRow('tran_key');
			$dbRC->increment();	    
		}
		$dbRC->clear();	
		return $translations;	       
	}
	
    public function add()
    {
        $languages = Registry::getObject('language')->getLanguages();
        $translations = $this->getTranslations();
        
        if (count($translations) == 0) {
			echo '<span style="font-weight: bold;">Niestety nie można dodać żadnego tłumaczenia ponieważ żaden z zainstalowanych modułów nie obsługuje tłumaczeń.</span> ';	
			return;
		}
        new tinyMCE();
		$form = new form('add_tran', Registry::getObject('dataRequest')->getActionLink('updateAdd'));
	    $form->setSize(10);
	    $form->setMaxlen(100);
	    $form->fieldset('normal');
	    $form->legend('Dodaj tłumaczenie');
	    $form->addContent('<div class="help"><h4>'._WORD_HELP_.'</h4><p>Nazwa klucza to klucz który jest obsługiwany przez dany moduł w którym treść ma zostać wyświetlona.</p><p>'._HELP_1_.'</p></div>');
     	$form->addContent('<div class="left">');
		$form->select('Nazwa klucza:', 'tran_key', 'normal', 'required', 1);
			foreach ($translations as $value)
			{
				$form->option($value, $value);
			}
		$form->eSelect();  
		$form->select('Język:', 'tran_language', 'normal', 'required', 1);
			foreach ($languages as $key => $value)
			{
				$form->option($value, $key);
			}
		$form->eSelect();     	
		$form->textarea( 'Treść', 'tran_translation', '', 60, 20, '', 'required');		
		$form->addContent('</div>');					
		$form->addContent('<div class="submit">');		
	    $form->submit(_WORD_ADD_, 'inputSubmit');
	    $form->reset(_WORD_CLEAR_, 'inputSubmit');
	    $form->addContent('</div>');		 	    
	    $form->eFieldset();
	    echo '<div class="form">' . $form->getForm() . '</div>';
	}	
	
    public function updateAdd()
    {
	  	$error = Registry::getObject('error', new error());
	  	$error->addAction('show');
	  	$error->setTrueMessage('Tłumaczenie dodane pomyślnie !');
	  	$error->setFalseMessage('Nie udało się dodać tłumaczenia' . _ERRORS_OCCURRED_);
		$dataRequest = Registry::getObject('dataRequest');  
		
		$dbRC = Registry::getObject('dbRC');
		$dbRC->rowCache('tran', 'tran_translation', 'translations', 'tran_language="'. $dataRequest->getValue('tran_language') .'" AND tran_key="'. $dataRequest->getValue('tran_key') .'"');
		$dbRC->setName('tran');
		
		if ($dbRC->getRowsAmount() > 0)
		{
			$dbRC->clear();
			$error->addError('- tłumaczenie tego klucza dla tego języka już istnieje ! Aby dokonać zmian zedytuj wpis już istniejący.');
			$error->getErrors();  
			return;
		}
		$dbRC->clear();	 
		$dbUDECA = Registry::getObject('dbUDECA');
		$dbUDECA->setMapper(true);
		$dbUDECA->mapper( IS_REQUIRED | FILTR_T, array(0 => 'tran_key', 'tran_language', 'tran_translation'), array('rewrite' => 'yes', 'exceptions_strip_tags' => '<div><span><a><br><br/><p><img><ul><li><ol><table><td><tr>'));
		$dbUDECA->insert('translations', array('tran_key' => $dataRequest->getValue('tran_key'),
											   'tran_language' => $dataRequest->getValue('tran_language'),
											   'tran_translation' => $dbUDECA->getMapped('tran_translation')));
	    $dbUDECA->execute();
	    $dbUDECA->clear();
		$error->getErrors();    	  
	}

    public function edit()
    {
    	$id = Registry::getObject('dataRequest')->getValue('id');
    	$lang = Registry::getObject('dataRequest')->getValue('lang');
    	if ($id < 10) {
	   		echo '<span style="font-weight: bold;">'._ACCESS_DENIED_.'</span> ' . _ACCESS_DENIED_MSG_;
			return;   
		}
	    $languages = Registry::getObject('language')->getLanguages();
	    $translations = $this->getTranslations();
	    $dbRC = Registry::getObject('dbRC');
	    $dbRC->rowCache( 'edit_tran', 'tran_id, tran_key, tran_language, tran_translation', 'translations', 'tran_id="'.$id.'" AND tran_language="'.$lang.'"'); 
	    $dbRC->setName('edit_tran');
		
		if ($dbRC->getRowsAmount() > 0)
	    {
	   		new tinyMCE();
			$form = new form('new_news', Registry::getObject('dataRequest')->getActionLink('updateEdit'));
	    	$form->setSize(10);
	    	$form->setMaxlen(100);
	    	$form->fieldset('normal');
	    	$form->legend('Edytuj tłumaczenie');
	   		$form->addContent('<div class="help"><h4>'._WORD_HELP_.'</h4><p>'._HELP_1_.'</p></div>');
     		$form->addContent('<div class="left">');
			$form->select('Nazwa klucza:', 'tran_key', 'normal', 'required', 1, 0, 1);
				foreach ($translations as $value)
				{
					if ($dbRC->getRow('tran_key') == $value) {
						$form->option($value, $value, '', 1);
					}
					else $form->option($value, $value);				
				}
			$form->eSelect();  
			$form->select('Język:', 'tran_language', 'normal', 'required', 1, 0, 1);
			foreach ($languages as $key => $value)
			{
				if ($lang == $key)
				{
					$form->option($value, $key, '', 1);
				}
				else $form->option($value, $key);
			}
		
			$form->eSelect();     	
			$form->textarea( 'Treść:', 'tran_translation', $dbRC->getRow('tran_translation'), 60, 20, '', 'required');		
			$form->addContent('</div>');					
			$form->addContent('<div class="submit">');	
			$form->hidden('id', $dbRC->getRow('tran_id'));	
	    	$form->submit(_WORD_UPDATE_, 'inputSubmit');
	    	$form->reset(_WORD_CLEAR_, 'inputSubmit');
	    	$form->addContent('</div>');		 	    
	    	$form->eFieldset();
	    	echo '<div class="form">' . $form->getForm() . '</div>';
		}
		else
		{
			$error = Registry::getObject('error');
	  		$error->addAction('show');
	  	    $error->setFalseMessage('Nie można zedytować tłumaczenia' . _ERRORS_OCCURRED_);	  		
			$error->addError('- tłumaczenie o tym numerze ID i podanym języku nie istnieje');
			$error->getErrors();	 
		}
	}	
	
    public function updateEdit()
    {
	  	$error = Registry::getObject('error');
	  	$error->addAction('show');
	  	$error->setTrueMessage('Tłumaczenie zaktualizowane pomyślnie !');
	  	$error->setFalseMessage('Nie udało się zedytować tłumaczenia' . _ERRORS_OCCURRED_);
		
		$dataRequest = Registry::getObject('dataRequest');  	 
		$dbUDECA = Registry::getObject('dbUDECA');
		$dbUDECA->setMapper(true);
		$dbUDECA->mapper( IS_REQUIRED, array(0 => 'id'));
		$dbUDECA->mapper( IS_REQUIRED | FILTR_T, array(0 => 'tran_translation'), array('rewrite' => 'yes', 'exceptions_strip_tags' => '<div><span><a><br><p><img><li><ol><ul>'));	
		$dbUDECA->setWhere('tran_id="'. $dataRequest->getValue('id') .'"');
		$dbUDECA->update('translations', array('tran_translation' => $dbUDECA->getMapped('tran_translation')));
	    $dbUDECA->execute();
	    $dbUDECA->clear();
		$error->getErrors();    	  
	}
	
    public function delete()
    {
    	$dataRequest = Registry::getObject('dataRequest');
    	$id = $dataRequest->getValue('id');
    	$lang = $dataRequest->getValue('lang');
		if (!$dataRequest->accept('Jesteś pewny że chcesz usunąc tłumaczenie z numerem ID =' . $id . ' ?'))
		{
			return;
		}
		$error = Registry::getObject('error');
	  	$error->addAction('show');
	  	$error->setTrueMessage('Tłumaczenie usunięte pomyślnie !');
		$dbUDECA = Registry::getObject('dbUDECA');
		$dbUDECA->setMapper(false);
		$dbUDECA->setWhere('tran_id="' . $id . '" AND tran_language = "'.$lang.'"');
		$dbUDECA->delete('translations');
		$dbUDECA->execute();
		$dbUDECA->clear();	    
		$error->getErrors();	  		  
	}		

}

?>