Перейти к содержимому


органайзер, on-line пользователи и прочее


Сообщений в теме: 207

#21 kowalski

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 11 Март 2012 - 06:30

выдает ошибку: Ошибка формирования события! .....чиво сделать то нужно? Чиво он от меня хочет?))

#22 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 11 Март 2012 - 16:19

Просмотр сообщенияkowalski (11 Март 2012 - 06:30) писал:

выдает ошибку: Ошибка формирования события!
представление Рабочий стол -> Отображение -> строка (предположительно) 215 содержит:
url:  '/cb_modules/fullcalendar/json-events.php?userID={$userID}',
Проверьте правильность расположения файла json-events.php
Папка cb_modules располагается в корневом каталоге сайта, а не в папке с базой cb

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#23 kowalski

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 12 Март 2012 - 04:15

json-events.php располагается именно в это папке, путь прописан правильно
Ошибка все равно появляется. В чем еще может быть причина?


Сервер Denwer3_Base_PHP52_2010-11-07_a2.2.4_p5.2.12_zendoptimizer_m5.1.40_pma3.2.3

Клиентская база 1.9.4

#24 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 12 Март 2012 - 10:06

Просмотр сообщенияkowalski (12 Март 2012 - 04:15) писал:

Клиентская база 1.9.4
Скорее всего в этом проблема
В подготовке данных для представления Рабочий стол есть строка
$userID = $user['id'];
Не уверен, что массив $user доступен в 1.9.4
Господа разработчики, подскажите направление.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#25 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 12 Март 2012 - 10:11

Если недоступен, включите доступ явно через global.

#26 kowalski

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 12 Март 2012 - 10:43

Просмотр сообщенияandibrag (12 Март 2012 - 10:06) писал:

Скорее всего в этом проблема
В подготовке данных для представления Рабочий стол есть строка
$userID = $user['id'];
Не уверен, что массив $user доступен в 1.9.4
Господа разработчики, подскажите направление.
Ну как бы он передает это строчку с ид пользователя, и этот ид совпадает с моим...
на 1.9.5 версии точно работать будет? мы пока смотрим просто, пробуем....

#27 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 12 Март 2012 - 11:38

Просмотр сообщенияkowalski (12 Март 2012 - 10:43) писал:

Ну как бы он передает это строчку с ид пользователя, и этот ид совпадает с моим...
именно так - отбирает данные для текущего пользователя
добавьте в верхнюю строку в подготовке данных, где определены глобальные переменные
global $user,$config,$smarty;
быть может и 1.9.4 заработает

Просмотр сообщенияkowalski (12 Март 2012 - 10:43) писал:

на 1.9.5 версии точно работать будет?
у меня работает
пусть поделятся те, кто установил

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#28 kowalski

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 12 Март 2012 - 15:45

нене, она и без глобала передает значение нормально...буду пытаться на 1.9.5 начить ставить

#29 moris_serg

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 15 Март 2012 - 16:27

Версия 1.9.5. Так же выдает ошибку: "Ошибка формирования события!" Папка cb_modules располагается в корневом каталоге сайта. json-events.phpрасполагается именно в это папке, путь прописан правильно. Подскажите, пожалуйста, что еще может быть?

#30 kowalski

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 15 Март 2012 - 16:39

о пля...я таки такой не один)))
ну так и чиво? ктонить расскажет нам?)

#31 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 15 Март 2012 - 20:02

