Skip to content

Commit

Permalink
Fixed issue #09998: Languages dropdown broken on label set update
Browse files Browse the repository at this point in the history
  • Loading branch information
Shnoulle committed Mar 15, 2016
1 parent 1a8d355 commit 7f24a37
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 31 deletions.
14 changes: 7 additions & 7 deletions application/helpers/admin/label_helper.php
Expand Up @@ -17,10 +17,10 @@

function updateset($lid)
{


// Get added and deleted languagesid arrays
$postlanguageids=Yii::app()->getRequest()->getPost('languageids');
$postlanguageids=implode(Yii::app()->getRequest()->getPost('languages',array())," ");
$postlabel_name=Yii::app()->getRequest()->getPost('label_name');
$newlanidarray = explode(" ",trim($postlanguageids));

Expand Down Expand Up @@ -90,7 +90,7 @@ function insertlabelset()
{
//global $labelsoutput;
// $labelsoutput.= $_POST['languageids']; For debug purposes


$postlanguageids=sanitize_languagecodeS(Yii::app()->getRequest()->getPost('languageids'));
$postlabel_name=flattenText(Yii::app()->getRequest()->getPost('label_name'),false,true,'UTF-8',true);
Expand Down Expand Up @@ -118,7 +118,7 @@ function modlabelsetanswers($lid)

//global $labelsoutput;



$ajax = false;

Expand All @@ -130,10 +130,10 @@ function modlabelsetanswers($lid)
}

$sPostData = Yii::app()->getRequest()->getPost('dataToSend');
$sPostData=str_replace("\t", '', $sPostData);
$sPostData=str_replace("\t", '', $sPostData);
if (get_magic_quotes_gpc())
{
$data = json_decode(stripslashes($sPostData));
$data = json_decode(stripslashes($sPostData));
}
else
{
Expand Down Expand Up @@ -206,7 +206,7 @@ function modlabelsetanswers($lid)
*/
function fixorder($lid) {



$qulabelset = "SELECT * FROM {{labelsets}} WHERE lid=$lid";
$rslabelset = Yii::app()->db->createCommand($qulabelset)->query();
Expand Down
54 changes: 30 additions & 24 deletions application/views/admin/labels/editlabel_view.php
Expand Up @@ -22,30 +22,36 @@
</li>

<li><label><?php eT("Languages:"); ?></label>
<table><tr><td><select multiple='multiple' style='min-width:220px;' size='5' id='additional_languages' name='additional_languages'>
<?php foreach ($langidsarray as $langid)
{ ?>
<option id='<?php echo $langid; ?>' value='<?php echo $langid; ?>'
><?php echo getLanguageNameFromCode($langid,false); ?></option>
<?php } ?>


</select></td>
<td><input type="button" value="<< <?php eT("Add"); ?>" onclick="DoAdd()" id="AddBtn" /><br /> <input type="button" value="<?php eT("Remove"); ?> >>" onclick="DoRemove(1,'<?php eT("You cannot remove this item since you need at least one language in a labelset.", "js"); ?>')" id="RemoveBtn" /></td>


<td><select size='5' style='min-width:220px;' id='available_languages' name='available_languages'>
<?php foreach (getLanguageDataRestricted(false, Yii::app()->session['adminlang']) as $langkey=>$langname)
{
if (in_array($langkey,$langidsarray)==false) // base languag must not be shown here
{ ?>
<option id='<?php echo $langkey; ?>' value='<?php echo $langkey; ?>'
><?php echo $langname['description']; ?></option>
<?php }
} ?>

</select></td>
</tr></table></li></ul>
<?php
$aAvailableLang=getLanguageDataRestricted (false, Yii::app()->session['adminlang']);
$aLang=array();
foreach ($aAvailableLang as $lang => $aLanguage)
{
$aLang[$lang]=html_entity_decode($aLanguage['description'], ENT_QUOTES, 'UTF-8')." (".html_entity_decode($aLanguage['nativedescription'], ENT_QUOTES, 'UTF-8').")";
}
// Adding existing lang
foreach ($langidsarray as $lang)
{
if(!isset($aLang[$lang]))
{
$sLanguage=getLanguageNameFromCode($lang);
$aLang[$lang]=html_entity_decode($aLangInfo[0], ENT_QUOTES, 'UTF-8')." (".html_entity_decode($aLangInfo[1], ENT_QUOTES, 'UTF-8').")";
}
}
echo App()->getController()->widget('ext.bootstrap.widgets.TbSelect2', array(
'name' => 'languages',
'data'=>$aLang,
'value' => $langidsarray,
'options' => array(
'width' => "js: function(){ return Math.max.apply(null, $(this.element).find('option').map(function() { return $(this).text().length; }))+'em' }",
),
'htmlOptions' => array(
'multiple' => 'multiple',
'required' => 'required',
),
), true);
?>
</li></ul>
<p><input type='submit' value='<?php if ($action == "newlabelset") {eT("Save");}
else {eT("Update");} ?>' />
<input type='hidden' name='action' value='<?php if ($action == "newlabelset") {echo "insertlabelset";} else {echo "updateset";} ?>' />
Expand Down

0 comments on commit 7f24a37

Please sign in to comment.