В 564 строке замени $Itemid на $mbItemidNotice: Undefined variable: Itemid in z:\home\top100sex\www\components\com_myblog\frontview\frontview.class.php on line 564
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
В 564 строке замени $Itemid на $mbItemidNotice: Undefined variable: Itemid in z:\home\top100sex\www\components\com_myblog\frontview\frontview.class.php on line 564
function myxAddCategory($newCat) {
global $mosConfig_absolute_path, $database;
$newCat = html_entity_decode($newCat);
$newCat = preg_replace('/[\s]{2,}/', ' ', $newCat);
# Remove unwanted characters
$newCat = preg_replace('/[.`~!@#$%\^&*\(\)\+=\{\}\[\]|\\<">,\\/\^\*;:\?\'\\\]/', '', $newCat);
# UTF8 to ISO 8859
$newCat = preg_replace("/([\xC2\xC3])([\x80-\xBF])/e", "chr(ord('\\1')<<6&0xC0|ord('\\2')&0x3F)", $newCat);
$newCat = trim($newCat);
$database->setQuery("SELECT id from #__myblog_categories where name='$newCat'");
$categoryexists = $database->loadResult();
if ($newCat != "" and !$categoryexists) {
$cat = $newCat;
# ISO 8859 to UTF8
//$newCat = preg_replace("/([\x80-\xFF])/e", "chr(0xC0|ord('\\1')>>6).chr(0x80|ord('\\1')&0x3F)", $newCat);
$database->setQuery("INSERT INTO #__myblog_categories SET name='$cat'");
$database->query();
$database->setQuery("SELECT id FROM #__myblog_categories ORDER BY id DESC");
$newId = $database->loadResult();
# ISO 8859 to UTF8
$newCat = preg_replace("/([\x80-\xFF])/e", "chr(0xC0|ord('\\1')>>6).chr(0x80|ord('\\1')&0x3F)", $newCat);
$objResponse = new JAXResponse();
$objResponse->addCreate('categoryTable', 'tr', 'row' . $newId);
$objResponse->addCreate('row' . $newId, 'td', 'cell1' . $newId);
$objResponse->addAssign('cell1' . $newId, 'innerHTML', $newCat);
$objResponse->addCreate('row' . $newId, 'td', 'cell2' . $newId);
$objResponse->addAssign('cell2' . $newId, 'innerHTML', ' ');
$objResponse->addCreate('row' . $newId, 'td', 'cell3' . $newId);
$objResponse->addAssign('cell3' . $newId, 'innerHTML', "<span onclick=\"jax.icall('myblog','myxDeleteCategory','$newId');\" class=\"CommonTextButtonSmall\">Delete</span>");
$objResponse->addAssign("newCat", "value", "");
$objResponse->addAssign("categoryerror", "innerHTML", "<span class=\"successMsg\">Success! '$newCat' added.</span>");
$objResponse->sendResponse();
} else {
$objResponse = new JAXResponse();
# ISO 8859 to UTF8
$newCat = preg_replace("/([\x80-\xFF])/e", "chr(0xC0|ord('\\1')>>6).chr(0x80|ord('\\1')&0x3F)", $newCat);
$objResponse->addAssign("categoryerror", "innerHTML", "Error:Tag '$newCat' already exists.");
$objResponse->sendResponse();
}
return;
Это опечатка. Языки тут совсем не причем.1. Насколько я понял, это трабла разрабов и можно смело делать эту замену для всех языков?
Мне баг реппорты не присылают По мере необходимости буду фиксить. Пишите в тему, помогу чем смогу.2. А какие еще траблы удалось найти и пофиксить?
Дело в том что они криворукие чудовища. Для работы с БД они используют кодировку 8859, а для AJAX как и положено UTF-8. При этом абсолютно забывая, что эти преобразования убивают любую другую не базирующуюся на латыни кодировку. Так что эта проблема не только на 1251, но и в UTF-8 с русским языком. Я очистил код от этих преобразований, но это выход только для UTF-8. Для преобразования UTF-8 в 1251 и наоборот используйте функции: iconv() и mb_convert_encoding().Пошарился по офсайту. Похоже, дело в работе AJAX'a вот есть функция для коррекции в UTF8 (файл admin.myblog.php)
function myxAddCategory($newCat) {
global $mosConfig_absolute_path, $database;
$newCat = html_entity_decode($newCat);
$newCat = preg_replace('/[\s]{2,}/', ' ', $newCat);
# Remove unwanted characters
$newCat = preg_replace('/[.`~!@#$%\^&*\(\)\+=\{\}\[\]|\\<">,\\/\^\*;:\?\'\\\]/', '', $newCat);
$newCat = trim($newCat);
$database->setQuery("SELECT id from #__myblog_categories where name='$newCat'");
$categoryexists = $database->loadResult();
if ($newCat != "" and !$categoryexists) {
$cat = $newCat;
$database->setQuery("INSERT INTO #__myblog_categories SET name='$cat'");
$database->query();
$database->setQuery("SELECT id FROM #__myblog_categories ORDER BY id DESC");
$newId = $database->loadResult();
$objResponse = new JAXResponse();
$objResponse->addCreate('categoryTable', 'tr', 'row' . $newId);
$objResponse->addCreate('row' . $newId, 'td', 'cell1' . $newId);
$objResponse->addAssign('cell1' . $newId, 'innerHTML', $newCat);
$objResponse->addCreate('row' . $newId, 'td', 'cell2' . $newId);
$objResponse->addAssign('cell2' . $newId, 'innerHTML', ' ');
$objResponse->addCreate('row' . $newId, 'td', 'cell3' . $newId);
$objResponse->addAssign('cell3' . $newId, 'innerHTML', "<span onclick=\"jax.icall('myblog','myxDeleteCategory','$newId');\" class=\"CommonTextButtonSmall\">Delete</span>");
$objResponse->addAssign("newCat", "value", "");
$objResponse->addAssign("categoryerror", "innerHTML", "<span class=\"successMsg\">Success! '$newCat' added.</span>");
$objResponse->sendResponse();
} else {
$objResponse = new JAXResponse();
$objResponse->addAssign("categoryerror", "innerHTML", "Error:Tag '$newCat' already exists.");
$objResponse->sendResponse();
}
return;