Попробую по-моделировать. Быть может что-то упустил...
Нашел следующее.
В стандартной конфигурации поле Сотрудник переименовано на Исполнитель
Проверьте у себя. Если у вас также - в строке 38, замените $data['Сотрудник'] на $data['Исполнитель'].
Во всем файле необходимо произвести такую замену.
Далее...
Поле Кто добавил стало Назначил. Замените $data['Кто добавил'] на соответствующее во всем файле обязательно!
Также было удалено поле Тип задачи - это был список содержащий перечень вроде: Звонок, Встреча, Email, Коммерческое предложение и т.д. Лично меня оно устраивает и поныне. На работоспособность кода оно не влияет, но информация отображается не совсем корректно.
Кроме того претерпела изменения таблица Контрагенты. Исчезло поле Перезвонить. (Почему? Или все помнят когда нужно перезвонить?)
Варианта решения два:
первый - добавьте поле в таблицу;
второй - удалите с 87 по 114 строку.
Впрочем, так проще:
<?php
// Включаем модули и подключаемся к клиентской базе
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/config.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/mysql_connect.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/functions1.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/functions2.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/constants.php";
// определение входа с мобильного устройства
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb_modules/mobile.php";
if ($_GET['id']) { // если содержит id - обновляем данные в таблице Задания
$id  = $_GET['id'];
$date  = $_GET['date'];
$table = $_GET['table'];

// Извлекаем название таблицы
$sqlQuery  = "SELECT * FROM ". TABLES_TABLE . " WHERE `id`='" . $table . "';";
$result	= mysql_query($sqlQuery) or die(mysql_error());
$row   = mysql_fetch_assoc($result);

$new_data['Статус записи'] = '0';
$new_data['Срок сдачи'] = date('Y-m-d H:i:s',$date);
$new_data['Перезвонить'] = date('Y-m-d H:i:s',$date);
update_query($new_data,$row['name_table'],"id=$id");

}else{ // если переданные данные отсутсвуют - формируем календарь
$userID = $_GET['userID'];
$eventCSS = array('class_done'=>'grey','class_toMe'=>'green','class_fromMe'=>'blue'); // цвета событий
$arr_event = array();

// =================================================================================================
//		   Извлекаем данные из таблицы ЗАДАНИЯ
// =================================================================================================
$a_data = data_table("Задания", "`status`='0' AND `Срок сдачи`!='0000-00-00 00:00:00' AND (`user_id`= $userID OR `Исполнитель`=$userID)", "all");
foreach ($a_data as $data) {
  // Извлекаем ФИО пользователя
  $sqlQuery  = "SELECT * FROM ". USERS_TABLE . " WHERE `id`='" . $data['Исполнитель'] . "';";
  $result	= mysql_query($sqlQuery) or die(mysql_error());
  $user_row  = mysql_fetch_assoc($result);
  $user_fio  = $user_row['fio'];
  $titleTxt = mb_substr($data['Описание задания'], 0, 40,'utf-8');
  $titleTxt .= (strlen($titleTxt)>40)?' ...':'';

  // Формируем опции в зависимости от задания (выполнено, назначено мне, назначено мной)
  if ($data['Задание выполнено']=='Да'){
   $classCSS = 'class_done';
   $editable = false;
   $qTipText = "Для " . $user_fio . ".<br/>" . $data['Тип задачи'] .":<br/><em style='color:mediumslateblue;'>" .  $data['Описание задания'] . "</em>";
   $qTipText .= ($data['Результат'])?"<hr/><em style='color:DeepPink;'>" .  $data['Результат'] . "</em>":"";
   $title  = $data['Тип задачи'] .": " .  $titleTxt;
  }elseif ($data['Назначил']==$userID && $data['Исполнитель']!=$userID) {
   $classCSS = 'class_fromMe';
   $editable = ($data['Назначил']==$userID);
   $qTipText = "Для " . $user_fio . ".<br/>" . $data['Тип задачи'] .":<br/><em style='color:mediumslateblue;'>" .  $data['Описание задания'] . "</em>";
   $title  = "Для " . $user_fio . "." . $data['Тип задачи'] .": " .  $titleTxt;
  }else{
   $classCSS = ($data['Назначил']==$userID)?'class_toMe_editable':'class_toMe';
   $editable = ($data['Назначил']==$userID);
   $qTipText = $data['Тип задачи'] .":<br/><em style='color:mediumslateblue;'>" .  $data['Описание задания'] . "</em>";
   $title  = $data['Тип задачи'] .": " .  $titleTxt;
  };

  // заставляем задание мигать, если оно новое
  $taskTime = getdate(strtotime($data['Время добавления']));
  $wArr  = array('5','6');
  $taskDay = strtotime($taskTime['year']."-".$taskTime['mon']."-".$taskTime['mday']);
  // если запись была добавлена в пятницу, субботу или воскресенье - она считается Новой (мигает) до вторника
  $timeDelta = in_array($taskTime['wday'],$wArr)?(9-$taskTime['wday'])*86400:172800;
  $classCSS  .= ((time() - $taskDay) < $timeDelta)?' newTask':'';

  $arr_tmp=array(
   'id'   => $data['ID'],
   'title'  => $title,
   'start'  => $data['Срок сдачи'],
   'url'   => "view_line2.php?table=47&line=".$data['ID'],
   'className' => $classCSS,
   'editable' => $editable,
   'table'  => '47',
   'qTip'  => $qTipText);
  array_push($arr_event,$arr_tmp);
}

// =================================================================================================
//		 Формируем ПЕРЕЗВОНИТЬ из таблицы Контрагенты
// =================================================================================================
$a_data = data_table("Контрагенты", "`status`='0' AND `Перезвонить`!='0000-00-00 00:00:00' AND `user_id`= $userID", "all");
foreach ($a_data as $data) {
  $classCSS = 'class_call';
  $editable = true;
  $qTipText = "Перезвонить: " .  $data['Информационное название'] . "<br/><em style='color:mediumslateblue;'>";
  if ($data['Мобильный телефон']) $qTipText .= "<br/>Моб.тел.:" . callNumber($data['Мобильный телефон']);
  if ($data['Телефон']) $qTipText .= "<br/>Тел.:" . callNumber($data['Телефон']);
  $qTipText .= "</em>";
/*  if($mobile)
  {
   $qTipText = preg_replace("/(.+:)/>^( +)?((\+?7|8) ?)?((\(\d{3}\))|(\d{3}))?( )?(\d{3}[\- ]?\d{2}[\- ]?\d{2})( +)?$/m","$1$2
  }*/
  $title  = "Перезвонить: " .  $data['Информационное название'];

  $arr_tmp=array(
   'id'   => $data['ID'],
   'title'  => $title,
   'start'  => $data['Перезвонить'],
   'url'   => "view_line2.php?table=42&line=".$data['ID'],
   'className' => $classCSS,
   'editable' => $editable,
   'table'  => '42',
   'qTip'  => $qTipText);
  array_push($arr_event,$arr_tmp);
}
   echo json_encode($arr_event);
}
?>
Все, что вы хотите показать в подсказке при наведении на событие, помещаете в переменную $qTipText.
То, что необходимо отразить в поле события (в самом календаре) - в $title.

