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


Публикации relise

18 публикаций создано relise (учитываются публикации только с 29-Март 23)


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

Отправлено от relise в 27 Июнь 2013 - 16:17 in Конфигурации

Аналогично. Я скачал КБ с сайта установил, но вот такая вот ерунда. Сейчас попробую установить КБ на компе который не в домене и проверить.



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

Отправлено от relise в 27 Июнь 2013 - 10:46 in Конфигурации

такое ощущение чтоб есть проблемы с локальным доступом на самом серваке (Win 2008 r2). Так как когда заходишь в папку с КБ постоянно просит права администратора.



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

Отправлено от relise в 27 Июнь 2013 - 10:44 in Конфигурации

Ничего не изменял и не подключал... перенес только таблицу "Работа с клиентами" из раздела "Работа" в раздел "Компании", это для удобства персонала и всё. А в остальном конфигурация не менялась.



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

Отправлено от relise в 27 Июнь 2013 - 08:18 in Конфигурации

Балалайка какая-то, всё тоже самое как и было...
Запустил в эксплорере

Сообщение: Предполагается наличие идентификатора, строки или числа
Строка: 429
Символ: 15
Код: 0
URI-код: http://192.168.0.8:7558/include/jquery/autocomplete/jquery.autocomplete.js


Сообщение: Предполагается наличие идентификатора, строки или числа
Строка: 719
Символ: 3
Код: 0
URI-код: http://192.168.0.8:7558/include/js/tips.js


Сообщение: Объект не поддерживает это свойство или метод
Строка: 53
Символ: 15
Код: 0
URI-код: http://192.168.0.8:7558/report.php?id=41


Сообщение: 'cbTipsDisplay' - определение отсутствует
Строка: 147
Символ: 5
Код: 0
URI-код: http://192.168.0.8:7558/include/js/events.js

Запустил в Хроме
Uncaught TypeError: Object [object Object] has no method 'ckeditor' report.php:53

<script type="text/javascript">$(function(){ $('textarea.html_editor').ckeditor(function(){ }, { width:'600px', height:'300px' }) })</script>
Uncaught TypeError: Object function (e,t){return new b.fn.init(e,t,r)} has no method 'cookie' tips.js:24
var prev_tips_counter = $.cookie("event[tip][count]"); // Предыдущее значение счётчика
------------------
Uncaught TypeError: Object function (e,t){return new b.fn.init(e,t,r)} has no method 'cookie' tabs.js:68
cbWindowObject.checkHash tabs.js:68
cbEventsObject.getRemoteEvents

if ($.cookie("event[hash]") == page_hash)
------------------
cbEventsObject.getRemoteEvents events.js:19
(anonymous function)

if (!cbWindowObject.activeWindow && !cbWindowObject.checkHash()) // Окно неактивно, вкладка стала неактивной



#19260 Права на отчеты

Отправлено от relise в 26 Июнь 2013 - 16:18 in Как это сделать

ok. в любом случае спасибо!



#19257 Права на отчеты

Отправлено от relise в 26 Июнь 2013 - 16:06 in Как это сделать

Спасибо! за подсказку. Почти разобрался.
Если не сложно подправьте ещё отчет по задачам, по такой же аналогии.
Огромнейшее Вас спасибо!



#19255 Права на отчеты

Отправлено от relise в 26 Июнь 2013 - 15:58 in Как это сделать

Если можно подправьте ещё отчет по задачам, по такой же аналогии.



#19253 Права на отчеты

Отправлено от relise в 26 Июнь 2013 - 15:54 in Как это сделать

Спасибо! Заработало. Прошу сообщить, что поменяли, чтоб я потом не задавал идиотских вопросов.



#19248 Права на отчеты

Отправлено от relise в 26 Июнь 2013 - 15:15 in Как это сделать

Предполагаю, что именно в этой строке определяется кому выводить отчет

if ($user['group_id'] == 1) $smarty->assign("adm_rules", 1);



#19247 Права на отчеты

Отправлено от relise в 26 Июнь 2013 - 15:11 in Как это сделать

