Your IP : 216.73.216.90
<?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&action=delete&id='.$tran_id.'&lang='.$dbRC->getRow('tran_language').'">'._WORD_DELETE_.'</a>
<a href="admin.php?module=Trans&action=edit&id='.$tran_id.'&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();
}
}
?>