Сообщение отредактировал andibrag: 15 Март 2012 - 21:55

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#32 kowalski

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 16 Март 2012 - 05:21

Спасибо) заработало)

#33 kowalski

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 16 Март 2012 - 05:24

А можно как то сделать, чтобы при щелчке по дню календаря, можно было добавлять задачу?

#34 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 16 Март 2012 - 11:05

Просмотр сообщенияkowalski (16 Март 2012 - 05:24) писал:

А можно как то сделать, чтобы при щелчке по дню календаря, можно было добавлять задачу?
можно
сейчас времени нет на доработку функционала
если знакомы с программированием, подробнее о календаре читайте в документации

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#35 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 16 Март 2012 - 12:36

перезалил файл mobile.php
предыдущий не совсем корректно работал

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#36 moris_serg

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 20 Март 2012 - 23:30

К сожалению у меня так и не заработало. Огромная просьба, если не трудно, написать json-events.php для полностью стандартной конфигурации 1.9.5. У меня явно идет несоответствие полей в таблицах, а разобраться, где неправильно, никак не получается.

#37 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 21 Март 2012 - 01:28

<?php
// Включаем модули и подключаемся к клиентской базе
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/config.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/mysql_connect.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/functions1.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/functions2.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/constants.php";
// определение входа с мобильного устройства
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb_modules/mobile.php";
if ($_GET['id']) { // если содержит id - обновляем данные в таблице Задания
$id  = $_GET['id'];
$date  = $_GET['date'];
$table = $_GET['table'];
// Извлекаем название таблицы
$sqlQuery  = "SELECT * FROM ". TABLES_TABLE . " WHERE `id`='" . $table . "';";
$result = mysql_query($sqlQuery) or die(mysql_error());
$row   = mysql_fetch_assoc($result);
$new_data['Статус записи'] = '0';
$new_data['Срок сдачи'] = date('Y-m-d H:i:s',$date);
$new_data['Перезвонить'] = date('Y-m-d H:i:s',$date);
update_query($new_data,$row['name_table'],"id=$id");
}else{ // если переданные данные отсутсвуют - формируем календарь
$userID = $_GET['userID'];
$eventCSS = array('class_done'=>'grey','class_toMe'=>'green','class_fromMe'=>'blue'); // цвета событий
$arr_event = array();
// =================================================================================================
//				 Извлекаем данные из таблицы ЗАДАНИЯ
// =================================================================================================
$a_data = data_table("Задания", "`status`='0' AND `Срок сдачи`!='0000-00-00 00:00:00' AND (`user_id`= $userID OR `Исполнитель`=$userID)", "all");
foreach ($a_data as $data) {
  // Извлекаем ФИО пользователя
  $sqlQuery  = "SELECT * FROM ". USERS_TABLE . " WHERE `id`='" . $data['Исполнитель'] . "';";
  $result	   = mysql_query($sqlQuery) or die(mysql_error());
  $user_row  = mysql_fetch_assoc($result);
  $user_fio  = $user_row['fio'];
  $titleTxt = mb_substr($data['Описание задания'], 0, 40,'utf-8');
  $titleTxt .= (strlen($titleTxt)>40)?' ...':'';
  // Формируем опции в зависимости от задания (выполнено, назначено мне, назначено мной)
  if ($data['Задание выполнено']=='Да'){
   $classCSS = 'class_done';
   $editable = false;
   $qTipText = "Для " . $user_fio . ".<br/>" . $data['Тип задачи'] .":<br/><em style='color:mediumslateblue;'>" .  $data['Описание задания'] . "</em>";
   $qTipText .= ($data['Результат'])?"<hr/><em style='color:DeepPink;'>" .  $data['Результат'] . "</em>":"";
   $title  = $titleTxt;
  }elseif ($data['Назначил']==$userID && $data['Исполнитель']!=$userID) {
   $classCSS = 'class_fromMe';
   $editable = ($data['Назначил']==$userID);
   $qTipText = "Для " . $user_fio . ":<br/><em style='color:mediumslateblue;'>" .  $data['Описание задания'] . "</em>";
   $title  = "Для " . $user_fio . ": " .  $titleTxt;
  }else{
   $classCSS = ($data['Назначил']==$userID)?'class_toMe_editable':'class_toMe';
   $editable = ($data['Назначил']==$userID);
   $qTipText = "<em style='color:mediumslateblue;'>" .  $data['Описание задания'] . "</em>";
   $title  = $titleTxt;
  };
  // заставляем задание мигать, если оно новое
  $taskTime = getdate(strtotime($data['Время добавления']));
  $wArr  = array('5','6');
  $taskDay = strtotime($taskTime['year']."-".$taskTime['mon']."-".$taskTime['mday']);
  // если запись была добавлена в пятницу, субботу или воскресенье - она считается Новой (мигает) до вторника
  $timeDelta = in_array($taskTime['wday'],$wArr)?(9-$taskTime['wday'])*86400:172800;
  $classCSS  .= ((time() - $taskDay) < $timeDelta)?' newTask':'';
  $arr_tmp=array(
   'id'   => $data['ID'],
   'title'  => $title,
   'start'  => $data['Срок сдачи'],
   'url'   => "view_line2.php?table=47&line=".$data['ID'],
   'className' => $classCSS,
   'editable' => $editable,
   'table'  => '47',
   'qTip'  => $qTipText);
  array_push($arr_event,$arr_tmp);
}
   echo json_encode($arr_event);
}
?>
Попробуйте в таком варианте.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#38 moris_serg

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 21 Март 2012 - 21:20