Пожалуйста

  if ($_REQUEST['date1']) $date1 = date("d.m.Y",strtotime(form_eng_time($_REQUEST['date1'])));
  else $date1 = date("d.m.Y", mktime(0,0,0,date("m"),date("d")-7,date("Y")));
 
  if ($_REQUEST['date2']) $date2 = date("d.m.Y",strtotime(form_eng_time($_REQUEST['date2'])));
  else $date2 = date("d.m.Y");
  $date1_fet = form_eng_time($date1.' 00:00:00');
  $date2_fet = form_eng_time($date2.' 23:59:59');
 
  if ($_REQUEST['_type'] || $_REQUEST['_manager'] || $_REQUEST['_dates'])
    {
	  reset_filters(62);
	  if ($_REQUEST['_dates']) set_filter(724, "period", $date1." 00:00:00", $date2." 23:59:59");
	  if ($_REQUEST['_manager']) set_filter(727, "=", intval($_REQUEST['_manager']));
	  if ($_REQUEST['_type']) set_filter(773, "=", form_input($_REQUEST['_type']));
	  header("Location: ".$config["site_root"]."/fields.php?table=62");
    }
   
  if ($_REQUEST['manager']) $manager = intval($_REQUEST['manager']); elseif ($user['group_id']!=1) $manager = $user['id'];
 
  $result = sql_select_field(FIELDS_TABLE,"`type_value`","`id`='773'");
  $row = sql_fetch_assoc($result);
  $types = explode("\r\n", $row['type_value']);
  $h_pos = array();
  $data_date = array();
  $list_id_manager = '';
  $sums_total = 0;
  if (!$manager) {
    $data_total = array();
    $data_total['Имя'] = 'Всего';
  } 
 
  if ($manager) $sqlCond = "`user`.`id`='".$manager."'";
  else $sqlCond = "(`group`.`id`=1 or `group`.`id`=2 or `group`.`pid`=1 or `group`.`pid`=2) AND `user`.`group_id`=`group`.`id` AND `user`.`arc`=0";
 
  $result = sql_query("SELECT `user`.`id`, `user`.`fio` FROM `".USERS_TABLE."` AS `user`, `".GROUPS_TABLE."` AS `group` WHERE $sqlCond");
  while ($row = sql_fetch_assoc($result))
    {
	  $id_manager = $row['id'];
	  $name_manager = $row['fio'];
	  $list_id_manager .= $id_manager.',';
	  $sums[$id_manager] = 0;
	  $data_m[$id_manager]['Имя'] = $name_manager;
	  for ($i = 0; $i < count($types); $i++)
	    {	   
		  $subresult = sql_select_field("`".DATA_TABLE."62`","COUNT(*) AS `cnt`","`status`='0' and `f724`>='",$date1_fet,"' AND `f724`<='",$date2_fet,"' AND `f727`='$id_manager' AND `f773`='",$types[$i],"' AND `status`='0'");
		  $subrow = sql_fetch_assoc($subresult);
		  $data_m[$id_manager][$types[$i]] = $subrow['cnt'];
		  if (!$manager) $data_total[$types[$i]] += $subrow['cnt'];
		 
		  $sums[$id_manager] += $subrow['cnt'];
		  if (!$manager) $sums_total += $subrow['cnt'];
		  if (!in_array($types[$i], $h_pos)) $h_pos[] = $types[$i];
	    }
	   
	  $data_m[$id_manager]['Всего'] = "$sums[$id_manager]";
	  if (!in_array('Всего', $h_pos)) $h_pos[] = 'Всего';
    }
 
  if (!$manager) $data_total['Всего'] = "$sums_total";
 
  if ($user['group_id']==1)
	  $sel_manager = "<option value=''>Все</option>\r\n";
  $result = sql_query("SELECT DISTINCT `user`.`id`, `user`.`fio` FROM `".USERS_TABLE."` AS `user`, `".GROUPS_TABLE."` AS `group` WHERE `user`.`arc`=0 AND `user`.`group_id`!='777'");
  while ($row = sql_fetch_assoc($result))
	  $sel_manager.= "<option value='".$row['id']."'".(($row['id']==$manager)?" selected":"").">".$row['fio']."</option>\r\n";
  $result = sql_select_field("`".SCHEMES_TABLE."`","`color3`","`active`='1'");
  $row = sql_fetch_assoc($result);
  // для графика
  $date1_fet=date('d.m',strtotime($date1_fet)).".".(date('Y',strtotime($date1_fet))-2);
  $list_id_manager = substr($list_id_manager,0,-1);
  $tCn=0;
  $y_min = 0;
  $y_max = 0;
  foreach($types as $val)
  {
    $full=0;
    $subresult = sql_select_field("`".DATA_TABLE."62`"," COUNT(*) AS `cnt`, DATE_FORMAT(`f724`,'%Y-%m-%d') AS `date_act`, `f773` AS `action`","`status`='0' and `f724`>='",$date1_fet,"' AND `f724`<='",$date2_fet,"' AND `f773` LIKE '",$val,"' AND `status`='0' GROUP BY `action`, `date_act` ORDER BY `date_act`");
    while ($row = sql_fetch_assoc($subresult)) {
	  $full+=$row['cnt'];
	  $data_date [$row['action']] [$row['date_act']] = $full;
    }
    if(!$data_date [$row['action']])$tCn--;
    $tCn++;
  }
 
  if($tCn==0)$data_date [$types[0]][date('Y-m-d',strtotime($date1))] = 0;
 
  $types2 = $types;
  $d1 = substr(form_eng_time($date1),0,10); 
  $d2 = substr(form_eng_time(date('d.m.Y',strtotime($date2)+24*60*60)),0,10);
  $date_cur = $d1;
  $data_for_gr = array();
 
  // заполняем данными и удаляем промежуточные нули
  //$y_max = 0;
  foreach($types2 as $val) {
    $data_for_gr[$val] = array();
    if ($data_date[$val]) {
	  foreach($data_date[$val] as $k=>$v) {
	    //$data_for_gr[$val][date('Y-m-d',strtotime($k)-24*60*60)] = 0;
	    //$data_for_gr[$val][date('Y-m-d',strtotime($k)+24*60*60)] = 0;
	  }

	  foreach($data_date[$val] as $k=>$v) {
	    $data_for_gr[$val][$k] = $v;
	    if ($y_max < $v) $y_max = $v;
	  }
	  ksort($data_for_gr[$val]);
    }
  }
  //$y_max++;
 
  if($y_max>0)$y_max=$y_max+($y_max*0.1);
  elseif($y_min>0)$y_max=$y_max+($y_min*0.1);
  else $y_max=$y_max-($y_min*0.1);
   
  if($y_max < 4) $y_max = 4;

  // заполняем серии
  $is_graph = false;
  $graph_data = array();
  foreach($types2 as $val) {
    if ($data_for_gr[$val]) {
	  $is_graph = true or $is_graph;
    }
    $graph_data[] = $data_for_gr[$val];
  } 
 
  $d1 = substr(form_eng_time($date1),0,10); 
  $d2 = substr(form_eng_time($date2),0,10);
 
  $graph_settings = array('type_graph' => 'LineDate'
			  ,'div_id' => 'chart1'
			  ,'series_names' => "'".implode("','",$types2)."'"
			  ,'x_max' => $d2
			  ,'x_min' => $d1
			  ,'y_max' => $y_max
			  ,'zoom' => true
		    );
  $graph = draw_graph($graph_data, $graph_settings);
  $is_graph=false;
  if ($_REQUEST['xsl'] == 1)
    {
	  $xsl  = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body>\r\n";
	  $xsl .= "<table>\r\n";
	  $xsl .= "<tr><td><h1>Холодные звонки</h1></td></tr>\r\n";
	  $xsl .= "<tr><td><h3>Период с: $date1 по $date2</h3></td></tr>\r\n";
	  $xsl .= "</table>";
	  $xsl .= "<table>\r\n<tr><td width=\"100\">&nbsp;</td>\r\n";
	  foreach ($h_pos AS $s_pos) $xsl .= "<td width=\"100\" style=\"text-align: center\" align=\"center\"><b>$s_pos</b></td>\r\n";
	  $xsl .= "</tr>\r\n";
	  $pos = 1;
	  foreach ($data_m AS $m_id => $m_data)
	    {
		  $xsl .= "<tr>";
  
		  foreach ($m_data AS $value)
		    {
			  if ($pos % 2) $xsl .= "<td style=\"background-color: #d0d0d0; text-align: center\" bgcolor=\"#d0d0d0\" align=\"center\">$value</td>\r\n";
			  else $xsl .= "<td style=\"text-align: center\" align=\"center\">$value</td>\r\n";
		    }
		  $xsl .= "</tr>\r\n";
		  $pos += 1;
	    }
	  $xsl .= "</table></body></html>";
	  $name = 'perfomance_report.xls'; 
	  header("Content-type: application/vnd.ms-excel; charset=utf-8");
	  header("Content-Disposition: attachment; filename=".$name);
	  echo $xsl;
	  exit;
    }
  else
    {
	  if ($user['group_id'] == 1) $smarty->assign("adm_rules", 1);
	  $smarty->assign("color3", $row['color3']);
	  $smarty->assign("date1", $date1);
	  $smarty->assign("date2", $date2);
	  $smarty->assign("data", $data_m);
	  if (!$manager) $smarty->assign("data_total", $data_total);  
	  $smarty->assign("graph", $graph);		
	  $smarty->assign("is_graph", $is_graph);	  
	  $smarty->assign("h_pos", $h_pos);
	  $smarty->assign("manager", $manager);
	  $smarty->assign("sel_manager", $sel_manager);
	  $smarty->assign("user_group", $user['group_id']);
    }



