- Форум CRM программы Клиентская база
- → Публикации relise
Публикации relise
18 публикаций создано relise (учитываются публикации только с 22-Май 23)
#19290 органайзер, on-line пользователи и прочее
Отправлено от relise в 27 Июнь 2013 - 16:17 in Конфигурации
#19278 органайзер, on-line пользователи и прочее
Отправлено от relise в 27 Июнь 2013 - 10:46 in Конфигурации
#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 Как это сделать
#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\"> </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 Конфигурации
#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 Конфигурации
Я тоже подозреваю, что 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: " ◄ ", next: " ► ", prevYear: " << ", nextYear: " >> ", 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;" > </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 Предложения по доработке
Лицензию планируем к покупке.
Есть один вопрос. При установке локального сервера он устанавливается на диск C: и путь установки поменять нельзя (это плохо), но это бог с ним, а вот мускульные базы лежат вместе с локальным сервером, фала my.ini я не нашел, а задача стоит положить мускульные БД на диск D: (он же внешняя СХД). Вопрос: как поменять путь расположения БД при отсутствии my.ini
З.Ы. ещё бы не плохо было бы предусмотреть запуск сервера КБ как сервиса.
Спасибо.
- Форум CRM программы Клиентская база
- → Публикации relise