Ошибка пропала, данные появились как в таблице, так и в подсказке при наведении, что безусловно радует! Однако:
1) неправильно устанавливается время задачи (все время почему-то "12 am" и почему-то в календаре показывает как "12a");
2) новая задача не мигает и выходит синим цветом (попробовал заменить на: $taskTime = getdate(strtotime($data['Добавлено'])); цвет поменялся, но поле так и не мигает;
3) при перемещении задачи на другой день, смещаются все остальные задачи;
4) при выборе задачи и нажатии на нее в календаре было сообщение что линия отсутствует - вылечилось следующим изменением:
'url' => "view_line2.php?table=47&line=".$data['Номер'], задача стала открываться.

#39 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 21 Март 2012 - 22:51

Просмотр сообщенияmoris_serg (21 Март 2012 - 21:20) писал:

1) неправильно устанавливается время задачи (все время почему-то "12 am" и почему-то в календаре показывает как "12a");
2) новая задача не мигает и выходит синим цветом (попробовал заменить на: $taskTime = getdate(strtotime($data['Добавлено'])); цвет поменялся, но поле так и не мигает;
3) при перемещении задачи на другой день, смещаются все остальные задачи;
4) при выборе задачи и нажатии на нее в календаре было сообщение что линия отсутствует - вылечилось следующим изменением:
'url' => "view_line2.php?table=47&line=".$data['Номер'], задача стала открываться.
1). По умолчанию в стандартной конфигурации поле Срок сдачи не содержит времени, для этого сделано дополнительное поле Время. Идея хорошая, но содержать может только целые значения, т.е. 10-30 там не установить. Поэтому я от него отказался и ввел время в Срок сдачи - проще говоря, поставил галочку в настройках поля напротив Отображать время.
2). Часть кода не совсем корректно работает. В частности, задание не мигает, а просто подсвечивается другим цветом. Кроме того, оно завязано у меня на еще ряд дополнений не входящих в стандартную конфигурацию. Думаю потребуется доработка с моей стороны и терпение с Вашей.
3) и 4) найдите кусок кода, где формируется массив arr_tmp и замените на
$arr_tmp=array(
   'id'   => $data['Номер'],
   'title'  => $title,
   'start'  => $data['Срок сдачи'],
   'url'   => "view_line2.php?table=47&line=".$data['Номер'],
   'className' => $classCSS,
   'editable' => $editable,
   'table'  => '47',
   'qTip'  => $qTipText);
Или замените просто $data['ID'] на $data['Номер']. Пока все.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#40 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 22 Март 2012 - 08:54

Просмотр сообщенияandibrag (21 Март 2012 - 22:51) писал:

По умолчанию в стандартной конфигурации поле Срок сдачи не содержит времени, для этого сделано дополнительное поле Время. Идея хорошая, но содержать может только целые значения, т.е. 10-30 там не установить. Поэтому я от него отказался и ввел время в Срок сдачи - проще говоря, поставил галочку в настройках поля напротив Отображать время.
Под полем "Время" имеется ввиду время в часах, необходимое на выполнение задачи (длительность задания). Т.е. одно другому не мешает.





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных