12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- /*
- [UCenter] (C)2001-2099 Comsenz Inc.
- This is NOT a freeware, use is subject to license terms
- $Id: tag.php 1059 2011-03-01 07:25:09Z monkey $
- */
- !defined('IN_UC') && exit('Access Denied');
- class tagcontrol extends base {
- function __construct() {
- $this->tagcontrol();
- }
- function tagcontrol() {
- parent::__construct();
- $this->init_input();
- $this->load('tag');
- $this->load('misc');
- }
- function ongettag() {
- $appid = $this->input('appid');
- $tagname = $this->input('tagname');
- $nums = $this->input('nums');
- if(empty($tagname)) {
- return NULL;
- }
- $return = $apparray = $appadd = array();
- if($nums && is_array($nums)) {
- foreach($nums as $k => $num) {
- $apparray[$k] = $k;
- }
- }
- $data = $_ENV['tag']->get_tag_by_name($tagname);
- if($data) {
- $apparraynew = array();
- foreach($data as $tagdata) {
- $row = $r = array();
- $tmp = explode("\t", $tagdata['data']);
- $type = $tmp[0];
- array_shift($tmp);
- foreach($tmp as $tmp1) {
- $tmp1 != '' && $r[] = $_ENV['misc']->string2array($tmp1);
- }
- if(in_array($tagdata['appid'], $apparray)) {
- if($tagdata['expiration'] > 0 && $this->time - $tagdata['expiration'] > 3600) {
- $appadd[] = $tagdata['appid'];
- $_ENV['tag']->formatcache($tagdata['appid'], $tagname);
- } else {
- $apparraynew[] = $tagdata['appid'];
- }
- $datakey = array();
- $count = 0;
- foreach($r as $data) {
- $return[$tagdata['appid']]['data'][] = $data;
- $return[$tagdata['appid']]['type'] = $type;
- $count++;
- if($count >= $nums[$tagdata['appid']]) {
- break;
- }
- }
- }
- }
- $apparray = array_diff($apparray, $apparraynew);
- } else {
- foreach($apparray as $appid) {
- $_ENV['tag']->formatcache($appid, $tagname);
- }
- }
- if($apparray) {
- $this->load('note');
- $_ENV['note']->add('gettag', "id=$tagname", '', $appadd, -1);
- }
- return $return;
- }
- }
- ?>
|