mirror of
https://github.com/e107inc/e107.git
synced 2025-04-16 02:26:25 +02:00
Fix for admin language using core language file. New Admin-UI option to save specific preferences as a multi-language array. Use: 'multilan'=>true in $prefs array. Example: protected $prefs = array('myplugin_title' => array('title'=> 'Title', 'type'=>'text', 'data' => 'str', 'multilan'=>true));
This commit is contained in:
parent
e434697590
commit
f58466e239
14
class2.php
14
class2.php
@ -615,8 +615,18 @@ if(varset($pref['multilanguage']) && (e_LANGUAGE != $pref['sitelanguage']))
|
||||
//do it only once and with the proper function
|
||||
// e107_include_once(e_LANGUAGEDIR.e_LANGUAGE.'/'.e_LANGUAGE.'.php');
|
||||
// e107_include_once(e_LANGUAGEDIR.e_LANGUAGE.'/'.e_LANGUAGE.'_custom.php');
|
||||
// v1 Custom language File Path.
|
||||
include(e_LANGUAGEDIR.e_LANGUAGE.'/'.e_LANGUAGE.'.php'); // FASTEST - ALWAYS load
|
||||
// v1 Custom language File Path.
|
||||
|
||||
if((e_ADMIN_AREA === true) && !empty($pref['adminlanguage']))
|
||||
{
|
||||
include(e_LANGUAGEDIR.$pref['adminlanguage'].'/'.$pref['adminlanguage'].'.php');
|
||||
}
|
||||
else
|
||||
{
|
||||
include(e_LANGUAGEDIR.e_LANGUAGE.'/'.e_LANGUAGE.'.php'); // FASTEST - ALWAYS load
|
||||
}
|
||||
|
||||
|
||||
$customLan = e_LANGUAGEDIR.e_LANGUAGE.'/'.e_LANGUAGE.'_custom.php';
|
||||
if(is_readable($customLan)) // FASTER - if exist, should be done 'once' by the core
|
||||
{
|
||||
|
@ -472,7 +472,7 @@ class news_admin_ui extends e_admin_ui
|
||||
|
||||
$this->processPings();
|
||||
e107::getEvent()->trigger('newspost',$new_data);
|
||||
e107::getEvent()->trigger('admin_news_created',$new_data);
|
||||
// e107::getEvent()->trigger('admin_news_created',$new_data);
|
||||
$evdata = array('method'=>'create', 'table'=>'news', 'id'=>$id, 'plugin'=>'news', 'function'=>'submit_item');
|
||||
e107::getMessage()->addInfo(e107::getEvent()->triggerHook($evdata));
|
||||
$this->clearCache();
|
||||
@ -493,7 +493,7 @@ class news_admin_ui extends e_admin_ui
|
||||
$this->processPings();
|
||||
|
||||
e107::getEvent()->trigger('newsupd', $new_data);
|
||||
e107::getEvent()->trigger('admin_news_updated',$new_data);
|
||||
// e107::getEvent()->trigger('admin_news_updated',$new_data);
|
||||
|
||||
$this->clearCache();
|
||||
|
||||
|
@ -5227,10 +5227,33 @@ class e_admin_ui extends e_admin_controller_ui
|
||||
|
||||
public function PrefsSaveTrigger()
|
||||
{
|
||||
$data = $this->getPosted();
|
||||
|
||||
|
||||
|
||||
foreach($data as $key=>$val)
|
||||
{
|
||||
if(!empty($this->prefs[$key]['multilan']))
|
||||
{
|
||||
$this->getConfig()->clearPrefCache();
|
||||
$this->getConfig()->setPref($key.'/'.e_LANGUAGE, $val);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->getConfig()->setPostedData($key, $val, false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$this->getConfig()->save(true);
|
||||
|
||||
|
||||
/*
|
||||
$this->getConfig()
|
||||
->setPostedData($this->getPosted(), null, false, false)
|
||||
//->setPosted('not_existing_pref_test', 1)
|
||||
->save(true);
|
||||
*/
|
||||
|
||||
$this->getConfig()->setMessages();
|
||||
|
||||
@ -5588,6 +5611,8 @@ class e_admin_form_ui extends e_form
|
||||
);
|
||||
$models[] = $controller->getConfig();
|
||||
|
||||
// print_a($forms);
|
||||
|
||||
return $this->renderCreateForm($forms, $models, e_AJAX_REQUEST);
|
||||
}
|
||||
|
||||
|
@ -2951,7 +2951,10 @@ class e_form
|
||||
*/
|
||||
function renderValue($field, $value, $attributes, $id = 0)
|
||||
{
|
||||
|
||||
if(!empty($attributes['multilan']) && is_array($value))
|
||||
{
|
||||
$value = varset($value[e_LANGUAGE],'');
|
||||
}
|
||||
|
||||
$parms = array();
|
||||
if(isset($attributes['readParms']))
|
||||
@ -3764,6 +3767,12 @@ class e_form
|
||||
$tp = e107::getParser();
|
||||
|
||||
if(is_string($parms)) parse_str($parms, $parms);
|
||||
|
||||
if(!empty($attributes['multilan']) && is_array($value))
|
||||
{
|
||||
$value = varset($value[e_LANGUAGE],'');
|
||||
$parms['post'] = "<small class='e-tip' style='cursor:help; padding-left:10px' title='Multi-language field'>".$tp->toGlyph('fa-language')."</small>";
|
||||
}
|
||||
|
||||
if(empty($value) && !empty($parms['default'])) // Allow writeParms to set default value.
|
||||
{
|
||||
@ -3893,14 +3902,14 @@ class e_form
|
||||
// Appending needs is performed and customized using function: beforeUpdate($new_data, $old_data, $id)
|
||||
}
|
||||
|
||||
$text .= $this->textarea($key, $value, vartrue($parms['rows'], 5), vartrue($parms['cols'], 40), vartrue($parms['__options'],$parms), varset($parms['counter'], false));
|
||||
$text .= vartrue($parms['pre']).$this->textarea($key, $value, vartrue($parms['rows'], 5), vartrue($parms['cols'], 40), vartrue($parms['__options'],$parms), varset($parms['counter'], false)).vartrue($parms['post']);
|
||||
$ret = $text;
|
||||
break;
|
||||
|
||||
case 'bbarea':
|
||||
$options = array('counter' => varset($parms['counter'], false));
|
||||
// Media = media-category owner used by media-manager.
|
||||
$ret = $this->bbarea($key, $value, vartrue($parms['template']), vartrue($parms['media']), vartrue($parms['size'], 'medium'),$options );
|
||||
$ret = vartrue($parms['pre']).$this->bbarea($key, $value, vartrue($parms['template']), vartrue($parms['media']), vartrue($parms['size'], 'medium'),$options ).vartrue($parms['post']);
|
||||
break;
|
||||
|
||||
case 'image': //TODO - thumb, image list shortcode, js tooltip...
|
||||
|
Loading…
x
Reference in New Issue
Block a user