#19244 Права на отчеты

Отправлено от relise в 26 Июнь 2013 - 14:26 in Как это сделать

Хорошо! Задам вопрос по другому. Где в коде представления указывается, что данный отчет в полном виде можно выводить только администраторам? И что нужно прописать, чтоб группе "Старшие менеджеры" он тоже выводился. В моем случае у администраторов выводится отчет "Холодные звонки", он не менялся.



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

Отправлено от relise в 26 Июнь 2013 - 13:04 in Конфигурации

qtip подставил тот же самый, который у Вас в архиве был. Ни каких изменений.



#19239 Права на отчеты

Отправлено от relise в 26 Июнь 2013 - 12:52 in Как это сделать

Добрый день!
Установленна КБ Версия: 1.9.8 ревизия 9053 локальная.
Создал группу "Старшие менеджеры" настроил права, всё нормально, таблицы и формы отображаются и редактируются как надо.
Но вот отчеты по продажам, по событиям выводятся не как у администраторов по всем менеджерам, а только отчет по текущему пользователю.
Отсюда вопрос, как группе "Старшие менеджеры" предоставить доступ у отчетам по всем менеджерам (как у администраторов)?
Спасибо!



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

Отправлено от relise в 26 Июнь 2013 - 12:40 in Конфигурации

Да именно она у меня и стоит.
Как вариант, можно подсунуть и старую ради попробовать.

Да забыл...
Название таблицы в которой ведутся события - Работа с клиентом.
В ней фиксируются звонки, встречи, письма, предложения.
Она же является подтаблицей таблицы Контрагенты, к которой соответственно храняться записи о всех клиентах.
У меня задача стоит чтоб из таблицы "Работа с клиентом", а так же из таблицы "Задания" в календарь выводились записи, с возможностью их drug&drop перемещения, за исключением заданий которые назначены. Но пока что-то даже события не видны.



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

Отправлено от relise в 26 Июнь 2013 - 11:41 in Конфигурации

Вот такие ошибки показывает хром

Uncaught TypeError: Object [object Object] has no method 'ckeditor' report.php:53

<script type="text/javascript">$(function(){ $('textarea.html_editor').ckeditor(function(){ }, { width:'600px', height:'300px' }) })</script>



Uncaught TypeError: Object function (e,t){return new b.fn.init(e,t,r)} has no method 'cookie' tips.js:24
var prev_tips_counter = $.cookie("event[tip][count]"); // Предыдущее значение счётчика


Uncaught TypeError: Object function (e,t){return new b.fn.init(e,t,r)} has no method 'cookie' tabs.js:68
cbWindowObject.checkHash tabs.js:68
cbEventsObject.getRemoteEvents
if ($.cookie("event[hash]") == page_hash)


cbEventsObject.getRemoteEvents events.js:19
(anonymous function)
if (!cbWindowObject.activeWindow && !cbWindowObject.checkHash()) // Окно неактивно, вкладка стала неактивной



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

Отправлено от relise в 26 Июнь 2013 - 09:22 in Конфигурации

