0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 2559 Просмотров
*

trifonov1992

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Проблема с json_encode - Решено
« : 06.08.2012, 00:23:17 »
http://joomlaforum.ru/index.php/topic,224554.0.html - вот проблема, сори, что ссылкой...

Модераторы сори, что делаю копии...
« Последнее редактирование: 06.08.2012, 12:34:29 от trifonov1992 »
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Re: Проблема с json_encode
« Ответ #1 : 06.08.2012, 03:55:40 »
Сорри, что задаю вопрос.
Сорри, что не понял,  что вообще вам надо.
Сорри, что не могу пока помочь вам, ибо ничего не понял.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

trifonov1992

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Re: Проблема с json_encode
« Ответ #2 : 06.08.2012, 10:43:56 »
Да нет проблем))) у меня json_encode, как я понял, кодирует кириллицу (так как она ее не понимает) в u****. Мне надо как-то сделать, чтобы было человеко-понятные буквы (тоесть кириллицу). Лазя в инете наткнулся на массу различного кода... который мне понравился, вставил в тему... потому что не понимаю куда его надо вставлять... Вот собственно и вся проблема
*

Shustry

  • Гуру
  • 6437
  • 741 / 3
  • Рисую дизайны
Re: Проблема с json_encode
« Ответ #3 : 06.08.2012, 10:48:44 »
php utf8 encode - закодили
php utf8_decode - раскодили
Что не получается?
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

trifonov1992

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Re: Проблема с json_encode
« Ответ #4 : 06.08.2012, 11:06:43 »
а где это исправлять? или куда вставлять)))
*

Shustry

  • Гуру
  • 6437
  • 741 / 3
  • Рисую дизайны
Re: Проблема с json_encode
« Ответ #5 : 06.08.2012, 11:29:24 »
Тут лучше идея возникла. Лучше в base64 закодить имхо.
кодируем:
Код: php
$srt = base64_encode($str);
декодируем:
Код: php
$srt = base64_decode($str);
Вставлять в тех местах, где у вас джейсон кодируется/декодируется. До и после, соответственно.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

trifonov1992

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Re: Проблема с json_encode
« Ответ #6 : 06.08.2012, 11:39:44 »
Тут лучше идея возникла. Лучше в base64 закодить имхо.
кодируем:
Код: php
$srt = base64_encode($str);
декодируем:
Код: php
$srt = base64_decode($str);
Вставлять в тех местах, где у вас джейсон кодируется/декодируется. До и после, соответственно.

Тоесть мне надо каждый файл в фтп который содержит json_encode декодировать кодом
Код
$srt = base64_decode($str);
?? правильно я понял?
*

Shustry

  • Гуру
  • 6437
  • 741 / 3
  • Рисую дизайны
Re: Проблема с json_encode
« Ответ #7 : 06.08.2012, 11:46:24 »
При чём тут файл? У вас же объект кодируется в строку джейсоном и куда-то отдаётся? Или как? А файлы надо просто посредством, например, Notepad++ переконвертить в UTF8 без BOM
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

trifonov1992

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Re: Проблема с json_encode
« Ответ #8 : 06.08.2012, 12:04:34 »
извини за тупость...Вот как я понял: к примеру есть файл: /components/com_adsmanager/views/edit/tmpl/default.php:


Код
<?php 
if (isset($this->warning_text))
echo $this->warning_text;
if (isset($this->error_text))
echo $this->error_text;
echo JText::_('ADSMANAGER_RULESREAD');
?>
<script type="text/javascript">
function CaracMax(text, max)
{
if (text.value.length >= max)
{
text.value = text.value.substr(0, max - 1) ;
}
}


