- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Пытаюсь научится создавать категории в Джумле удаленно, через пхп скрипт.
Нашел в сети код для этого, не могу запустить.
{
$data['rules'] = array(
'core.edit.state' => array(),
'core.edit.delete' => array(),
'core.edit.edit' => array(),
'core.edit.state' => array(),
'core.edit.own' => array(1=>true)
);
$basePath = JPATH_ADMINISTRATOR.'/components/com_categories';
require_once $basePath.'/models/category.php';
$config = array('table_path' => $basePath.'/tables');
$category_model = new CategoriesModelCategory($config);
if(!$category_model->save($data)){
$err_msg = $category_model->getError();
return false;
}else{
$id = $category_model->getItem()->id;
return $id;
}
}
$db->setQuery("SELECT `name` FROM #__level1");
$result = $db->loadObjectList();
$alias = 0;
foreach ($result as $res) {
$alias++;
$category_data['id'] = NULL;
$category_data['parent_id'] = 0;
$category_data['title'] = $res->name;
$category_data['alias'] = $alias;
$category_data['extension'] = 'com_content';
$category_data['published'] = 1;
$category_data['language'] = '*';
$category_data['params'] = array('category_layout' => '','image' => '');
$category_data['metadata'] = array('author' => '','robots' => '');
$category_id = createCategory($category_data);
}
Ругается ошибкой
на строку - function createCategory( $data )
Что не так?
Уже была объявлена где то ранее function createCategory(
Я привел весь код скрипта, нет ничего похожего... 20 строка это и есть первое упоминание createCategory
Самое простое - переименуйти функцию createCategory() в вашем скрипте. Если ошибка пройдёт - значит где-тов подключаемых скриптах есть функция с таким же именем.
У вас как миниум подключается еще require_once $basePath.'/models/category.php'; и неизвестно что он за собой тянет
А так есть функция funciton_exists() - ей можно проверять не объявили ли уже такую функцию
Первое что попробовал - переименовал, ошибка не пропала, только имя изменилось.
ранее объявлен index.php on line 20
Возможно тут, повторное объявление.
а так, после in д.б. указано в каком файле и на какой линии.
типа
Fatal error: Cannot redeclare _noty() (previously declared in /home/web/domains/0.aap/index.php:74) in /home/web/domains/0.aap/protected/lib/functions.php on line 24
Что самое интересное - если последние строки скрипта изменить так
$category_id = createCategory($category_data); заменить на
var_dump ($category_data);
То я вижу вывод данных которые должен видеть.
если так:
var_dump($category_id);
то выводит bool(false) bool(false) bool(false) bool(false) .....
Это весь код файла или что-то "ну не значительное" ты не показал?
Ты меня уже знаешь :)) Вот весь код
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
set_time_limit(0);
define('DS', DIRECTORY_SEPARATOR);
require_once '/var/www/ugs/includes/defines.php';
require_once '/var/www/ugs/includes/framework.php';
$app = JFactory::getApplication('site')->initialise();
$db = JFactory::getDBO();
$query = $db->getQuery(true);
function createCategory( $data )
{
$data['rules'] = array(
'core.edit.state' => array(),
'core.edit.delete' => array(),
'core.edit.edit' => array(),
'core.edit.state' => array(),
'core.edit.own' => array(1=>true)
);
$basePath = JPATH_ADMINISTRATOR.'/components/com_categories';
require_once $basePath.'/models/category.php';
$config = array('table_path' => $basePath.'/tables');
$category_model = new CategoriesModelCategory($config);
if(!$category_model->save($data)){
$err_msg = $category_model->getError();
return false;
}else{
$id = $category_model->getItem()->id;
return $id;
}
}
$db->setQuery("SELECT `name` FROM #__level1");
$result = $db->loadObjectList();
$alias = 0;
foreach ($result as $res) {
$alias++;
$res->name = str_ireplace("& ", "& ", $res->name);
$res->name = str_ireplace("'", "\'", $res->name);
$category_data['id'] = NULL;
$category_data['parent_id'] = 0;
$category_data['title'] = $res->name;
$category_data['alias'] = $alias;
$category_data['extension'] = 'com_content';
$category_data['published'] = 1;
$category_data['language'] = '*';
$category_data['params'] = array('category_layout' => '','image' => '');
$category_data['metadata'] = array('author' => '','robots' => '');
$category_id = createCategory($category_data);
var_dump($category_id);
}
Опять похоже на какой-то двойной вызов файла или там где прописана вставка index.php вновь в себя же.
А если попробовать уйти от функции - как мне ее код корректно в цикл засунуть?