Пример #1
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->tpl_route_no = (int) gv('tpl_route_no', $_data);
     $this->branch_no = (int) gv('branch_no', $_data);
     $this->tpl_title = (string) gv('tpl_title', $_data);
     $this->update_time = (string) gv('update_time', $_data);
 }
Пример #2
0
 /**
  * update
  * @param int $_user_no
  * @param array $_data
  * @param boolean $_chg_user
  * @return boolean
  */
 public function updateRecord($_user_no, $_data, $_chg_user)
 {
     $adapter = GlobalAdapterFeature::getStaticAdapter();
     $connection = $adapter->getDriver()->getConnection();
     $connection->beginTransaction();
     $this->db->exchanegArray($_data);
     try {
         $row = $this->db->updateRecord($_user_no);
         if ($row && $_chg_user) {
             $tpl_route_no = gv('tpl_route_no', $_data);
             $r = new TplRouteUserTable($adapter);
             $r->deleteRouteUser($tpl_route_no);
             $row = $r->insertRecord($tpl_route_no, gv('user_no', $_data));
         }
         if ($row) {
             $connection->commit();
             return true;
         }
     } catch (\Exception $e) {
         $connection->rollback();
         if (IS_TEST) {
             echo $e->getMessage();
         }
         return false;
     }
 }
Пример #3
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->controller_no = (int) gv('controller_no', $_data);
     $this->controller_name = (string) gv('controller_name', $_data);
     $this->ctrl_description = (string) gv('ctrl_description', $_data);
     $this->update_time = (string) gv('update_time', $_data);
 }
Пример #4
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->sequence_no = (int) gv('sequence_no', $_data);
     $this->status = (int) gv('status', $_data);
     $this->branch_no = (int) gv('branch_no', $_data);
     $this->created = (int) gv('created', $_data);
 }
Пример #5
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->role_no = (int) gv('role_no', $_data);
     $this->branch_no = (int) gv('branch_no', $_data);
     $this->role_name = (string) gv('role_name', $_data);
     $this->update_time = (string) gv('update_time', $_data);
 }
Пример #6
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->section_no = (int) gv('section_no', $_data);
     $this->branch_no = (int) gv('branch_no', $_data);
     $this->section_name = (string) gv('section_name', $_data);
     $this->abbr_name = (string) gv('abbr_name', $_data, null);
     $this->update_time = (string) gv('update_time', $_data);
 }
Пример #7
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->category_no = (int) gv('category_no', $_data);
     $this->category_name = (string) gv('category_name', $_data);
     $this->cate_description = (string) gv('cate_description', $_data);
     $this->order_no = (int) gv('order_no', $_data);
     $this->update_time = (string) gv('update_time', $_data);
 }
Пример #8
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->tpl_doc_no = (int) gv('tpl_doc_no', $_data);
     $this->branch_no = (int) gv('branch_no', $_data);
     $this->tpl_title = (string) gv('tpl_title', $_data);
     $this->tpl_body = \stripslashes(\str_replace(" ", '', (string) gv('tpl_body', $_data)));
     $this->update_time = (string) gv('update_time', $_data);
 }
Пример #9
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->lang_no = (int) gv('lang_no', $_data);
     $this->lang_name = (string) gv('lang_name', $_data);
     $this->language = (string) gv('language', $_data);
     $this->lang_id = (string) gv('lang_id', $_data);
     $this->resource_id = (string) gv('resource_id', $_data);
     $this->update_time = (string) gv('update_time', $_data);
 }
Пример #10
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->status_no = (int) gv('status_no', $_data);
     $this->status_name = (string) gv('status_name', $_data);
     $this->stat_description = (string) gv('stat_description', $_data);
     $this->locked = (int) gv('locked', $_data);
     $this->order_no = (int) gv('order_no', $_data);
     $this->update_time = (string) gv('update_time', $_data);
 }
Пример #11
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->branch_no = (int) gv('branch_no', $_data);
     $this->branch_name = (string) gv('branch_name', $_data);
     $this->abbr_name = (string) gv('abbr_name', $_data);
     $this->timezone = (string) gv('timezone', $_data);
     $this->phone = (string) gv('phone', $_data);
     $this->address = (string) gv('address', $_data);
     $this->update_time = (string) gv('update_time', $_data);
 }
Пример #12
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->position_no = (int) gv('position_no', $_data);
     $this->branch_no = (int) gv('branch_no', $_data);
     $this->position_name = (string) gv('position_name', $_data);
     $this->abbr_name = (string) gv('abbr_name', $_data);
     $this->approval = (int) gv('approval', $_data);
     $this->priority = (int) gv('priority', $_data);
     $this->update_time = (string) gv('update_time', $_data);
 }
Пример #13
0
 public function exchanegArray($_data)
 {
     $this->id = (int) gv('id', $_data);
     $this->menu_item_name = (string) gv('menu_item_name', $_data);
     $this->branch_no = (string) gv('branch_no', $_data);
     $this->parent_id = (string) gv('parent_id', $_data);
     $this->menu_item_code = (string) gv('menu_item_code', $_data);
     $this->created = (string) gv('created', $_data);
     $this->modified = (string) gv('modified', $_data);
     $this->created_by = (string) gv('created_by', $_data);
     $this->approver_no = (int) gv('approver_no', $_data);
 }
Пример #14
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->page_no = (int) gv('page_no', $_data);
     $this->category_no = (int) gv('category_no', $_data);
     $this->controller_no = (int) gv('controller_no', $_data);
     $this->page_title = (string) gv('page_title', $_data);
     $this->page_uri = (string) gv('page_uri', $_data);
     $this->page_description = (string) gv('page_description', $_data);
     $this->icon = (string) gv('icon', $_data);
     $this->order_no = (int) gv('order_no', $_data);
     $this->use_mobile = (int) gv('use_mobile', $_data);
     $this->update_time = (string) gv('update_time', $_data);
 }
Пример #15
0
 /**
  * for 403 error
  */
 public function forbiddenAction()
 {
     $fm = $this->flashMessenger();
     $message = gv('0', $fm->getMessages());
     if ($message) {
         $values = array('message' => gv('0', $fm->getMessages()));
     } else {
         $values = array();
     }
     $this->layout('error/layout');
     $view = new ViewModel($values);
     $view->setTemplate('/error/403.phtml');
     return $view;
 }
Пример #16
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->decision_no = (int) gv('decision_no', $_data);
     $this->ref_no = (int) gv('ref_no', $_data);
     $this->branch_no = (int) gv('branch_no', $_data);
     $this->create_user = (int) gv('create_user', $_data);
     $this->decision_title = (string) gv('decision_title', $_data);
     $this->document = (string) gv('document', $_data);
     $this->remarks = (string) gv('remarks', $_data);
     $this->preferred_date = (string) gv('preferred_date', $_data);
     $this->status = (string) gv('status', $_data);
     $this->update_time = (string) gv('update_time', $_data);
     $this->status_no = (int) gv('status_no', $_data);
 }
Пример #17
0
 /**
  * get tag for confirm detail button
  * @param array $_attr
  * @param boolean $_disabled
  * @return string|boolean
  */
 public function printViewButton($_attr = array(), $_disabled = false)
 {
     if (!$_attr) {
         return false;
     }
     $url = gv('url', $_attr);
     $val = gv('value', $_attr);
     $id = gv('id', $_attr);
     $class = gv('class', $_attr);
     $h = (int) gv('height', $_attr, 800);
     $w = (int) gv('width', $_attr, 600);
     $f = (bool) gv('frame', $_attr);
     $t = gv('title', $_attr);
     echo '<button type="button" onclick="view_button(' . "'" . $url . "', " . $h . ", " . $w . ", " . ($f ? 1 : 0) . ');"' . ($id ? " id='{$id}'" : '') . ($class ? " class='{$class}'" : '') . ($t ? " title='{$t}'" : '') . ($_disabled ? ' disabled=disabled' : '') . ">" . $val . "</button>";
 }
