예제 #1
0
 /**
  * @covers flowcode\wing\utils\type\TypeArray::toArray
  * @todo   Implement testToArray().
  */
 public function testToArray()
 {
     $input = new TestEntity("test");
     $output = TypeArray::toArray($input);
     print_r($output);
     $this->assertEquals($input->getName(), $output["name"]);
 }
예제 #2
0
<?php

require_once "TypeArray.class.php";
$data = new TypeArray();
$data->showArray();
예제 #3
0
 public static function getInstance($config = NULL)
 {
     if (self::$_instance == null) {
         self::$_instance = new TypeArray($config);
     }
     return self::$_instance;
 }
\t\t\t\t\t\t},
\t\t\t\t\t\t"1":{
\t\t\t\t\t\t\t"father_type_id":"65535",
\t\t\t\t\t\t\t"type_id":"65535",
\t\t\t\t\t\t\t"type_name":"secondmenu",
\t\t\t\t\t\t\t"type_level":"2",
\t\t\t\t\t\t\t"child_type_id":[],
\t\t\t\t\t\t\t"child":[]
\t\t\t\t\t\t}
\t\t\t\t\t}
\t\t\t\t}
\t\t\t}
\t\t}
EOT;
$tree->updateDataTreeDB($new_json);
$muilt_array = TypeArray::getInstance();
$muilt_array->showArray();
echo $muilt_array->getArrayJson();
$json_muilt_menu = <<<EOP
\t{"30":{"0":{"type_id":"65535","type_name":"PPT","type_level":"30"},"60":{"type_id":"65535","type_name":"WORD","type_level":"30"},"61":{"type_id":"65535","type_name":"XML","type_level":"30"}},"31":{"62":{"type_id":"65535","type_name":"语文","type_level":"31"},"63":{"type_id":"65535","type_name":"数学","type_level":"31"}}}
EOP;
//$muilt_array->updateDataArrayDB($json_muilt_menu);
//测试获取当前URL
require_once "function/function_getCurrentURL.php";
echo "<br/>currentURL:" . curPageURLWithFactor() . "<br/>";
//测试获取附件URL
require_once "class/ThreadWithType.class.php";
//$gc_attach=new GCAttachment(9,1,1,1,1452828687,"ac7547829c69fc9b0df4d23c.jpg",111082,"201601/15/113127yg5g6icztg55qt6z.jpg");
//测试抓取附件
/*
	$gc_attach=new GCAttachment(6,4,4);
 public static function insertThreadTypeSFun($tid, $type_id, $rate)
 {
     //参数检查
     if (empty($tid) || !is_array($type_id) || empty($type_id)) {
         echo "参数错误<br/>";
         return false;
     }
     //检查评论项,更改其格式(为空则置NULL,为str则加上单引号)
     if ($rate == NULL || !is_string($rate)) {
         $rate = "NULL";
     } else {
         $rate = "'{$rate}'";
     }
     //获取type的level,构造type数组(type_id=>type_level)
     $type = ThreadWithType::getTypeSFun($type_id);
     if (!$type) {
         echo "请检查type_id参数";
         return false;
     }
     //获取其数据库操作对象
     $db = GCDB::getInstance();
     //检查数据库是否已经存在该分类
     $sql = "";
     foreach ($type_id as $key => $value) {
         $sql = "SELECT count(*) as 'num' FROM `{$db->tablepre}forum_gc_excellent_thread` WHERE tid={$tid} AND type_id={$value};";
         $sqldata = $db->query($sql);
         $row = $sqldata->fetch_assoc();
         if ($row['num'] > 0) {
             //说明已存在该类关系,则去掉数组值
             unset($type_id[$key]);
             unset($type[$value]);
         }
     }
     if (empty($type)) {
         echo "{__LINE__}:该分类关系已经存在<br/>";
         return true;
     }
     //上面函数已经检查好参数
     //先进行数据库查重
     //构造sql语句
     //开始事务
     $db->start_transaction();
     //数据库查重
     foreach ($type as $id => $level) {
         $sql = "DELETE FROM `{$db->tablepre}forum_gc_excellent_thread` WHERE tid={$tid} AND ( 0 ";
         //此处加空格,直接删除同类型的tid联系
         if ($level < 30) {
             //是树节点,需要查找其所有的子节点,看是否有重复
             $tree = DataTree::getInstance();
             //获取其所有子节点id
             //参数为空则是获取所有节点
             $childid_array = $tree->getOneTreeNodeAllTypeid();
             foreach ($childid_array as $value) {
                 $sql .= " OR type_id={$value} ";
             }
         } else {
             //是多重分类,则按照每一层进行查找
             $leveltype = TypeArray::getInstance();
             $brotherid = $leveltype->getArrayTypeid($level);
             if (!$brotherid) {
                 //返回错误
                 echo "{__LINE__}:无法获取同类多重类型id<br/>";
                 return false;
             }
             foreach ($brotherid as $value) {
                 $sql .= " OR type_id={$value} ";
             }
         }
         $sql .= ");";
         echo "{__LINE__}:sql:" . $sql . "<br/>";
         //执行sql语句
         if (!$db->query($sql)) {
             echo "数据库除重失败!<br/>";
             //事务回滚
             $db->rollback_transaction();
             return false;
         }
     }
     //插入数据库
     $sql = "INSERT INTO `{$db->tablepre}forum_gc_excellent_thread`(`tid`,`type_id`,`rate`) VALUES ";
     foreach ($type_id as $value) {
         $sql .= "({$tid},{$value},{$rate}),";
     }
     //sql语句去掉最后一个逗号,并加上分号
     $sql = substr($sql, 0, -1);
     $sql .= ";";
     echo "{__LINE__}:INSERT:{$sql}<br/>";
     //运行sql语句
     if (!$db->query($sql)) {
         echo "插入操作失败<br/>";
         $db->rollback_transaction();
         return false;
     }
     //提交事务
     $db->commit_transaction();
     //返回
     return true;
 }
예제 #6
0
 /**
  * Convert any type to json.
  * @param type $object
  * @return json json. 
  */
 public static function toJson($object)
 {
     $array = TypeArray::toArray($object);
     return str_replace('\\u0000', "", json_encode($array));
 }
예제 #7
0
 /**
  * /
  * @param [type] $key   [description]
  * @param [type] $value [description]
  */
 public function set($key, $value)
 {
     $this->dirty = true;
     parent::set($key, $value);
 }