function submitbutton(mfrm) {
var me = mfrm.elements;
var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");
var r_num = new RegExp("[^0-9\.,]", "i");
var r_email = new RegExp("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,3}$" ,"i");

var errorMSG = '';
var iserror=0;

<?php
if (function_exists("loadEditFormCheck")){
loadEditFormCheck();
}
?>

<?php if ($this->nbcats > 1)
{
?>
var form = document.adminForm;
var srcList = eval( 'form.selected_cats' );
var srcLen = srcList.length;
if (srcLen == 0)
{
errorMSG += <?php echo json_encode(JText::_('ADSMANAGER_FORM_CATEGORY')); ?>+" : "+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?>+'\n';
srcList.style.background = "red";
iserror=1;
}
else
{
for (var i=0; i < srcLen; i++) {
srcList.options[i].selected = true;
}
}
<?php
}
?>

if (mfrm.username && (r.exec(mfrm.username.value) || mfrm.username.value.length < 3)) {
errorMSG += mfrm.username.getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(sprintf( JText::_('ADSMANAGER_VALID_AZ09'), JText::_('ADSMANAGER_PROMPT_UNAME'), 4 )); ?>+'\n';
mfrm.username.style.background = "red";
iserror=1;
}
if (mfrm.password && r.exec(mfrm.password.value)) {
errorMSG += mfrm.password.getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(sprintf( JText::_('ADSMANAGER_VALID_AZ09'), JText::_('ADSMANAGER_REGISTER_PASS'), 6 )); ?>+'\n';
mfrm.password.style.background = "red";
iserror=1;
}

if (mfrm.email && !r_email.exec(mfrm.email.value) && mfrm.email.getAttribute('mosReq')) {
errorMSG += mfrm.email.getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_EMAIL')); ?>+'\n';
mfrm.email.style.background = "red";
iserror=1;
}

// loop through all input elements in form
for (var i=0; i < me.length; i++) {

if ((me[i].getAttribute('test') == 'number' ) && (r_num.exec(me[i].value))) {
errorMSG += me[i].getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_NUMBER')); ?>+'\n';
iserror=1;
}

// check if element is mandatory; here mosReq="1"
if ((me[i].getAttribute('mosReq') == 1)&&(me[i].style.visibility != 'hidden')) {
if (me[i].type == 'radio' || me[i].type == 'checkbox') {
var rOptions = me[me[i].getAttribute('name')];
var rChecked = 0;
if(rOptions.length > 1) {
for (var r=0; r < rOptions.length; r++) {
if (rOptions[r].checked) {
rChecked=1;
}
}
} else {
if (me[i].checked) {
rChecked=1;
}
}
if(rChecked==0) {
// add up all error messages
errorMSG += me[i].getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?>+'\n';
// notify user by changing background color, in this case to red
me[i].style.background = "red";
iserror=1;
}
}
if (me[i].value == '') {
// add up all error messages
errorMSG += me[i].getAttribute('mosLabel').replace('&nbsp;',' ') + ' : '+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?>+'\n';
// notify user by changing background color, in this case to red
me[i].style.background = "red";
iserror=1;
}
}
}

if(iserror==1) {
alert(errorMSG);
return false;
} else {
//Little hack to be able to return the selected_cats
<?php if ($this->nbcats > 1) { ?>
srcList.name = "selected_cats[]";
<?php } ?>
return true;
}
}

