Приложение Cron

Новые релизы, обновления и т.п.

Модератор: immortal

Аватара пользователя
adzam
Сообщения: 602
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 20 раз
Поблагодарили: 138 раз

Приложение Cron

Сообщение adzam » Ср мар 08, 2017 9:19 am

Почему если в Crone запланировать какое-либо задание то при сохранении вверху экрана пишет ошибку,в принцепе все работает но при каждом сохранении ругается.
Это у меня что-то не так или так должно быть?
Безымянный.png
Безымянный.png (61.34 КБ) 8128 просмотров
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: Приложение Cron

Сообщение xor » Ср мар 08, 2017 2:33 pm

Не ругается, а предупреждает
c:\_majordomo\htdocs\lib\mysqli.class.php

Код: Выделить всё

   /**
    * Execute SQL SELECT query and return first record
    *
    * This method returns record assosiated array (by field names)
    *
    * @param string $query SQL SELECT query
    * @return array|void execution result
    * @access public
    */
   public function SelectOne($query)
   {
      if ($result = $this->Exec($query))
      {
         $rec = mysqli_fetch_array($result, MYSQL_ASSOC); //<----------------
         
         return $rec;
      }
      else
      {
         $this->Error($query);
      }
   } 
Может, подправить надо после перехода на mysqli?
http://www.php.su/mysqli_fetch_array

Код: Выделить всё

/* associative array */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);  //<-----------------------------
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]); 
Попробуйте поменять MYSQL_ASSOC на MYSQLI_ASSOC, перегрузитесь, если варнинг уйдет, Сергею напишите.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: Приложение Cron

Сообщение xor » Ср мар 08, 2017 9:44 pm

нет, там, вроде, это учтено
в c:\_majordomo\htdocs\lib\mysqli.class.php

Код: Выделить всё

if (!defined('MYSQL_BOTH')) {
 define('MYSQL_BOTH',MYSQLI_BOTH);
 define('MYSQL_NUM',MYSQLI_NUM);
 define('MYSQL_ASSOC',MYSQLI_ASSOC);
}
Ged
Сообщения: 105
Зарегистрирован: Чт окт 20, 2016 10:59 pm
Благодарил (а): 1 раз
Поблагодарили: 7 раз

Re: Приложение Cron

Сообщение Ged » Чт мар 09, 2017 11:44 am

Постою, послушаю.
Аватара пользователя
adzam
Сообщения: 602
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 20 раз
Поблагодарили: 138 раз

Re: Приложение Cron

Сообщение adzam » Чт мар 09, 2017 9:52 pm

А у меня в папке C:\_majordomo\htdocs\lib есть оба файла mysql.class.php и mysqli.class.php.
может должен быть только один?
1.jpg
1.jpg (74.98 КБ) 7975 просмотров
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Аватара пользователя
adzam
Сообщения: 602
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 20 раз
Поблагодарили: 138 раз

Re: Приложение Cron

Сообщение adzam » Чт мар 09, 2017 10:06 pm

xor писал(а): Попробуйте поменять MYSQL_ASSOC на MYSQLI_ASSOC, перегрузитесь, если варнинг уйдет, Сергею напишите.
Попробовал поменял, но предупреждение по прежнему выходит
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: Приложение Cron

Сообщение xor » Пт мар 10, 2017 1:50 am

Результаты разбора:
Что сделал:
в файле mysqli.class.php наставил отладок вокруг 211 строки:

Код: Выделить всё

   public function SelectOne($query)
   {  echo $query."<br>"; ////////////////////////////////////////////////////////////////////////
      if ($result = $this->Exec($query))
      {
         $rec = mysqli_fetch_array($result, MYSQL_ASSOC);
         print_r($rec);     ///////////////////////////////////////////////////////////////////////////
     echo "<br>";     ///////////////////////////////////////////////////////////////////////////
         return $rec;
      }
      else
      {
         $this->Error($query);
      }
   } 
получил вот:
(квадратные скобки вокруг CODE заменил на {}, а то коряво форматируется сдесь)

Код: Выделить всё

SELECT * FROM methods WHERE ID='105'
Array ( [ID] => 105 [OBJECT_ID] => 0 [CLASS_ID] => 35 [TITLE] => Update [DESCRIPTION] => Обновление задачи {code} => $name='Cron_'.$this->object_title; SQLSelectOne("DELETE FROM jobs WHERE title='".$name."'"); [CALL_PARENT] => 0 [SCRIPT_ID] => 0 [EXECUTED] => 2017-03-10 01:16:22 [EXECUTED_PARAMS] => a:5:{s:8:"PROPERTY";s:6:"Enable";s:9:"NEW_VALUE";s:1:"0";s:9:"OLD_VALUE";s:1:"0";s:6:"SOURCE";s:0:"";s:21:"ORIGINAL_OBJECT_TITLE";s:12:"Собаки";} ) 
DELETE FROM jobs WHERE title='Cron_Собаки'

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\_majordomo\htdocs\lib\mysqli.class.php on line 211
Видим, что варнинг выскакивает после безобидного DELETE FROM jobs WHERE title='Cron_Собаки'
Но, выше видно, что это вызывается кодом

Код: Выделить всё

 SQLSelectOne("DELETE FROM jobs WHERE title='".$name."'") 
что подразумевает возврат одной записи.
Полез в базу, выполнил запрос SELECT * FROM methods WHERE ID='105'
и поменял в поле CODE SQLSelectOne на SQLExec("DELETE FROM jobs WHERE title=''".$name."''")

Варнинг убрался, но, естественно, только для этой задачи.
Надо, наверное, автору Крона сообщить
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Приложение Cron

Сообщение Eraser » Пт мар 10, 2017 9:43 am

в модуле исправил
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
adzam
Сообщения: 602
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 20 раз
Поблагодарили: 138 раз

Re: Приложение Cron

Сообщение adzam » Сб мар 11, 2017 9:10 am

Обновился но ничего не поменялось.
Warning все равно появляются.
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 869 раз
Контактная информация:

Re: Приложение Cron

Сообщение Eraser » Сб мар 11, 2017 11:37 am

adzam писал(а):Обновился но ничего не поменялось.
Warning все равно появляются.
есть 2 варианта
-переустановить модуль
-исправить в объекте "Cron" метод "Update" = заменить SQLSelectOne на SQLExec
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Ответить