Пример #18
0
 /**
  * select image (location:img/icon)
  * @return ViewModel
  */
 public function iconListAction()
 {
     $public = '/img/icon';
     $path = DOCUMENT_ROOT . '/public' . $public;
     $dir = dir($path);
     $row = array();
     while (($file = $dir->read()) !== false) {
         $info = pathinfo($file);
         if (gv('extension', $info)) {
             $row[$file] = $public . '/' . $file;
         }
     }
     $values = array('col_num' => 10, 'row' => $row);
     $view = new ViewModel($values);
     $view->setTemplate('/' . VIEW_DIR . '/image/icon.phtml');
     $view->setTerminal(true);
     return $view;
 }
Пример #19
0
 /**
  * show list
  * @return ViewModel
  */
 public function listAction()
 {
     $this->init();
     $success = 0 < $this->ctrlLv ? true : false;
     if (!$success) {
         return $this->redirect()->toRoute('app', array('controller' => 'failed', 'action' => 'forbidden'));
     }
     $fm = $this->flashMessenger();
     $message = gv('0', $fm->getMessages());
     // get search word
     $param = $this->search()->getSearchParam();
     if ($param) {
         $this->container()->set('search', json_encode($param));
     } else {
         $param = $this->container()->get('search');
         $param = json_decode($param, true);
     }
     // set belonging branch
     if (!$this->auth()->get('admin')) {
         $param['search-branch_no'] = $this->auth()->get('branch_no');
     }
     // ToDo : not yet implemented
     $form = new TplDocumentForm();
     $form->setListForm();
     if ($param) {
         $form->bind(get_array_object($param));
     }
     $form->get('submit')->setAttribute('value', 'Search');
     //        $form->get('submit')->setAttribute('value', '検索');
     $where = $this->search()->getSearchParamConv($param);
     if (4 > $this->ctrlLv) {
         $where = array_merge($where, array('deleted' => 0));
     }
     $order = $this->search()->getOrder();
     $current = $this->search()->getPage();
     $max = $this->search()->getDisplayNum();
     $db = new TplDocumentEntity();
     $page = $db->db()->getPageList($where, $order, $current, $max);
     $values = array('ctrlLv' => $this->ctrlLv, 'rows' => $page->getCurrentItems()->toArray(), 'page' => $page->getPages(), 'form' => $form, 'admin' => $this->auth()->get('admin'), 'message' => $message);
     $view = new ViewModel($values);
     $view->setTemplate('/' . VIEW_DIR . '/tpl-document/list.phtml');
     return $view;
 }
Пример #20
0
 /**
  * show list
  * @return ViewModel
  */
 public function listAction()
 {
     $this->init();
     $success = 0 < $this->ctrlLv ? true : false;
     if (!$success) {
         return $this->redirect()->toRoute('app', array('controller' => 'failed', 'action' => 'forbidden'));
     }
     $fm = $this->flashMessenger();
     $message = gv('0', $fm->getMessages());
     $where = array();
     if (4 > $this->ctrlLv) {
         $where = array_merge($where, array('deleted' => 0));
     }
     $order = $this->search()->getOrder();
     $current = $this->search()->getPage();
     $max = $this->search()->getDisplayNum();
     $db = new StatusEntity();
     $page = $db->db()->getPageList($where, $order, $current, $max);
     $values = array('ctrlLv' => $this->ctrlLv, 'rows' => $page->getCurrentItems()->toArray(), 'page' => $page->getPages(), 'admin' => $this->auth()->get('admin'), 'message' => $message);
     $view = new ViewModel($values);
     $view->setTemplate('/' . VIEW_DIR . '/status/list.phtml');
     return $view;
 }
Пример #21
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->tmp_no = (int) gv('tmp_no', $_data);
     $this->tmp_id = (string) gv('tmp_id', $_data);
     $this->life_time = (int) gv('life_time', $_data);
 }
Пример #22
0
 /**
  * password change page
  * @return ViewModel
  */
 public function changePwAction()
 {
     $this->layout('layout/index');
     // create token_id
     $token_id = make_token_id();
     $this->container()->set('token_id', $token_id);
     $fm = $this->flashMessenger();
     $values = array('token_id' => $token_id, 'login_id' => $this->container()->get('login_id'), 'err_msg' => gv('0', $fm->getMessages()));
     $view = new ViewModel($values);
     $view->setTemplate('/' . VIEW_DIR . '/index/change-pw.phtml');
     return $view;
 }