function updateFields() {
var form = document.adminForm;
var singlecat = 0;
var length = 0;

if ( typeof(document.adminForm.category )!= "undefined" ) {
singlecat = 1;
length = 1;
}
else
{
length = form.selected_cats.length;
}

<?php
foreach($this->fields as $field)
{
if (strpos($field->catsid, ",-1,") === false)
{
$name = $field->name;
if (($field->type == "multicheckbox")||($field->type == "multiselect"))
$name .= "[]";
?>
var input = document.getElementById('<?php echo $name;?>');
var trzone = document.getElementById('tr_<?php echo $field->name;?>');
if (((singlecat == 0)&&(length == 0))||
   ((singlecat == 1)&&(document.adminForm.category.value == 0)))
{
if (input != null)
input.style.visibility = 'hidden';
trzone.style.visibility = 'hidden';
trzone.style.display = 'none';
}
else
{
for (var i=0; i < length; i++) {
var field_<?php echo $field->name;?> = '<?php echo $field->catsid;?>';
var temp;
if (singlecat == 0)
temp = form.selected_cats.options[i].value;
else
temp = document.adminForm.category.value;

var test = field_<?php echo $field->name;?>.indexOf( ","+temp+",", 0 );
if (test != -1)
{
if (input != null)
input.style.visibility = 'visible';
trzone.style.visibility = 'visible';
trzone.style.display = '';
break;
}
else
{
if (input != null)
input.style.visibility = 'hidden';
trzone.style.visibility = 'hidden';
trzone.style.display = 'none';
}
}
}
<?php
}
}
?>
}
</script>
<div id="adsmanager_writead_header">
<div id="writead_header1"><?php echo JText::_('ADSMANAGER_HEADER1'); ?></div>
<div id="writead_header2"><?php echo JText::_('ADSMANAGER_HEADER2'); ?></div>
</div>
<fieldset id="adsmanager_fieldset">
<!-- titel -->
<legend>
<?php
if($this->isUpdateMode) {
  echo JText::_('ADSMANAGER_CONTENT_EDIT');
}
else {
  echo JText::_('ADSMANAGER_CONTENT_WRITE');
}
?>
</legend>
<!-- titel -->
  <!-- form -->
   <!-- category -->
   <table border='0'>
   <tr name='category'>
<td width="100"><?php echo JText::_('ADSMANAGER_FORM_CATEGORY'); ?></td>
<td>
<?php
 $target = JROUTE::_("index.php?option=com_adsmanager&task=save&Itemid=".$this->Itemid);
 if ($this->nbcats == 1)
 {
$this->displaySingleCatChooser(@$this->content->id,$this->conf,"com_adsmanager",$this->cats,$this->catid,$this->Itemid);
?>
<form action="<?php echo $target;?>" method="post" name="adminForm" enctype="multipart/form-data" onsubmit="return submitbutton(this)">
<?php
echo "<input type='hidden' name='category' value='$this->catid' />";
 }
 else
 {
?>
<form action="<?php echo $target;?>" method="post" name="adminForm" enctype="multipart/form-data" onsubmit="return submitbutton(this)">
<?php
if (!isset($this->content->catsid))
$this->content->catsid = 0;
$this->displayMultipleCatsChooser($this->content->catsid,$this->cats,$this->conf,"com_adsmanager",$this->Itemid);
 }
?>
    </td></tr>
