Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.39 KB | None | 0 0
  1. <?php
  2. {
  3.     function logging_1c($params = array()) {
  4.         { /* reset some values */
  5.             if (!(($params['do'] == 'set' && !isset($params['ros_name'][1])) || $params['do'] == 'get')) {
  6.                 $params['do'] = 'get';
  7.             }
  8.             $params['status'] = $params['status'] ? $params['status'] : "S";
  9.             $params['time_start'] = date('Y:m:d H:i:s');
  10.         }
  11.        
  12.         function check_table (&$params) {
  13.             $params['mysql_link'] = mysql_connect('localhost', 'pl', 'pl');
  14.             if  (mysql_select_db('pl', $params['mysql_link'])) {
  15.                 return mysql_query('CREATE TABLE IF NOT EXISTS logging_1c (
  16.                     id SERIAL,
  17.                     ros_name VARCHAR(200) NOT NULL,
  18.                     time_finish TIMESTAMP NOT NULL DEFAULT 00000000000000,
  19.                     time_start TIMESTAMP NOT NULL,
  20.                     status VARCHAR(1) NOT NULL,
  21.                     action VARCHAR(100) NOT NULL,
  22.                     PRIMARY KEY (id)
  23.                 )', $params['mysql_link']);
  24.             }
  25.             return false;
  26.         }
  27.        
  28.         function set (&$params) {
  29.             function set_add_row (&$params) {
  30.                 return mysql_query('INSERT INTO logging_1c SET
  31.                     ros_name="'.$params['ros_name'].'",
  32.                     time_finish="'.$params['time_finish'].'",
  33.                     time_start="'.$params['time_start'].'",
  34.                     status="'.$params['status'].'",
  35.                     action="'.$params['action'].'"'
  36.                 );
  37.             };
  38.             function set_update_row (&$params) {
  39.                 return mysql_query('UPDATE logging_1c
  40.                         SET
  41.                             status="'.$params['status'].'",
  42.                             time_finish="'.$params['time_start'].'"
  43.                         WHERE
  44.                             id="'.$params['id'].'"'
  45.                 );
  46.             };
  47.             $ar_res = mysql_fetch_assoc(mysql_query('SELECT id, ros_name, time_start FROM logging_1c WHERE status="S"'));
  48.             if ($ar_res) {
  49.                 $params['id'] = $ar_res['id'];
  50.                 if ($ar_res['ros_name'] == $params['ros_name'] && $params['status'] == "F") {
  51.                     set_update_row($params);
  52.                 }
  53.                 elseif ($ar_res['ros_name'] == $params['ros_name'] || (date('U') - strtotime($ar_res['time_start']) > 3600)) {
  54.                     set_add_row($params);
  55.                     $params['status'] = "W";
  56.                     set_update_row($params);
  57.                 }
  58.                 else {
  59.                     $params['status'] = "B";
  60.                     $params['time_finish'] = $params['time_start'];
  61.                     set_add_row($params);
  62.                     return false;
  63.                 }
  64.             }
  65.             else {
  66.                 set_add_row($params);
  67.             }
  68.             return true;
  69.         };
  70.        
  71.         // $get = function () use ($params) {
  72.         // };
  73.        
  74.         return check_table($params) && call_user_func($params['do'], $params);
  75.     }
  76. }
  77. logging_1c(array('do' => 'set', 'ros_name' => 'ГРК', 'action' => 'Обмен заказами'));
  78. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement