123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <?php
- /**
- * [Discuz!] (C)2001-2099 Comsenz Inc.
- * This is NOT a freeware, use is subject to license terms
- *
- * $Id: xf_storage.class.php 29353 2012-04-06 03:00:07Z liudongdong $
- */
- if(!defined('IN_DISCUZ')) {
- exit('Access Denied');
- }
- class plugin_xf_storage {
- protected $value = array();
- protected $appStatus = '';
- protected $jsCode = '';
- public function plugin_xf_storage() {
- global $_G;
- $cloudAppService = Cloud::loadClass('Service_App');
- $this->appStatus = $cloudAppService->getCloudAppStatus('storage');
- }
- public function common(){
- global $_G;
- if (!$this->appStatus) {
- return false;
- }
- if(CURMODULE == 'post' && CURSCRIPT == 'forum' && $_G['uid']){
- $_G['config']['output']['iecompatible'] = '7';
- }
- return true;
- }
- public function global_footer(){
- if (!$this->appStatus) {
- return false;
- }
- include template('xf_storage:css');
- return $return;
- }
- public function _output($aid, $sha, $filename) {
- include_once libfile('function/attachment');
- $storageService = Cloud::loadClass('Service_Storage');
- $qqdlUrl = $storageService->makeQQdlUrl($sha, $filename);
- $aidencode = packaids(array('aid' => $aid));
- include template('xf_storage:link');
- return $return;
- }
- public function _jsOutput($aid, $return) {
- $spanId = 'attach_' . $aid;
- $return = str_replace(array("\r\n", '\'', '<p class="xg2">', '</p>', "\n"), array('', '\\\''), $return);
- include template('xf_storage:jscode');
- return $jscode;
- }
- }
- class plugin_xf_storage_forum extends plugin_xf_storage {
- public function post_attach_btn_extra() {
- global $_G;
- if (!$this->appStatus) {
- return false;
- }
- include template('xf_storage:editor');
- return $return;
- }
- public function post_attach_tab_extra() {
- global $_G;
- if (!$this->appStatus) {
- return false;
- }
- $editorid = 'e';
- include template('xf_storage:ftnupload');
- return $return;
- }
- public function viewthread_attach_extra_output() {
- global $postlist, $_G;
- $return = array();
- foreach ($postlist as $pid => $post) {
- foreach ($post['attachments'] as $aid => $attachment) {
- if (strpos($attachment['attachment'], 'storage:') !== false) {
- $sha1 = substr($attachment['attachment'], -40);
- $return[$aid] = $this->_output($aid, $sha1, $attachment['filename']);
- if (in_array($aid, $_G['forum_attachtags'][$pid])) {
- $postlist[$pid]['message'] .= $this->_jsOutput($aid, $return[$aid]);
- unset($return[$aid]);
- }
- if ($attachment['isimage']) {
- unset($return[$aid]);
- }
- }
- }
- }
- return $return;
- }
- }
|