Пример #23
0
 public function dataDlAction()
 {
     $this->init();
     $request = $this->getRequest();
     // get edit page
     if (!$request->isPost()) {
         exit;
     }
     $work_no = $request->getPost('work_no');
     $charset = $request->getPost('charset');
     $db = new WorkUserEntity();
     $rows = $db->db()->getFinishedRecord($this->auth()->get('user_no'), $work_no, 1);
     if (!$rows) {
         $this->flashMessenger()->addMessage("Failed");
         //            $this->flashMessenger()->addMessage("処理失敗");
         return $this->redirect()->toRoute('app', array('controller' => 'work-user', 'action' => 'start'));
     }
     $data = '"' . $this->translator()->translate("Section") . '",' . '"' . $this->translator()->translate("User") . '",' . '"Login ID","Login PW"' . "\r\n";
     foreach ($rows as $row) {
         $data .= '"' . gv('section_name', $row) . '",' . '"' . gv('user_name', $row) . '",' . '"' . gv('login_id', $row) . '",' . '"' . gv('login_pw', $row) . '"' . "\r\n";
     }
     if ($charset && 'utf-8' != $charset) {
         $data = mb_convert_encoding($data, $charset, 'utf-8');
     }
     $values = array('filename' => 'user_list_' . date('Ymd') . '.csv', 'data' => $data);
     $view = new ViewModel($values);
     $view->setTemplate('/common/dl.phtml');
     $view->setTerminal(true);
     return $view;
 }
Пример #24
0
 /**
  * get max value of table
  * @param string $_column
  * @param boolean $_next
  * @return int|boolean
  */
 public function getMaxId($_column = null, $_next = false)
 {
     $column = $_column ? $_column : $this->primary;
     if (!$column) {
         return false;
     }
     $select = $this->getSql()->select();
     $select->columns(array('col' => new Expression('MAX(' . $column . ')')));
     $row = $this->selectWith($select)->toArray();
     $val = gv('col', gv(0, $row));
     if ($_next && is_numeric($val)) {
         return (int) $val + 1;
     } else {
         return (int) $val;
     }
 }
Пример #25
0
 /**
  * skelton file download
  * @return ViewModel
  */
 public function dlSkeltonAction()
 {
     $this->adminCheck();
     $request = $this->getRequest();
     if (!$request->isPost()) {
         exit;
     }
     $table_id = $this->params()->fromPost('table_id');
     $db = new Mysql();
     $baseName = substr($table_id, 2);
     $nameId = conv_nameId($baseName);
     $baseFolder = conv_folderId($baseName);
     $dl_type = $this->params()->fromPost('dl_type');
     $use_detail = $this->params()->fromPost('use_detail');
     $pk = gv('Column_name', $db->getTablePrimary($table_id));
     $branch = $db->checkTableColumn($table_id, 'branch_no');
     switch ($dl_type) {
         case 'ctrl':
             $table = array();
             $col = array();
             break;
         default:
             $table = $db->getTableInfo($table_id);
             $col = $db->getTableColumns($table_id);
             break;
     }
     $values = array('branch' => $branch, 'use_detail' => $use_detail, 'nameId' => $nameId, 'baseFolder' => $baseFolder, 'tbl' => gv(0, $table), 'col' => $col, 'pk' => $pk);
     $view = new ViewModel($values);
     $view->setTemplate('/developer/tpl_' . $dl_type . '.phtml');
     $view->setTerminal(true);
     return $view;
 }
Пример #26
0
 /**
  * get section select form
  * @param array $_data
  * @return array
  */
 public function getSectionList($_data)
 {
     $branch_no = gv('branch_no', $_data);
     $where = array('branch_no' => $branch_no);
     $db = new SectionTable();
     return $db->getPairs(null, null, 0, $where);
 }
