Example #1
0
        $icoarr['fsize'] = formatsize($icoarr['size']);
        $icoarr['ftype'] = getFileTypeName($icoarr['type'], $icoarr['ext']);
        $icoarr['fdateline'] = dgmdate($icoarr['dateline']);
        echo json_encode($icoarr);
        exit;
    } elseif ($icoarr['icoid'] = DB::insert('icos', $icoarr, 1)) {
        //$icoarr=array_merge($sourcedata,$icoarr);
        $icoarr['url'] = $app['url'];
        $icoarr = array_merge($app, $icoarr);
        addtoconfig($icoarr);
        $icoarr['img'] = $app['appico'];
        $icoarr['bz'] = '';
        $icoarr['fsize'] = formatsize($icoarr['size']);
        $icoarr['ftype'] = getFileTypeName($icoarr['type'], $icoarr['ext']);
        $icoarr['fdateline'] = dgmdate($icoarr['dateline']);
        $icoarr['sperm'] = perm_FileSPerm::typePower($icoarr['type'], '');
        echo json_encode($icoarr);
        exit;
    } else {
        echo json_encode(array('error' => '添加快捷方式失败'));
        exit;
    }
} elseif ($do == 'appuninstall') {
    //删除用户应用
    $appid = intval($_GET['appid']);
    $return = array();
    if ($icoid = DB::result_first("select icoid from %t where oid=%d and uid=%d and type='app'", array('icos', $appid, $_G['uid']))) {
        C::t('icos')->delete($icoid);
        $return['icoid'] = $icoid;
    }
    $applist = DB::result_first("select applist from %t where uid=%d", array('user_field', $_G['uid']));
Example #2
0
 function checkperm($action, $arr, $bz = '')
 {
     //检查某个图标是否有权限;
     global $_G;
     if ($_G['uid'] < 1) {
         //游客没有权限
         return false;
     }
     if ($bz || $arr['bz']) {
         return self::checkperm_Container($arr['pfid'], $action, $bz ? $bz : $arr['bz']);
     } else {
         //首先判断ico的超级权限;
         if (!perm_FileSPerm::isPower($arr['sperm'], $action)) {
             return false;
         }
         if ($folder = C::t('folder')->fetch_by_fid($arr['pfid'])) {
             //首先判断目录的超级权限;
             if (!perm_FolderSPerm::isPower($folder['fsperm'], $action)) {
                 return false;
             }
         }
         if ($_G['adminid'] == 1) {
             return true;
         }
         //网站管理员 有权限;
         //if($folder['gid']>0){
         if ($action == 'rename') {
             $action = 'edit';
         }
         if (in_array($action, array('read', 'delete', 'edit', 'download', 'copy'))) {
             if ($_G['uid'] == $arr['uid']) {
                 $action .= '1';
             } else {
                 $action .= '2';
             }
         }
         //}
         return self::checkperm_Container($arr['pfid'], $action, $bz);
     }
 }
Example #3
0
 public function fetch_by_icoid($icoid)
 {
     //返回一条数据同时加载资源表数据
     global $_G;
     $icoid = intval($icoid);
     $data = $icodata = $soucedata = array();
     //if($force_from_db || ($data = $this->fetch_cache('parse_'.$icoid)) === false) {
     if (!($icodata = self::fetch($icoid))) {
         return array();
     }
     if (!($sourcedata = self::getsourcedata($icodata['type'], $icodata['oid']))) {
         return array();
     }
     if ($icodata['type'] == 'pan' || $icodata['type'] == 'storage') {
         $icodata['oid'] = $sourcedata['fid'];
     }
     $data = array_merge($sourcedata, $icodata);
     $data['size'] = isset($sourcedata['filesize']) ? $sourcedata['filesize'] : 0;
     if ($data['type'] == 'image') {
         $data['img'] = DZZSCRIPT . '?mod=io&op=thumbnail&width=256&height=256&path=' . dzzencode($data['icoid']);
         $data['url'] = DZZSCRIPT . '?mod=io&op=thumbnail&width=1440&height=900&original=1&path=' . dzzencode($data['icoid']);
     } elseif ($data['type'] == 'attach' || $data['type'] == 'document') {
         $data['img'] = geticonfromext($data['ext'], $data['type']);
         $data['url'] = DZZSCRIPT . '?mod=io&op=getStream&path=' . dzzencode($data['icoid']);
     } elseif ($data['type'] == 'shortcut') {
         $data['img'] = isset($data['tdata']['img']) ? $data['tdata']['img'] : geticonfromext($data['tdata']['ext'], $data['tdata']['type']);
         $data['ttype'] = $data['tdata']['type'];
         $data['ext'] = $data['tdata']['ext'];
     } elseif ($data['type'] == 'dzzdoc') {
         $data['url'] = DZZSCRIPT . '?mod=document&icoid=' . dzzencode($data['icoid']);
         $data['img'] = isset($data['icon']) ? $data['icon'] : geticonfromext($data['ext'], $data['type']);
     } else {
         $data['img'] = isset($data['icon']) ? $data['icon'] : geticonfromext($data['ext'], $data['type']);
     }
     if (empty($data['name'])) {
         $data['name'] = $data['title'];
     }
     $data['url'] = isset($data['url']) ? replace_canshu($data['url']) : '';
     $data['ftype'] = getFileTypeName($data['type'], $data['ext']);
     $data['fdateline'] = dgmdate($data['dateline']);
     $data['fsize'] = formatsize($data['size']);
     $data['path'] = $data['icoid'];
     $data['bz'] = '';
     if ($data['remote'] > 1) {
         $data['rbz'] = io_remote::getBzByRemoteid($data['remote']);
     }
     //增加安全相关的路径
     $data['dpath'] = dzzencode($data['path']);
     $data['apath'] = $data['aid'] ? dzzencode('attach::' . $data['aid']) : $data['dpath'];
     //$data['like']=C::t('icos_like')->fetch_by_icoid_uid($icoid,$data['uid']);
     //获取sperm
     if (!$data['sperm']) {
         $data['sperm'] = perm_FileSPerm::typePower($data['type'], $data['ext']);
     }
     //if(!empty($data)) $this->store_cache('parse_'.$icoid, $data);
     //}
     return $data;
 }
Example #4
0
function dzz_desktop_init()
{
    global $_G;
    //建立用户设置主表
    $userconfig = array('uid' => $_G['uid'], 'applist' => array(), 'screenlist' => array(), 'docklist' => array(), 'dateline' => $_G['timestamp'], 'updatetime' => $_G['timestamp'], 'wins' => serialize(array()), 'perm' => 0, 'iconview' => $_G['setting']['desktop_default']['iconview'] ? $_G['setting']['desktop_default']['iconview'] : 2, 'taskbar' => $_G['setting']['desktop_default']['taskbar'] ? $_G['setting']['desktop_default']['taskbar'] : 'bottom', 'iconposition' => intval($_G['setting']['desktop_default']['iconposition']), 'direction' => intval($_G['setting']['desktop_default']['direction']));
    //初始化默认目录
    dzz_default_folder_init();
    if ($_G['uid'] > 0) {
        //创建机构部门的快捷方式;
        dzz_organization_shortcut();
    }
    /*else{
    		$userconfig['iconview']=1;
    		$userconfig['iconposition']=4;
    		$userconfig['direction']=1;
    	}*/
    //添加默认数据
    include DZZ_ROOT . './dzz/defaultdata.php';
    //处理默认目录
    if ($_G['uid'] > 0) {
        //游客不生成默认目录到桌面
        foreach (C::t('folder')->fetch_all_default_by_uid($_G['uid']) as $value) {
            $type = str_replace('m:', '', $value['default']);
            $pfid = DB::result_first("select fid from " . DB::table('folder') . " where uid='{$_G[uid]}' and flag='{$type}'");
            $sperm = perm_FileSPerm::flagPower($value['flag']);
            if ($icoid = DB::result_first("select icoid from " . DB::table('icos') . " where uid='{$_G[uid]}' and oid='{$value[fid]}' and flag='{$value[flag]}' and type='folder'")) {
                C::t('icos')->update($icoid, array('pfid' => $pfid, 'sperm' => $sperm));
                if ($type == 'desktop') {
                    $userconfig['screenlist'][] = $icoarr['icoid'];
                } elseif ($type == 'dock') {
                    $userconfig['docklist'][] = $icoarr['icoid'];
                }
            } else {
                $icoarr = array('uid' => $_G['uid'], 'username' => $_G['username'], 'oid' => $value['fid'], 'name' => $value['fname'], 'type' => 'folder', 'flag' => $value['flag'], 'dateline' => $_G['timestamp'], 'pfid' => $pfid, 'sperm' => $sperm);
                if ($icoarr['icoid'] = C::t('icos')->insert($icoarr, 1)) {
                    if ($type == 'desktop') {
                        $userconfig['screenlist'][] = $icoarr['icoid'];
                    } elseif ($type == 'dock') {
                        $userconfig['docklist'][] = $icoarr['icoid'];
                    }
                    //addtoconfig($icoarr);
                }
            }
        }
    }
    //处理理默认应用;
    $apps = C::t('app_market')->fetch_all_by_default($_G['uid']);
    foreach ($apps as $appid => $app) {
        $userconfig['applist'][] = $appid;
        if ($app['position'] == 1) {
            continue;
        } elseif ($app['position'] == 2) {
            //桌面
            $fid = DB::result_first("select fid from " . DB::table('folder') . " where uid='{$_G[uid]}' and flag='desktop'");
        } else {
            //dock条
            $fid = DB::result_first("select fid from " . DB::table('folder') . " where uid='{$_G[uid]}' and flag='dock'");
        }
        if (!$fid) {
            continue;
        }
        if ($icoid = DB::result_first("select icoid from " . DB::table('icos') . " where uid='{$_G[uid]}' and oid='{$appid}' and type='app'")) {
            C::t('icos')->update($icoid, array('pfid' => $fid, 'isdelete' => 0));
            if ($app['position'] == 2) {
                $userconfig['screenlist'][] = $icoid;
            } else {
                $userconfig['docklist'][] = $icoid;
            }
        } else {
            $icoarr = array('uid' => $_G['uid'], 'username' => $_G['username'], 'oid' => $appid, 'name' => '', 'type' => 'app', 'dateline' => $_G['timestamp'], 'pfid' => $fid, 'ext' => '', 'size' => 0);
            if ($icoarr['icoid'] = C::t('icos')->insert($icoarr, 1)) {
                if ($app['position'] == 2) {
                    $userconfig['screenlist'][] = $icoarr['icoid'];
                } else {
                    $userconfig['docklist'][] = $icoarr['icoid'];
                }
            }
        }
    }
    $userconfig['applist'] = $userconfig['applist'] ? implode(',', $userconfig['applist']) : '';
    $userconfig['screenlist'] = $userconfig['screenlist'] ? implode(',', $userconfig['screenlist']) : '';
    $userconfig['docklist'] = $userconfig['docklist'] ? implode(',', $userconfig['docklist']) : '';
    if ($_G['uid']) {
        C::t('user_field')->insert($userconfig, false, true);
        if ($userconfig['applist']) {
            C::t('app_user')->insert_by_uid($_G['uid'], $userconfig['applist'], 1);
        }
        return C::t('user_field')->fetch($_G['uid']);
    } else {
        return $userconfig;
    }
}