Обновление «Учет оргтехники и ТМЦ в браузере» до версии 3.49

Выложено на sourceforge.net

В основном эволюционные изменения. Ничего революционного нет. Исправлено ряд незначительных ошибок.

Из нового:

  • добавлено поле «в пути» в журнале имущества и в перемещениях
  • каждому пользователю можно добавить роли
  • добавлен модуль «управление устройствами» — можно например использовать для перезагрузок устройств
  • добавлен виджет — модуль «кто онлайн»
  • еще ряд мелочей

Обруфисикация email на WEB страничке…

Итак, мы не хотим чтобы сборщики почты всякие нашли наш email на странице? Что делаем? Пользуемся функцией javascript unescape, которая переводит их HEX строки в читабельный вид. Вот пример кода:

Перевести в hex, это уже другая проблема ))

Дерево на jquery с «drag and drop»

Для того чтобы организовать хранение дерева, массив данных должен содержать как минимум два параметра: id записи, и child — т.е. в иерархии к какой id относится эта запись. Пример child =0, если запись в «корне». Например структура в mysql в простейшем случае может быть такой: id,name,address,child

Для непосредственного отображения дерева удобно пользоваться jquery плагином dynatree. При перетаскивании элементов дерева при помощи «drag and drop», состояние ветвей записывается в БД. Ниже пример кода, какой он может быть: » Читать далее

Пример реализации прогресса на WEB странице

Задача: показать прогресс..ну например отправки большого количества СМС.

Использование Pchart для построения графиков на PHP

Классы Pchart представляют очень простой способ отрисовки графиков на PHP. Кроме того, в комплекте поставки идет «песочница», где можно визуально настроить параметры и посмотреть какой код нужно использовать для его построения,ну и собственно посмотреть как будет выглядеть примерно ваш график.

Вот пример графика

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
include("../../../../class/pchart/pData.class.php");
include("../../../../class/pchart/pDraw.class.php");
include("../../../../class/pchart/pImage.class.php");
$myData = new pData();  
 
while($date <= $dtend){
    $kof=1;
    $date = date('Y-m-d', strtotime($date.' + '.$kof.' days'));
    $ruser=GetAllStatByDate($date,$grp,$agnt,$lb);
    $activeusers=$ruser["activeusers"];
    $allaccountsb10=$ruser["allaccountsb10"];
    $allaccountsb1=$ruser["allaccountsb1"];
    $atherblock=$ruser["atherblock"];
    $allaccounts=$ruser["allaccounts"];
// добавляем данные
    $myData->addPoints($activeusers,"activeusers");
    $myData->addPoints($allaccountsb10,"allaccountsb10");
    $myData->addPoints($allaccountsb1,"allaccountsb1");
    $myData->addPoints($allaccounts,"allaccounts");
    $myData->addPoints($date,"Month");
};
// синонимы
$myData->setSerieDescription("activeusers","Активных учеток");
$myData->setSerieDescription("allaccountsb10","Блокировка 10");
$myData->setSerieDescription("allaccountsb1","Блокировка по балансу");
$myData->setSerieDescription("allaccounts","Всего учеток");
// что в низу
$myData->setAbscissa("Month");
// сто слева
$myData->setAxisUnit(1," Чел");
 
//задаем цвета графиков
$serieSettings = array("R"=>51,"G"=>255,"B"=>0,"Alpha"=>150);
$myData->setPalette("activeusers",$serieSettings);
 
$serieSettings = array("R"=>255,"G"=>38,"B"=>0,"Alpha"=>150);
$myData->setPalette("allaccountsb10",$serieSettings);
 
$serieSettings = array("R"=>255,"G"=>200,"B"=>0,"Alpha"=>150);
$myData->setPalette("allaccountsb1",$serieSettings);
 
$serieSettings = array("R"=>2,"G"=>11,"B"=>1,"Alpha"=>150);
$myData->setPalette("allaccounts",$serieSettings);
 
 
 
$myPicture = new pImage(1250,500,$myData); // <-- Размер холста
 
$Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
$myPicture->drawGradientArea(0,0,1250,500,DIRECTION_VERTICAL,$Settings);  
  
$myPicture->setFontProperties(array("FontName"=>"../../../../fonts/calibri.ttf","FontSize"=>8));
$myPicture->setGraphArea(50,20,1230,480); // <-- Размещение графика на холсте
$myPicture->drawScale();
$myPicture->drawBestFit(array("Alpha"=>40)); // <-- Прямая статистики
 
$myPicture->drawSplineChart();
$myPicture->drawPlotChart(array("DisplayValues"=>TRUE,"PlotBorder"=>TRUE,"BorderSize"=>0,"Surrounding"=>-60,"BorderAlpha"=>50)); // <-- Точки на графике
$myPicture->drawLegend(700,10,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));// <-- Размещение легенды
 
 
$unique = date("Y.m.d_H.i.s");
$gsFilename_Traffic = "traffic_".$unique.".png";
 
$myPicture->Render('../../../../files/'.$gsFilename_Traffic);
echo "<img src='files/$gsFilename_Traffic'>";