Пример #27
0
 /**
  * update section and position (bundle)
  * @param int $_user_no
  * @param array $_data
  * @param int $_work_no
  * @return boolean
  */
 public function updateBatch($_user_no, $_data, $_work_no)
 {
     $adapter = GlobalAdapterFeature::getStaticAdapter();
     $connection = $adapter->getDriver()->getConnection();
     $connection->beginTransaction();
     $tmp_user_no = gv('tmp_user_no', $_data);
     $this->db->exchanegArray(array('section_no' => gv('section_no', $_data), 'position_no' => gv('position_no', $_data)));
     try {
         $row = $this->db->updateBatch($_user_no, $tmp_user_no, $_work_no);
         if ($row) {
             $connection->commit();
             return true;
         }
     } catch (\Exception $e) {
         $connection->rollback();
         if (IS_TEST) {
             echo $e->getMessage();
         }
         return false;
     }
 }
Пример #28
0
 public function getUserRouteList($_data)
 {
     $db = new TplRouteTable();
     return $db->getRouteUserPairs(gv('tpl_route_no', $_data));
 }
Пример #29
0
function dump_gv($node)
{
    global $classes;
    $root = [];
    $interfaces = [];
    $traits = [];
    $namespaces = [];
    $all = [];
    if ($node) {
        if (empty($classes[strtolower($node)])) {
            Log::err(Log::EFATAL, "{$node} not found");
        }
        $nodes = [];
        $nodes = walk_up($nodes, $node);
        $nodes = walk_down($nodes, $node);
        foreach ($nodes as $cn) {
            $all[] = $classes[strtolower($cn)];
        }
    } else {
        $all = $classes;
    }
    foreach ($all as $key => $entry) {
        $ns = empty($entry['namespace']) ? '' : $entry['namespace'];
        // Classify the entries first so we can colour them appropriately later
        if ($entry['flags'] & \ast\flags\CLASS_INTERFACE) {
            $interfaces[$ns][$key] = $entry['name'];
            $namespaces[$ns] = true;
        } else {
            if ($entry['flags'] & \ast\flags\CLASS_TRAIT) {
                $traits[$ns][$key] = $entry['name'];
                $namespaces[$ns] = true;
            } else {
                if (empty($entry['parent'])) {
                    $root[$ns][$key] = $entry['name'];
                    $namespaces[$ns] = true;
                } else {
                    $nodes[$ns][$key] = $entry['name'];
                    $namespaces[$ns] = true;
                }
            }
        }
        // Then work out the connections
        foreach ($entry['interfaces'] as $v) {
            if (empty($classes[strtolower($v)])) {
                continue;
            }
            $fe = $classes[strtolower($v)];
            if ($entry['file'] != 'internal' || $fe['file'] != 'internal') {
                $conns[$fe['namespace']][$fe['name']][] = $entry['name'];
                $seen[$fe['name']] = true;
                $seen[$entry['name']] = true;
            }
        }
        foreach ($entry['traits'] as $v) {
            if (empty($classes[strtolower($v)])) {
                continue;
            }
            $fe = $classes[strtolower($v)];
            if ($entry['file'] != 'internal' || $fe['file'] != 'internal') {
                $conns[$fe['namespace']][$fe['name']][] = $entry['name'];
                $seen[$fe['name']] = true;
                $seen[$entry['name']] = true;
            }
        }
        if (!empty($entry['parent'])) {
            if (empty($classes[strtolower($entry['parent'])])) {
                continue;
            }
            $fe = $classes[strtolower($entry['parent'])];
            if ($entry['file'] != 'internal' || $fe['file'] != 'internal') {
                $conns[$fe['namespace']][$fe['name']][] = $entry['name'];
                $seen[$fe['name']] = true;
                $seen[$entry['name']] = true;
            }
        }
    }
    // Now get rid of anything internal that doesn't have a direct connection to something in user-space
    $temp = $interfaces;
    foreach ($temp as $ns => $vv) {
        foreach ($vv as $k => $vv) {
            $entry = $classes[strtolower($vv)];
            if ($entry['file'] == 'internal' && empty($seen[$vv])) {
                unset($interfaces[$ns][$k]);
            }
        }
    }
    $temp = $traits;
    foreach ($temp as $ns => $vv) {
        foreach ($vv as $k => $vv) {
            $entry = $classes[strtolower($vv)];
            if ($entry['file'] == 'internal' && empty($seen[$vv])) {
                unset($traits[$ns][$k]);
            }
        }
    }
    $temp = $root;
    foreach ($temp as $ns => $vv) {
        foreach ($vv as $k => $vv) {
            $entry = $classes[strtolower($vv)];
            if ($entry['file'] == 'internal' && empty($seen[$vv])) {
                unset($root[$ns][$k]);
            }
        }
    }
    echo "digraph class_graph {\n\tgraph [ overlap=false, fontsize=6, size=\"80,60\"]\n\tnode  [ shape=box, style=filled, color=SandyBrown, fontcolor=Black, fontname=Utopia]\n\n";
    foreach (array_keys($namespaces) as $i => $ns) {
        if ($ns != '') {
            // Each namespace is a subgraph
            echo "subgraph cluster_{$i} {\n";
            echo "label=\"" . trim(str_replace('\\', '\\\\', $ns), '\\') . "\";\n";
            echo "style=filled;\n";
            echo "color=lightgrey;\n";
        }
        if (!empty($interfaces[$ns])) {
            foreach ($interfaces[$ns] as $v) {
                echo $v === $node ? gv($v, "shape=doubleoctagon, color=Gold") : gv($v);
            }
        }
        echo "\n";
        echo "node [ shape=box, color=YellowGreen, fontcolor=Black, fontname=Utopia]\n";
        if (!empty($traits[$ns])) {
            foreach ($traits[$ns] as $v) {
                echo $v === $node ? gv($v, "shape=doubleoctagon, color=Gold") : gv($v);
            }
        }
        echo "\n";
        echo "node [ shape=box, color=Wheat, fontcolor=Black, fontname=\"Utopia-Bold\"]\n";
        if (!empty($root[$ns])) {
            foreach ($root[$ns] as $v) {
                echo $v === $node ? gv($v, "shape=doubleoctagon, color=Gold") : gv($v);
            }
        }
        echo "\n";
        echo "node [ shape=box, color=Wheat, fontcolor=Black, fontname=Utopia]\n";
        if (!empty($nodes[$ns])) {
            foreach ($nodes[$ns] as $key => $v) {
                echo $v === $node ? gv($v, "shape=doubleoctagon, color=Gold") : gv($v);
            }
        }
        echo "\n";
        if (!empty($conns[$ns])) {
            foreach ($conns[$ns] as $key => $nns) {
                foreach ($nns as $n) {
                    if ($classes[strtolower($key)]['flags'] & \ast\flags\CLASS_INTERFACE) {
                        $style = 'dotted';
                    } else {
                        if ($classes[strtolower($key)]['flags'] & \ast\flags\CLASS_TRAIT) {
                            $style = 'dashed';
                        } else {
                            $style = 'solid';
                        }
                    }
                    echo gvline($key, $n, $style);
                }
            }
        }
        if ($ns != '') {
            echo "}\n";
        }
    }
    echo "}\n";
}
Пример #30
0
 /**
  * store array for each property
  * @param array $_data
  */
 public function exchanegArray($_data)
 {
     $this->tmp_user_no = (int) gv('tmp_user_no', $_data);
     $this->branch_no = (int) gv('branch_no', $_data);
     $this->section_no = (int) gv('section_no', $_data);
     $this->position_no = (int) gv('position_no', $_data);
     $this->login_id = (string) gv('login_id', $_data);
     $this->login_pw = (string) gv('login_pw', $_data);
     $this->user_name = (string) gv('user_name', $_data);
     $this->email = (string) gv('email', $_data);
     $this->phone = (string) gv('phone', $_data);
     $this->timezone = (string) gv('timezone', $_data);
     $this->lang_no = (int) gv('lang_no', $_data);
     $this->join_key = (string) gv('join_key', $_data);
     $this->status = (int) gv('status', $_data);
     $this->update_time = (string) gv('update_time', $_data);
     $this->finish_time = (string) gv('finish_time', $_data);
     $this->work_no = (int) gv('work_no', $_data);
 }