andibrag - тестировалось в браузере Опера и Хром.
Я тоже подозреваю, что json--events не получает данные.



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

Отправлено от relise в 25 Июнь 2013 - 17:46 in Конфигурации

Здравствуйте! Вопрос автору темы.
Стоит КБ 1.9.8 ревизия 9053 локальная на win 2008 server
Задался вопросом прикрутить созданный вами рабочий стол.
Как было написанно Вами, я скачал файли и распаковал куда вы писали.
Создал новое представление для рабочего стола и добавил соответствующий код в "подготовку данных" и "отображение".
Перезагрузил страничку. Календарь появился, но без данных. Какие либо ошибки тоже не выводит.
Почитал дальше форум, вы порекомендовали внести в подготовку данных global $user,$config,$smarty;
Внес. Но ошибка не пропала. Даее вы порекомендовали переписать json-events.php переписал всё равно события в календаре не отобрадажаются. Перепроверил названия таблиц в скриптах - всё совпадает.
Обновил fullcalendar (v. 1.6.1), jquery (шел вместе с календарем), qtip (v. 2.0.1).
Лента напоминаний так же пуста, хотя события в базе есть.
Выкладываю то что у меня прописанно:
Подготовка данных:
// ===================== для представления ОРГАНАЙЗЕР
global $user,$config,$smarty;
$userID = $user['id'];
$smarty->assign("userID", $userID);

Отображение:

<style>
.tip_a
{
color:black;
padding:3px;
text-decoration:none;
}
.tip_a:hover
{
color:black;
text-decoration:none;
background:#ccc;
}
.start_link
{
color:#0075ce;
font :16px Arial;
font-weight:bold;
text-decoration:none;
}
.yellow_box
{
  color:gray;
  background:url('images/left_list_marker1.png') no-repeat 5px 50%;
  padding:8px 8px 8px 30px;
  margin:0 15px 0 0;
  display:block;
  text-decoration: none;
}
.yellow_box:hover a
{
  color:black;
}
.yellow_box:hover
{
background:url('images/left_list_marker1_hover.png') no-repeat 5px 50%;
background-color:#ffffcc;
color:black;
}
.important
{
color:red;
font-size:9px;
}
</style>
<script>
function change_tip_flag(id, arhive)
{
var im=document.getElementById('tip_flag_'+arhive+'_'+id);
var sc=im.src;
var new_state=1;
if (sc.indexOf('star.png')>0) new_state=0;
if (new_state) im.src='images/star.png';
		else im.src='images/star_gray.png';
  update_tip_ajax.method="POST";
  update_tip_ajax.call("arhive="+arhive+"&tip_show_id="+id+"&change_flag=1", ComRespTip);
}
</script>
{if $error_ie}<br><div style="color:red">{$lang['IE_old']}</div>{/if}
<table width="100%">
<tr>
<td valign="top" width='50%'>
{if $personal_array}
<h1>Настройте систему</h1>
{foreach from=$personal_array item=data}
<a style="border-top:1px silver solid;" class="yellow_box" href="{$data.url}"><span class="start_link">{$data.title}</span>{if $data.important} <sup class='important'>ВАЖНО!</sup>{/if}<br>{$data.description}</a>
{/foreach}
{/if}
<!-- ============================== НАЧАЛО ОРГАНАЙЗЕР ==================================== -->
<link rel="stylesheet" href="cb_modules/fullcalendar/fullcalendar.css" type="text/css">
<link rel="stylesheet" href="cb_modules/fullcalendar/fullcalendar.print.css" type="text/css" media="print">
<link rel="stylesheet" href="cb_modules/jquery/jquery-ui-1.8.16.custom.css" type="text/css" media="screen">
<link rel="stylesheet" href="cb_modules/qTip/jquery.qtip.css" type="text/css" media="screen">
<style type='text/css'>
#calendar_box {
  width: 99%;
  padding: 0px 30px 10px 0px;
  font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
  }
#calendar {
  padding: 8px;
  border: 1px solid silver!important;
  border-radius: 8px;
  }
.fc-content{
  background-color: white;
  }
th.fc-widget-header{
  background-color: #265778;
  color: white;
  }
.fc-view-month .fc-day-number{
  font-weight: bold;
  }