<!-- fields -->
<?php
if (($this->nbcats != 1)||(!isset($this->catid))||($this->catid != 0))
{
/* Submission_type == 0 -> Account Creation with ad posting */
if ($this->account_creation == 1)
{
echo "<tr><td colspan='2'>".JText::_('ADSMANAGER_AUTOMATIC_ACCOUNT')."</td></tr>";
echo "<tr><td>".JText::_('ADSMANAGER_UNAME')."</td>\n";
if (isset($this->content->username))
{
$username = $this->content->username;
$password = $this->content->password;
$email = $this->content->email;
$name = $this->content->name;
$style = 'style="background-color:#ff0000"';
}
else
{
$username = "";
$password = "";
$email = "";
$name =  "";
$style = "";
}

if (isset($this->content->firstname))
$firstname = $this->content->firstname;
else
$firstname = "";

if (isset($this->content->middlename))
$middlename = $this->content->middlename;
else
$middlename = "";

if ($this->conf->comprofiler > 0)
{
include_once( JPATH_BASE .'/administrator/components/com_comprofiler/ue_config.php' );
$namestyle = $ueConfig['name_style'];
}
else
$namestyle = 1;

echo "<td><input $style class='adsmanager_required' mosReq='1' id='username' type='text' mosLabel='".htmlspecialchars(JText::_('ADSMANAGER_UNAME'),ENT_QUOTES)."' name='username' size='20' maxlength='20' value='$username' /></td></tr>\n";

echo "<tr><td>".JText::_('ADSMANAGER_PASSWORD')."</td>\n";
echo "<td><input $style class='adsmanager_required' mosReq='1' id='password' type='password' mosLabel='".htmlspecialchars(JText::_('ADSMANAGER_PASS'),ENT_QUOTES)."' name='password' size='20' maxlength='20' value='$password' />\n</td></tr>";
$emailField = false;
$nameField = false;
foreach($this->fields as $field)
{
if (($field->name == "email")&&((strpos($field->catsid, ",$this->catid,")!== false)||(strpos($field->catsid, ",-1,")!== false)))
{
$emailField = true;
// Force required
$field->required = 1;
}
else if (($field->name == "name")&&((strpos($field->catsid, ",$this->catid,")!== false)||(strpos($field->catsid, ",-1,")!== false)))
{
$nameField = true;
// Force required
$field->required = 1;
}
else if (($namestyle >= 2)&&($field->name == "firstname")&&((strpos($field->catsid, ",$this->catid,")!== false)||(strpos($field->catsid, ",-1,")!== false)))
{
$firstnameField = true;
// Force required
$field->required = 1;
}
else if( ($namestyle == 3)&&($field->name == "middlename")&&((strpos($field->catsid, ",$this->catid,")!== false)||(strpos($field->catsid, ",-1,")!== false)))
{
$middlenameField = true;
// Force required
$field->required = 1;
}
}
if (($namestyle >= 2)&&($firstnameField == false))
{
echo "<tr><td>".JText::_('ADSMANAGER_FNAME')."</td>\n";
echo "<td><input $style class='adsmanager_required' mosReq='1' id='firstname' type='text' mosLabel='".htmlspecialchars(JText::_('ADSMANAGER_FNAME'),ENT_QUOTES)."' name='firstname' size='20' maxlength='20' value='$firstname' /></td></tr>\n";
}
if ( ($namestyle == 3)&&($middlenameField == false))
{
echo "<tr><td>".JText::_('ADSMANAGER_MNAME')."</td>\n";
echo "<td><input $style class='adsmanager_required' mosReq='1' id='middlename' type='text' mosLabel='".htmlspecialchars(JText::_('ADSMANAGER_MNAME'),ENT_QUOTES)."' name='middlename' size='20' maxlength='20' value='$middlename' /></td></tr>\n";
}
if ($nameField == false)
{
echo "<tr><td>".JText::_('_NAME')."</td>\n";
echo "<td><input $style class='adsmanager_required' mosReq='1' id='name' type='text' mosLabel='".htmlspecialchars(JText::_('_NAME'),ENT_QUOTES)."' name='name' size='20' maxlength='20' value='$name' /></td></tr>\n";
}
if ($emailField == false)
{
echo "<tr><td>".JText::_('_EMAIL')."</td>\n";
echo "<td><input $style class='adsmanager_required' mosReq='1' id='email' type='text' mosLabel='".htmlspecialchars(JText::_('_EMAIL'),ENT_QUOTES)."' name='email' size='20' maxlength='20' value='$email' /></td></tr>\n";
}
}

/* Display Fields */
foreach($this->fields as $field)
{
echo $this->field->showFieldForm($field,$this->content,$this->default);
}
//echo $this->field->showFieldForm($this->fields['ad_price'],$this->content,$this->default);
?>
<!-- fields -->
<!-- image -->
<?php
if ($this->conf->nb_images > 0)
{
echo "<tr><td colspan='2'>".JText::_('ADSMANAGER_FORM_AD_IMAGE_TEXT');
echo "</td></tr>";
}

for($i = 1; $i < $this->conf->nb_images + 1; $i++)
{
$ext_name = chr(ord('a')+$i-1);
?>
<tr name="ad_picture<?php echo $i;?>"><td><?php echo JText::_('ADSMANAGER_FORM_AD_PICTURE')." ".$i; ?></td>
<td><input id="ad_picture<?php echo $i;?>" type="file" name="ad_picture<?php echo $i;?>" />
<?php
if ($this->isUpdateMode) {
$pic = JPATH_BASE."/images/com_adsmanager/ads/".$this->content->id.$ext_name."_t.jpg";
if ( file_exists( $pic)) {
echo "<img src='".$this->baseurl."images/com_adsmanager/ads/".$this->content->id.$ext_name."_t.jpg?time=".time()."' align='top' border='0' alt='image".$this->content->id."' />";
echo "<input type='checkbox' name='cb_image$i' value='delete' />".JText::_('ADSMANAGER_CONTENT_DELETE_IMAGE');
}
}
echo "</td></tr>";
}

if (function_exists("editPaidAd")){
editPaidAd($this->content,$this->isUpdateMode,$this->conf);
}
?>
<?php echo $this->event->onContentAfterForm ?>
<!-- buttons -->
<input type="hidden" name="gflag" value="0" />
<?php
if (isset($this->content->date_created))
echo "<input type='hidden' name='date_created' value='".$this->content->date_created."' />";

echo "<input type='hidden' name='isUpdateMode' value='".$this->isUpdateMode."' />";
echo "<input type='hidden' name='id' value='".@$this->content->id."' />";
?>
<tr>
<td>
<input type="submit" value="<?php echo JText::_('ADSMANAGER_FORM_SUBMIT_TEXT'); ?>" />
</td>
<td>
<input type="button" onclick='window.location="<?php echo JROUTE::_("index.php?option=com_adsmanager&view=list&Itemid=".$this->Itemid); ?>"' value="<?php echo JText::_('ADSMANAGER_FORM_CANCEL_TEXT'); ?>" />
</td>
</tr>
<!-- buttons -->
<?php
}
?>
  <?php echo JHTML::_( 'form.token' ); ?>
  </form>
  <!-- form -->
</table>
</fieldset>
<script type="text/javascript">
updateFields();
</script>


Я в нём
Код
errorMSG += <?php echo json_encode(JText::_('ADSMANAGER_FORM_CATEGORY')); ?>+" : "+<?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?>+'\n';
раскодирую вставляя код
Код
php utf8_decode
сверху и снизу...
*

Shustry

  • Гуру
  • 6437
  • 741 / 3
  • Рисую дизайны
Re: Проблема с json_encode
« Ответ #9 : 06.08.2012, 12:15:48 »
Сорри, я с АДСменеджером не работал, а в приведённом коде чёрт ногу сломит. php внутри js внутри php. О_о Я не могу разобраться.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

trifonov1992

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Re: Проблема с json_encode
« Ответ #10 : 06.08.2012, 12:34:12 »
Спасибо)) всем решение найдено - заменить везде <?php echo json_encode(JText::_('ADSMANAGER_REGWARN_ERROR')); ?> на <?php JText::_('ADSMANAGER_REGWARN_ERROR'); ?>. Решение предоставленно Grendy
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема со страницей "Общие настройки"

Автор ugrumy

Ответов: 7
Просмотров: 3011
Последний ответ 27.01.2018, 17:01:15
от philip
Нужна помощь, проблема с отображением, Joomla 2.5

Автор Vasilisa11

Ответов: 9
Просмотров: 704
Последний ответ 17.08.2017, 14:36:46
от nafania_19
Проблема с PHP 7 7.1

Автор lexxbry

Ответов: 12
Просмотров: 1551
Последний ответ 19.06.2017, 12:06:42
от lexxbry
Проблема с превьюшками картинок

Автор Vova_22

Ответов: 0
Просмотров: 326
Последний ответ 05.05.2017, 12:47:36
от Vova_22
Проблема с работой после установки расширения для скрытого текста

Автор saxarok696

Ответов: 2
Просмотров: 368
Последний ответ 02.04.2017, 00:27:03
от saxarok696