Beispiel #1
0
 static public function createdironserver($filelink) {
     $filelink = self::normalizefile($filelink);
     list($disk, $path) = explode(":", $filelink);
     $serpath = SHARE_ROOT_DIR . strtolower($disk) . "/";
     $dirs = explode("\\", $path);
     $filename = $dirs[count($dirs) - 1];
     unset($dirs[count($dirs) - 1]);
     $dir = $serpath;
     $cats = '';
     foreach ($dirs as $cat) {
         if (!empty($cat)) {
             $cats .= $cat . "/";
             $dir = multibyte::UTF_encode($serpath . $cats);
             if (!is_dir($dir)) {
                 mkdir($dir);
                 chmod($dir, 0777);
             }
         }
     }
     return $dir . multibyte::UTF_encode($filename);
 }
Beispiel #2
0
 public function storeFiles($files = false, $dir = '')
 {
     if ($files) {
         // файл если есть сохраним
         $curfile = array();
         foreach ($files as $file) {
             if (!empty($file[size])) {
                 $pathname = $_SERVER["DOCUMENT_ROOT"] . UPLOAD_FILES_DIR . "/" . multibyte::UTF_encode($dir);
                 if (!file_exists($pathname)) {
                     // содать каталог
                     @mkdir($pathname, 0777);
                 }
                 $filename = $pathname . "/" . multibyte::UTF_encode($file["name"]);
                 $i = 0;
                 while (file_exists($filename)) {
                     $i++;
                     $filename = $pathname . "/{$i}_" . multibyte::UTF_encode($file["name"]);
                 }
                 if (@move_uploaded_file($file["tmp_name"], $filename)) {
                     // переместилось удачно
                     @chmod($filename, 0777);
                     $filename = multibyte::UTF_decode($filename);
                     $curfile[$this->getFileId($filename)] = 1;
                     // сделаем структуру как уже существующие
                 } else {
                     return false;
                 }
             }
         }
         return $curfile;
     } else {
         return array();
     }
 }