.fc-other-month .fc-day-number{
  font-weight: normal;
  }
td.fc-widget-content .fc-day div.fc-day-number{
  color: #ccc;
  }
.fc-view-year .fc-day-number{
  font-size: smaller;
  }
.fc-today .fc-day-number {
  background-color: #FFDC58;
  color: red;
  border-width: 1 px;
  border-color: red;
  }
td.fc-sat, td.fc-sun {
  background-color: MistyRose;
  }
.fc-today,{
  background-color: LemonChiffon;
  }
.fc-event-skin {
  background-color: transparent;
  border-color: black;
  }
.class_done,
.class_done .fc-event-skin{
  background-color: Grey !important;
  border-color: black;
  }
.class_order,
.class_order .fc-event-skin{
  background-color: DarkOrchid;
  border-color: black;
  }
.class_note,
.class_note .fc-event-skin{
  border-color: red;
  }
.class_toMe,
.class_toMe .fc-event-skin{
  background-color: MediumSeaGreen;
  border-color: black;
  }
.class_toMe_editable,
.class_toMe_editable .fc-event-skin{
  background-color: MediumSeaGreen;
  border-color: GoldenRod;
  }
.class_fromMe,
.class_fromMe .fc-event-skin{
  background-color: RoyalBlue;
  border-color: GoldenRod;
  }
.class_call,
.class_call .fc-event-skin{
  background-color: Sienna;
  border-color: GoldenRod;
  }
.newTask .fc-event-skin{
  background-color: HotPink;
}
</style>
<script type="text/javascript" src="cb_modules/jquery/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="cb_modules/fullcalendar/fullcalendar.js"></script>
<script type="text/javascript" src="cb_modules/jquery/jquery-ui-1.10.2.custom.min.js"></script>
<script src="cb_modules/qTip/jquery.qtip.min.js"></script>
<script type='text/javascript'>
$(document).ready(function() {
  $('#calendar').fullCalendar({
   firstDay: 1,
								 height: 400,
								 header: {
										 left: 'prev,next today',
										 center: 'title',
										 right: 'year,month,agendaWeek,agendaDay' //если отображение ГОД не нужно - удалите year из строки
								 },
								 monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
								 monthNamesShort: ['Янв.','Фев.','Март','Апр.','Май','Июнь','Июль','Авг.','Сент.','Окт.','Ноя.','Дек.'],
								 dayNames: ["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],
								 dayNamesShort: ["ВС","ПН","ВТ","СР","ЧТ","ПТ","СБ"],
							  
								 buttonText: {
										 prev: "&nbsp;&#9668;&nbsp;",
										 next: "&nbsp;&#9658;&nbsp;",
										 prevYear: "&nbsp;&lt;&lt;&nbsp;",
										 nextYear: "&nbsp;&gt;&gt;&nbsp;",
										 today: "Сегодня",
										 month: "Месяц",
										 week: "Неделя",
										 day: "День"
								 },
   editable: false,
   events: {
		url:  'cb_modules/fullcalendar/json-events.php?userID={$userID}',
		type: 'POST',
		allDayDefault: false,
		 error: function() {
								alert('Ошибка формирования события!');
				   }
   },
		 eventRender: function(event, element) {
		  element.qtip({
		 content: {
		  text: event.qTip
		  },
		 position: {
		  my: 'top left',
		  adjust: {
		   x: -10,  y: -10
		  },
		  viewport: $(window)
		 },
		 hide: {
		  delay: 300,
		  fixed: true
		 },
		 style: 'ui-tooltip-shadow'
		});
		 },
   eventDrop: function(event,dayDelta,minuteDelta,allDay,revertFunc) {
				   if (!confirm("Вы подтверждаете изменение даты и времени события?")) {
		 revertFunc();
				   }else{
						var evDate=event.start;
		 $.ajax({
		  url: 'cb_modules/fullcalendar/json-events.php',
		  cache: false,
		  data: "id="+event.id+"&date="+evDate.getTime()/1000+"&table="+event.table
		 });
				   }
   }

  });
});
</script>
<h1 align='center'>Органайзер</h1>
<div id='calendar_box'>
<div id='calendar'></div>
</div>
<!-- ============================== КОНЕЦ ОРГАНАЙЗЕР ==================================== -->

<!-- ============================== НАЧАЛО ССЫЛКИ НА СТАРТОВОЙ ========================== -->
<h1 align='center'>Начните работу{$admin_link}</h1>
{foreach from=$output_array item=data}
<a style="border-top:1px silver solid;" class="yellow_box" href="{$data.url}&back_url={$base64_current_url}"><span class="start_link">{$data.title}</span><br>{$data.description}</a>
{/foreach}
<!-- ============================== КОНЕЦ ССЫЛКИ НА СТАРТОВОЙ ========================== -->
</td>
<td valign="top" width=50%>
<h1 align='center'>Лента напоминаний</h1>
<table width="100%" cellspacing=0 cellpadding=0>
{foreach from=$tips_array item=data}
<tr>
<td valign="middle" align="right" style="border-bottom:1px #DDDDDD solid;font-size:13px;padding: 3px 15px 3px 3px;" width="15px"><img id='tip_flag_{$data.arhive}_{$data.id}' style='cursor:pointer;' src='images/star{if !$data.flag}_gray{/if}.png' onclick='change_tip_flag({$data.id},{$data.arhive})' title='{$lang.select_tip_flag1}'></td>
<td valign="top" align="left" style="border-bottom:1px #DDDDDD solid;font-size:12px;padding: 4px 4px 4px 0;"><a class="tip_a" style="color:{if !$data.inactive}black{else}gray{/if}; padding: 0;{if !$data.inactive}font-weight: bold;{else}text-decoration:line-through;{/if}" href="view_line{$config.vlm}.php?table={$data.table}&line={$data.line}&back_url={$base64_current_url}">{$data.message}</a></td>
<td valign="top" align="right" style="border-bottom:1px #DDDDDD solid;font-size:13px;padding: 3px 5px 3px 3px; color:{if !$data.inactive}black{else}gray{/if};" width="40px" nowrap>{$data.data}</td>
<td valign="middle" align="left" style="border-bottom:1px #DDDDDD solid;">
<div id='bg_divt_{$data.arhive}_{$data.id}' style="background-color:{$data.color};width:9px;" >&nbsp;</div>
{* Идиотизм связанный с strict mode невозможность задать div 100% выстоы *}
<script>
st=document.getElementById('bg_divt_{$data.arhive}_{$data.id}');
st.style.height=(st.parentNode.offsetHeight-10)+"px";
</script>
</td>
</tr>
{/foreach}
</table>
{foreach from=$error_array item=data}
<div style="border-bottom:1px #DDDDDD solid; padding:3px; font-size:12px; color:black">
<table width="100%">
<tr>
<td valign="top" align="left" style="color:#333">{$data.message}</td>
</tr>
</table>
</div>
{/foreach}
<div style="margin:7px 0 0 0; text-align:right;"><a style="padding:3px;" href="report.php?id={$archive_id}">Посмотреть все</a></div>
</td>
</tr>
</table>
<div style="height:25px;">{* Дырка внизу *}</div>

json-events.php

<?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/include/sql_functions.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 `f498`!='0000-00-00 00:00:00' AND (`user_id`= $userID OR `f492`=$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 = preg_replace("/(\n{1,})/ims"," ",$data['Описание задания']);
  //$titleTxt = utf8_encode($data['Описание задания']);
  //$titleTxt = mb_strimwidth($data['Описание задания'], 0, 40, ">>>");
  $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 `f539`!='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);
}
?>

Помогите пожалуйста!



#18970 Как переместить фаил баз данных на другой диск

Отправлено от relise в 11 Июнь 2013 - 09:21 in Предложения по доработке

Добрый день! Недавно установил Клиентская база 1.9.8 LOCAL.
Лицензию планируем к покупке.
Есть один вопрос. При установке локального сервера он устанавливается на диск C: и путь установки поменять нельзя (это плохо), но это бог с ним, а вот мускульные базы лежат вместе с локальным сервером, фала my.ini я не нашел, а задача стоит положить мускульные БД на диск D: (он же внешняя СХД). Вопрос: как поменять путь расположения БД при отсутствии my.ini

З.Ы. ещё бы не плохо было бы предусмотреть запуск сервера КБ как сервиса.

Спасибо.