Beispiel #3
0
 public function getSlMpp($rec)
 {
     extract($rec);
     // получить данные в переменные
     $sql = "SELECT\r\n                    blockname AS board_name,\r\n                    CONCAT(orders.number,CONCAT(' от ',CONCAT(DATE_FORMAT(orderdate,'%d.%m.%Y'),CONCAT(' - ',CONCAT(posintz.numbers,' шт.'))))) AS letter,\r\n                    fullname AS customerfullname,\r\n                    posintz.numbers AS numbers,\r\n                    drlname AS frezfile,\r\n                    scomp AS copperc,\r\n                    ssolder AS coppers,\r\n                    CONCAT(CEIL(blocks.sizex),CONCAT('x',CEIL(blocks.sizey))) AS sizez,\r\n                    priem,\r\n                    tz.id as tzid,\r\n                    blocks.id AS block_id,\r\n                    customers.id AS customer_id,\r\n                    blocks.comment_id AS comment_id1,\r\n                    posintz.comment_id AS comment_id2,\r\n                    posintz.posintz AS posintz\r\n\r\n                    FROM posintz\r\n                    JOIN (customers,blocks,tz,\r\n                            orders)\r\n                    ON (blocks.id=posintz.block_id\r\n                        AND customers.id=orders.customer_id\r\n                        AND posintz.tz_id=tz.id\r\n                        AND tz.order_id=orders.id\r\n                        )\r\n                    WHERE posintz.id='{$posid}'";
     $rs = sql::fetchOne($sql);
     $rs = multibyte::UTF_encode($rs);
     $rec = array_merge($rec, $rs);
     extract($rs);
     $param = json_decode(multibyte::Unescape(sqltable_model::getComment($comment_id1)), true);
     if (empty($param)) {
         $param = array();
     }
     // если коментарий не JSON или неправильный JSON
     $rec[customerfullname] = html_entity_decode($rec[customerfullname]);
     // кавычки в названии
     $rec = array_merge($rec, $param);
     $rec[mkrfile] = "{$rec[frezfile]}.{$param[filext]}";
     $rec[comment1] = multibyte::UTF_encode($param["coment"]);
     $rec[comment2] = sqltable_model::getComment($comment_id2);
     $sql = "SELECT *, board_name AS boardname, sizex AS psizex,\r\n                        sizey AS psizey\r\n                FROM blockpos\r\n                JOIN (boards)\r\n                ON (boards.id=blockpos.board_id)\r\n                WHERE blockpos.block_id='{$block_id}'";
     $res = sql::fetchOne($sql);
     extract($res);
     $platonblock = $res[nib];
     $tolsh = $res[thickness];
     $rec[sizep] = sprintf("%5.1fx%5.1f", $res[sizex], $res[sizey]);
     $mask = $res[mask];
     $mark = $res[mark];
     $rec = array_merge($rec, compact('platonblock', 'numlam', 'rmark', 'immer', 'mask', 'layers', 'mark', 'commentp'));
     if ($customer_id == '8') {
         // радар
         $zagotinparty = 1;
     } else {
         $zagotinparty = 5;
     }
     $rec[zagotinparty] = $zagotinparty;
     if ($dozap === true) {
         $zagotovokvsego = ceil($dozapnumbers / $platonblock);
         $zag = $zagotovokvsego;
         $ppart = $dozapnumbers;
         $numpl1 = $numbers = $dozapnumbers;
         $part = -2;
         //$party;
     } elseif ($dozap == "zadel") {
         $part = -1;
         $zagotovokvsego = ceil($dozapnumbers["use"] / $platonblock);
         $zag = $zagotovokvsego;
         $ppart = $dozapnumbers["use"];
         $numpl1 = $numbers = $dozapnumbers["use"];
     } else {
         // в дозапуске указано сколько запускать в реале
         $zagotovokvsego = ceil($dozap / $platonblock);
         // общее количество заготовок + 15% потом может быть
         $zag = $party * $zagotinparty >= $zagotovokvsego ? $zagotovokvsego - ($party - 1) * $zagotinparty : $zagotinparty;
         $ppart = ceil($zagotovokvsego / $zagotinparty) > 1 ? isset($last) ? $numbers - (ceil($numbers / $platonblock / $zagotinparty) - 1) * $platonblock * $zagotinparty . "({$numbers})" : $zag * $platonblock . "({$numbers})" : $numbers;
     }
     $rec[last] = ceil($zagotovokvsego / $zagotinparty) <= $party;
     // реорганизуем для запонения сл одной строчкой
     $rec[number] = sprintf("%08d", $lanch_id);
     $platonblock = $zagotovokvsego * $platonblock;
     $rec[numonzag] = "{$rec[platonblock]} ({$platonblock})";
     $rec[znumbers] = "{$zag} ({$zagotovokvsego})";
     $rec[marktype] = stristr($rec[mark], multibyte::UTF_encode('PR')) ? multibyte::UTF_encode('Маркировка на PRINTARе') : multibyte::UTF_encode('Фотомаркировка');
     $rec[phm1] = strstr($rec[mark], '1') || strstr($rec[mark], '2') ? "+" : "-";
     $rec[phm2] = strstr($rec[mark], '2') ? "+" : "-";
     $rec[rmark] = $rec[rmark] == '1' ? "+" : "-";
     $rec[sizex] = ceil($rec[sizex]);
     $rec[sizey] = ceil($rec[sizey]);
     $rec[dataz] = date("d.m.Y");
     $rec[tolsh] = $tolsh;
     $rec[spm] = strstr($rec[mask], multibyte::UTF_encode('КМ')) ? "+" : "-";
     $rec[zhpm] = strstr($rec[mask], multibyte::UTF_encode('ЖМ')) ? "+" : "-";
     $rec[immer] = $rec[immer] == '1' ? "+" : "-";
     $rec[priempz] = strstr($priem, multibyte::UTF_encode('ПЗ')) ? "+" : "-";
     $rec[priemotk] = '+';
     // всегда
     $rec[copperc] = sprintf("%3.2f", $rec[copperc] / 10000);
     $rec[coppers] = sprintf("%3.2f", $rec[coppers] / 10000);
     $rec[lamel] = $rec[numlam] > 0 ? "+" : "-";
     // прокоментируем сопроводительный лист
     $rec[dozapcoment] = $rec[dozap] === true ? multibyte::UTF_encode('ДОЗАПУСК') : ($rec[dozap] == "zadel" ? multibyte::UTF_encode('ИЗ ЗАДЕЛА') : '');
     $rec[comment] = $rec[comment1] . " " . $rec[comment2] . " " . $rec[dozapcoment];
     $rec = array_merge($rec, compact('ppart', 'part', 'zagotovokvsego', 'zag'));
     return $rec;
 }