当前位置: 首页>>代码示例>>PHP>>正文


PHP FileHandler::getRemoteFile方法代码示例

本文整理汇总了PHP中FileHandler::getRemoteFile方法的典型用法代码示例。如果您正苦于以下问题:PHP FileHandler::getRemoteFile方法的具体用法?PHP FileHandler::getRemoteFile怎么用?PHP FileHandler::getRemoteFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FileHandler的用法示例。


在下文中一共展示了FileHandler::getRemoteFile方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getNewsFromAgency

function getNewsFromAgency()
{
    //Retrieve recent news and set them into context
    $newest_news_url = sprintf("http://www.xeshoppingmall.com/?module=newsagency&act=getNewsagencyArticle&inst=notice&top=6&loc=%s", _XE_LOCATION_);
    $cache_file = sprintf("%sfiles/cache/nstore_news.%s.cache.php", _XE_PATH_, _XE_LOCATION_);
    if (!file_exists($cache_file) || filemtime($cache_file) + 60 * 60 < time()) {
        // Considering if data cannot be retrieved due to network problem, modify filemtime to prevent trying to reload again when refreshing textmessageistration page
        // Ensure to access the textmessageistration page even though news cannot be displayed
        FileHandler::writeFile($cache_file, '');
        FileHandler::getRemoteFile($newest_news_url, $cache_file, null, 1, 'GET', 'text/html', array('REQUESTURL' => getFullUrl('')));
    }
    if (file_exists($cache_file)) {
        $oXml = new XmlParser();
        $buff = $oXml->parse(FileHandler::readFile($cache_file));
        $item = $buff->zbxe_news->item;
        if ($item) {
            if (!is_array($item)) {
                $item = array($item);
            }
            foreach ($item as $key => $val) {
                $obj = null;
                $obj->title = $val->body;
                $obj->date = $val->attrs->date;
                $obj->url = $val->attrs->url;
                $news[] = $obj;
            }
            return $news;
        }
    }
}
开发者ID:umjinsun12,项目名称:dngshin,代码行数:30,代码来源:functions.php

示例2: getHtmlPage

 /**
  * @brief 외부 http로 요청되는 파일일 경우 파일을 받아와서 저장 후 return
  **/
 function getHtmlPage($path, $caching_interval, $cache_file)
 {
     // 캐시 검사
     if ($caching_interval > 0 && file_exists($cache_file) && filemtime($cache_file) + $caching_interval * 60 > time()) {
         $content = FileHandler::readFile($cache_file);
     } else {
         FileHandler::getRemoteFile($path, $cache_file);
         $content = FileHandler::readFile($cache_file);
     }
     // opage controller 생성
     $oOpageController =& getController('opage');
     // 외부 서버의 페이지 일 경우 이미지, css, javascript등의 url을 변경
     $content = $oOpageController->replaceSrc($content, $path);
     // 해당 문서를 utf-8로 변경
     $buff->content = $content;
     $buff = Context::convertEncoding($buff);
     $content = $buff->content;
     // title 추출
     $title = $oOpageController->getTitle($content);
     if ($title) {
         Context::setBrowserTitle($title);
     }
     // header script 추출
     $head_script = $oOpageController->getHeadScript($content);
     if ($head_script) {
         Context::addHtmlHeader($head_script);
     }
     // body 내용 추출
     $body_script = $oOpageController->getBodyScript($content);
     if (!$body_script) {
         $body_script = $content;
     }
     return $content;
 }
开发者ID:hottaro,项目名称:xpressengine,代码行数:37,代码来源:opage.view.php

示例3: checkLicense

 function checkLicense($prodid, $user_id, $serial_number, $force = FALSE)
 {
     $hostinfo = array($_SERVER['SERVER_ADDR'], $_SERVER['SERVER_NAME'], $_SERVER['HTTP_HOST']);
     $agency_url = sprintf("http://www.xeshoppingmall.com/?module=drmagency&act=getDrmagencyLicense&prodid=%s&hostinfo=%s&user=%s&serial=%s", $prodid, implode(',', $hostinfo), $user_id, $serial_number);
     $cache_file = sprintf("%sfiles/cache/license_%s.cache.php", _XE_PATH_, $prodid);
     if (!file_exists($cache_file) || filemtime($cache_file) + 60 * 60 < time() || $force == TRUE) {
         FileHandler::writeFile($cache_file, '');
         FileHandler::getRemoteFile($agency_url, $cache_file, null, 1, 'GET', 'text/html', array('REQUESTURL' => getFullUrl('')));
     }
     return $cache_file;
 }
开发者ID:WEN2ER,项目名称:nurigo,代码行数:11,代码来源:license.model.php

示例4: getThumbnailByUrl

 function getThumbnailByUrl($image_url, $width = 80, $height = 0, $thumbnail_type = '')
 {
     if (!$height) {
         $height = $width;
     }
     if (!in_array($thumbnail_type, array('crop', 'ratio'))) {
         $config = $GLOBALS['__document_config__'];
         if (!$config) {
             $oDocumentModel = getModel('document');
             $config = $oDocumentModel->getDocumentConfig();
             $GLOBALS['__document_config__'] = $config;
         }
         $thumbnail_type = $config->thumbnail_type;
     }
     if (!is_dir('./files/thumbnails/magiccontent_thumbnail')) {
         FileHandler::makeDir('./files/thumbnails/magiccontent_thumbnail');
     }
     $thumbnail_path = sprintf('files/thumbnails/magiccontent_thumbnail/%s', base64_encode($image_url));
     $thumbnail_file = sprintf('%s%dx%d.%s.jpg', $thumbnail_path, $width, $height, $thumbnail_type);
     $thumbnail_url = Context::getRequestUri() . $thumbnail_file;
     if (file_exists($thumbnail_file)) {
         if (filesize($thumbnail_file) < 1) {
             return false;
         } else {
             return $thumbnail_url;
         }
     }
     $tmp_file = sprintf('./files/cache/tmp/%s', md5(rand(111111, 999999) . $image_url));
     if (!is_dir('./files/cache/tmp')) {
         FileHandler::makeDir('./files/cache/tmp');
     }
     if (!preg_match('/^(http|https):\\/\\//i', $image_url)) {
         $image_url = Context::getRequestUri() . $image_url;
     }
     FileHandler::getRemoteFile($image_url, $tmp_file);
     if (!file_exists($tmp_file)) {
         return false;
     } else {
         list($_w, $_h, $_t, $_a) = @getimagesize($tmp_file);
         if (!in_array($_t, array(1, 2, 3, 6, 7, 8))) {
             FileHandler::writeFile($thumbnail_file, '', 'w');
             return false;
         }
         $source_file = $tmp_file;
     }
     $output = FileHandler::createImageFile($source_file, $thumbnail_file, $width, $height, 'jpg', $thumbnail_type);
     FileHandler::removeFile($source_file);
     if ($output) {
         return $thumbnail_url;
     } else {
         FileHandler::writeFile($thumbnail_file, '', 'w');
     }
     return false;
 }
开发者ID:ilbecms,项目名称:xe_module_magiccontent,代码行数:54,代码来源:magiccontent.model.php

示例5: dispTextmessageAdminIndex

 /**
  * @brief Display Super Admin Dashboard
  **/
 function dispTextmessageAdminIndex()
 {
     $oTextmessageModel = getModel('textmessage');
     $config = $oTextmessageModel->getConfig();
     if (!$config) {
         Context::set('isSetupCompleted', false);
     } else {
         Context::set('isSetupCompleted', true);
     }
     Context::set('config', $config);
     //Retrieve recent news and set them into context
     $newest_news_url = sprintf("http://www.coolsms.co.kr/?module=newsagency&act=getNewsagencyArticle&inst=notice&loc=%s", _XE_LOCATION_);
     $cache_file = sprintf("%sfiles/cache/cool_news.%s.cache.php", _XE_PATH_, _XE_LOCATION_);
     if (!file_exists($cache_file) || filemtime($cache_file) + 60 * 60 < time()) {
         // Considering if data cannot be retrieved due to network problem, modify filemtime to prevent trying to reload again when refreshing textmessageistration page
         // Ensure to access the textmessage registration page even though news cannot be displayed
         FileHandler::writeFile($cache_file, '');
         FileHandler::getRemoteFile($newest_news_url, $cache_file, null, 1, 'GET', 'text/html', array('REQUESTURL' => getFullUrl('')));
     }
     if (file_exists($cache_file)) {
         $oXml = new XmlParser();
         $buff = $oXml->parse(FileHandler::readFile($cache_file));
         $item = $buff->zbxe_news->item;
         if ($item) {
             if (!is_array($item)) {
                 $item = array($item);
             }
             foreach ($item as $key => $val) {
                 $obj = new stdClass();
                 $obj->title = $val->body;
                 $obj->date = $val->attrs->date;
                 $obj->url = $val->attrs->url;
                 $news[] = $obj;
             }
             Context::set('news', $news);
         }
         Context::set('released_version', $buff->zbxe_news->attrs->released_version);
         Context::set('download_link', $buff->zbxe_news->attrs->download_link);
     }
     $this->setTemplateFile('index');
 }
开发者ID:bjrambo,项目名称:nurigo,代码行数:44,代码来源:textmessage.admin.view.php

示例6: importAttaches

 /**
  * @brief 첨부파일 정리
  **/
 function importAttaches($fp, $module_srl, $upload_target_srl, &$files)
 {
     $uploaded_count = 0;
     $started = false;
     $buff = null;
     while (!feof($fp)) {
         $str = trim(fgets($fp, 1024));
         // </attaches>로 끝나면 중단
         if (trim($str) == '</attaches>') {
             break;
         }
         // <attach>로 시작하면 첨부파일 수집
         if (trim($str) == '<attach>') {
             $file_obj = null;
             $file_obj->file_srl = getNextSequence();
             $file_obj->upload_target_srl = $upload_target_srl;
             $file_obj->module_srl = $module_srl;
             $started = true;
             $buff = null;
             // <file>로 시작하면 xml파일내의 첨부파일로 처리
         } else {
             if (trim($str) == '<file>') {
                 $file_obj->file = $this->saveTemporaryFile($fp);
                 continue;
             }
         }
         if ($started) {
             $buff .= $str;
         }
         // </attach>로 끝나면 첨부파일 정리
         if (trim($str) == '</attach>') {
             $xmlDoc = $this->oXmlParser->parse($buff . $str);
             $file_obj->source_filename = base64_decode($xmlDoc->attach->filename->body);
             $file_obj->download_count = base64_decode($xmlDoc->attach->download_count->body);
             if (!$file_obj->file) {
                 $url = base64_decode($xmlDoc->attach->url->body);
                 $path = base64_decode($xmlDoc->attach->path->body);
                 if ($path && file_exists($path)) {
                     $file_obj->file = $path;
                 } else {
                     $file_obj->file = $this->getTmpFilename();
                     FileHandler::getRemoteFile($url, $file_obj->file);
                 }
             }
             if (file_exists($file_obj->file)) {
                 // 이미지인지 기타 파일인지 체크하여 upload path 지정
                 if (preg_match("/\\.(jpg|jpeg|gif|png|wmv|wma|mpg|mpeg|avi|swf|flv|mp1|mp2|mp3|asaf|wav|asx|mid|midi|asf|mov|moov|qt|rm|ram|ra|rmm|m4v)\$/i", $file_obj->source_filename)) {
                     $path = sprintf("./files/attach/images/%s/%s", $module_srl, getNumberingPath($upload_target_srl, 3));
                     $filename = $path . $file_obj->source_filename;
                     $file_obj->direct_download = 'Y';
                 } else {
                     $path = sprintf("./files/attach/binaries/%s/%s", $module_srl, getNumberingPath($upload_target_srl, 3));
                     $filename = $path . md5(crypt(rand(1000000, 900000), rand(0, 100)));
                     $file_obj->direct_download = 'N';
                 }
                 // 디렉토리 생성
                 if (!FileHandler::makeDir($path)) {
                     continue;
                 }
                 if (preg_match('/^\\.\\/files\\/cache\\/importer/i', $file_obj->file)) {
                     FileHandler::rename($file_obj->file, $filename);
                 } else {
                     @copy($file_obj->file, $filename);
                 }
                 // DB입력
                 unset($file_obj->file);
                 if (file_exists($filename)) {
                     $file_obj->uploaded_filename = $filename;
                     $file_obj->file_size = filesize($filename);
                     $file_obj->comment = NULL;
                     $file_obj->member_srl = 0;
                     $file_obj->sid = md5(rand(rand(1111111, 4444444), rand(4444445, 9999999)));
                     $file_obj->isvalid = 'Y';
                     $output = executeQuery('file.insertFile', $file_obj);
                     if ($output->toBool()) {
                         $uploaded_count++;
                         $tmp_obj = null;
                         $tmp_obj->source_filename = $file_obj->source_filename;
                         if ($file_obj->direct_download == 'Y') {
                             $files[$file_obj->source_filename] = $file_obj->uploaded_filename;
                         } else {
                             $files[$file_obj->source_filename] = getUrl('', 'module', 'file', 'act', 'procFileDownload', 'file_srl', $file_obj->file_srl, 'sid', $file_obj->sid);
                         }
                     }
                 }
             }
         }
     }
     return $uploaded_count;
 }
开发者ID:hottaro,项目名称:xpressengine,代码行数:93,代码来源:importer.admin.controller.php

示例7: importAttaches

 /**
  * Import attachment
  * @param resource $fp
  * @param int $module_srl
  * @param int $upload_target_srl
  * @param array $files
  * @return int
  */
 function importAttaches($fp, $module_srl, $upload_target_srl, &$files)
 {
     $uploaded_count = 0;
     $started = false;
     $buff = null;
     $file_obj = new stdClass();
     while (!feof($fp)) {
         $str = trim(fgets($fp, 1024));
         // If it ends with </attaches>, break
         if (trim($str) == '</attaches>') {
             break;
         }
         // If it starts with <attach>, collect attachments
         if (trim($str) == '<attach>') {
             $file_obj->file_srl = getNextSequence();
             $file_obj->upload_target_srl = $upload_target_srl;
             $file_obj->module_srl = $module_srl;
             $started = true;
             $buff = null;
             // If it starts with <file>, handle the attachement in xml file
         } else {
             if (trim($str) == '<file>') {
                 $file_obj->file = $this->saveTemporaryFile($fp);
                 continue;
             }
         }
         if ($started) {
             $buff .= $str;
         }
         // If it ends with </attach>, handle attachements
         if (trim($str) == '</attach>') {
             $xmlDoc = $this->oXmlParser->parse($buff . $str);
             $file_obj->source_filename = base64_decode($xmlDoc->attach->filename->body);
             $file_obj->download_count = base64_decode($xmlDoc->attach->download_count->body);
             if (!$file_obj->file) {
                 $url = base64_decode($xmlDoc->attach->url->body);
                 $path = base64_decode($xmlDoc->attach->path->body);
                 if ($path && file_exists($path)) {
                     $file_obj->file = $path;
                 } else {
                     $file_obj->file = $this->getTmpFilename();
                     FileHandler::getRemoteFile($url, $file_obj->file);
                 }
             }
             if (file_exists($file_obj->file)) {
                 // Set upload path by checking if the attachement is an image or other kind of file
                 if (preg_match("/\\.(jpe?g|gif|png|wm[va]|mpe?g|avi|swf|flv|mp[1-4]|as[fx]|wav|midi?|moo?v|qt|r[am]{1,2}|m4v)\$/i", $file_obj->source_filename)) {
                     // Immediately remove the direct file if it has any kind of extensions for hacking
                     $file_obj->source_filename = preg_replace('/\\.(php|phtm|phar|html?|cgi|pl|exe|jsp|asp|inc)/i', '$0-x', $file_obj->source_filename);
                     $file_obj->source_filename = str_replace(array('<', '>'), array('%3C', '%3E'), $file_obj->source_filename);
                     $path = sprintf("./files/attach/images/%s/%s", $module_srl, getNumberingPath($upload_target_srl, 3));
                     $ext = substr(strrchr($file_obj->source_filename, '.'), 1);
                     $_filename = md5(crypt(rand(1000000, 900000), rand(0, 100))) . '.' . $ext;
                     $filename = $path . $_filename;
                     $idx = 1;
                     while (file_exists($filename)) {
                         $filename = $path . preg_replace('/\\.([a-z0-9]+)$/i', '_' . $idx . '.$1', $_filename);
                         $idx++;
                     }
                     $file_obj->direct_download = 'Y';
                 } else {
                     $path = sprintf("./files/attach/binaries/%s/%s", $module_srl, getNumberingPath($upload_target_srl, 3));
                     $filename = $path . md5(crypt(rand(1000000, 900000), rand(0, 100)));
                     $file_obj->direct_download = 'N';
                 }
                 // Create a directory
                 if (!FileHandler::makeDir($path)) {
                     continue;
                 }
                 if (strncmp('./files/cache/importer/', $file_obj->file, 23) === 0) {
                     FileHandler::rename($file_obj->file, $filename);
                 } else {
                     copy($file_obj->file, $filename);
                 }
                 // Insert the file to the DB
                 unset($file_obj->file);
                 if (file_exists($filename)) {
                     $file_obj->uploaded_filename = $filename;
                     $file_obj->file_size = filesize($filename);
                     $file_obj->comment = NULL;
                     $file_obj->member_srl = 0;
                     $file_obj->sid = md5(rand(rand(1111111, 4444444), rand(4444445, 9999999)));
                     $file_obj->isvalid = 'Y';
                     $output = executeQuery('file.insertFile', $file_obj);
                     if ($output->toBool()) {
                         $uploaded_count++;
                         $tmp_obj = null;
                         $tmp_obj->source_filename = $file_obj->source_filename;
                         if ($file_obj->direct_download == 'Y') {
                             $files[$file_obj->source_filename] = $file_obj->uploaded_filename;
                         } else {
                             $files[$file_obj->source_filename] = getUrl('', 'module', 'file', 'act', 'procFileDownload', 'file_srl', $file_obj->file_srl, 'sid', $file_obj->sid);
//.........这里部分代码省略.........
开发者ID:kimkucheol,项目名称:xe-core,代码行数:101,代码来源:importer.admin.controller.php

示例8: getThumbnail

 function getThumbnail($width = 80, $height = 0, $thumbnail_type = '')
 {
     // Return false if the document doesn't exist
     if (!$this->document_srl) {
         return;
     }
     if ($this->isSecret() && !$this->isGranted()) {
         return;
     }
     // If not specify its height, create a square
     if (!$height) {
         $height = $width;
     }
     if ($this->get('content')) {
         $content = $this->get('content');
     } else {
         $args = new stdClass();
         $args->document_srl = $this->document_srl;
         $output = executeQuery('document.getDocument', $args);
         $content = $output->data->content;
     }
     // Return false if neither attachement nor image files in the document
     if (!$this->get('uploaded_count') && !preg_match("!<img!is", $content)) {
         return;
     }
     // Get thumbnai_type information from document module's configuration
     if (!in_array($thumbnail_type, array('crop', 'ratio'))) {
         $config = $GLOBALS['__document_config__'];
         if (!$config) {
             $oDocumentModel = getModel('document');
             $config = $oDocumentModel->getDocumentConfig();
             $GLOBALS['__document_config__'] = $config;
         }
         $thumbnail_type = $config->thumbnail_type ?: 'crop';
     }
     // Define thumbnail information
     $thumbnail_path = sprintf('files/thumbnails/%s', getNumberingPath($this->document_srl, 3));
     $thumbnail_file = sprintf('%s%dx%d.%s.jpg', $thumbnail_path, $width, $height, $thumbnail_type);
     $thumbnail_lockfile = sprintf('%s%dx%d.%s.lock', $thumbnail_path, $width, $height, $thumbnail_type);
     $thumbnail_url = Context::getRequestUri() . $thumbnail_file;
     // Return false if thumbnail file exists and its size is 0. Otherwise, return its path
     if (file_exists($thumbnail_file) || file_exists($thumbnail_lockfile)) {
         if (filesize($thumbnail_file) < 1) {
             return FALSE;
         } else {
             return $thumbnail_url . '?' . date('YmdHis', filemtime($thumbnail_file));
         }
     }
     // Create lockfile to prevent race condition
     FileHandler::writeFile($thumbnail_lockfile, '', 'w');
     // Target File
     $source_file = null;
     $is_tmp_file = false;
     // Find an iamge file among attached files if exists
     if ($this->hasUploadedFiles()) {
         $file_list = $this->getUploadedFiles();
         $first_image = null;
         foreach ($file_list as $file) {
             if ($file->direct_download !== 'Y') {
                 continue;
             }
             if ($file->cover_image === 'Y' && file_exists($file->uploaded_filename)) {
                 $source_file = $file->uploaded_filename;
                 break;
             }
             if ($first_image) {
                 continue;
             }
             if (preg_match("/\\.(jpe?g|png|gif|bmp)\$/i", $file->source_filename)) {
                 if (file_exists($file->uploaded_filename)) {
                     $first_image = $file->uploaded_filename;
                 }
             }
         }
         if (!$source_file && $first_image) {
             $source_file = $first_image;
         }
     }
     // If not exists, file an image file from the content
     if (!$source_file) {
         preg_match_all("!<img\\s[^>]*?src=(\"|')([^\"' ]*?)(\"|')!is", $content, $matches, PREG_SET_ORDER);
         foreach ($matches as $match) {
             $target_src = htmlspecialchars_decode(trim($match[2]));
             if (preg_match('/\\/(common|modules|widgets|addons|layouts)\\//i', $target_src)) {
                 continue;
             } else {
                 if (!preg_match('/^https?:\\/\\//i', $target_src)) {
                     $target_src = Context::getRequestUri() . $target_src;
                 }
                 $tmp_file = sprintf('./files/cache/tmp/%d', md5(rand(111111, 999999) . $this->document_srl));
                 if (!is_dir('./files/cache/tmp')) {
                     FileHandler::makeDir('./files/cache/tmp');
                 }
                 FileHandler::getRemoteFile($target_src, $tmp_file);
                 if (!file_exists($tmp_file)) {
                     continue;
                 } else {
                     if ($is_img = @getimagesize($tmp_file)) {
                         list($_w, $_h, $_t, $_a) = $is_img;
                     } else {
//.........这里部分代码省略.........
开发者ID:kkkyyy03,项目名称:coffeemix,代码行数:101,代码来源:document.item.php

示例9: makeGnbUrl

 /**
  * Include admin menu php file and make menu url
  * Setting admin logo, newest news setting
  * @return void
  */
 function makeGnbUrl($module = 'admin')
 {
     global $lang;
     // Check is_shortcut column
     $oDB = DB::getInstance();
     if (!$oDB->isColumnExists('menu_item', 'is_shortcut')) {
         return;
     }
     $oAdminAdminModel = getAdminModel('admin');
     $lang->menu_gnb_sub = $oAdminAdminModel->getAdminMenuLang();
     $result = $oAdminAdminModel->checkAdminMenu();
     include $result->php_file;
     $oModuleModel = getModel('module');
     // get current menu's subMenuTitle
     $moduleActionInfo = $oModuleModel->getModuleActionXml($module);
     $currentAct = Context::get('act');
     $subMenuTitle = '';
     foreach ((array) $moduleActionInfo->menu as $key => $value) {
         if (isset($value->acts) && is_array($value->acts) && in_array($currentAct, $value->acts)) {
             $subMenuTitle = $value->title;
             break;
         }
     }
     // get current menu's srl(=parentSrl)
     $parentSrl = 0;
     $oMenuAdminConroller = getAdminController('menu');
     foreach ((array) $menu->list as $parentKey => $parentMenu) {
         if (!is_array($parentMenu['list']) || !count($parentMenu['list'])) {
             continue;
         }
         if ($parentMenu['href'] == '#' && count($parentMenu['list'])) {
             $firstChild = current($parentMenu['list']);
             $menu->list[$parentKey]['href'] = $firstChild['href'];
         }
         foreach ($parentMenu['list'] as $childKey => $childMenu) {
             if ($subMenuTitle == $childMenu['text'] && $parentSrl == 0) {
                 $parentSrl = $childMenu['parent_srl'];
             }
         }
     }
     // Admin logo, title setup
     $objConfig = $oModuleModel->getModuleConfig('admin');
     $gnbTitleInfo = new stdClass();
     $gnbTitleInfo->adminTitle = $objConfig->adminTitle ? $objConfig->adminTitle : 'XE Admin';
     $gnbTitleInfo->adminLogo = $objConfig->adminLogo ? $objConfig->adminLogo : 'modules/admin/tpl/img/xe.h1.png';
     $browserTitle = ($subMenuTitle ? $subMenuTitle : 'Dashboard') . ' - ' . $gnbTitleInfo->adminTitle;
     // Get list of favorite
     $oAdminAdminModel = getAdminModel('admin');
     $output = $oAdminAdminModel->getFavoriteList(0, true);
     Context::set('favorite_list', $output->get('favoriteList'));
     // Retrieve recent news and set them into context,
     // move from index method, because use in admin footer
     $newest_news_url = sprintf("http://news.xpressengine.com/%s/news.php?version=%s&package=%s", _XE_LOCATION_, __XE_VERSION__, _XE_PACKAGE_);
     $cache_file = sprintf("%sfiles/cache/newest_news.%s.cache.php", _XE_PATH_, _XE_LOCATION_);
     if (!file_exists($cache_file) || filemtime($cache_file) + 60 * 60 < $_SERVER['REQUEST_TIME']) {
         // Considering if data cannot be retrieved due to network problem, modify filemtime to prevent trying to reload again when refreshing administration page
         // Ensure to access the administration page even though news cannot be displayed
         FileHandler::writeFile($cache_file, '');
         FileHandler::getRemoteFile($newest_news_url, $cache_file, null, 1, 'GET', 'text/html', array('REQUESTURL' => getFullUrl('')));
     }
     if (file_exists($cache_file)) {
         $oXml = new XmlParser();
         $buff = $oXml->parse(FileHandler::readFile($cache_file));
         $item = $buff->zbxe_news->item;
         if ($item) {
             if (!is_array($item)) {
                 $item = array($item);
             }
             foreach ($item as $key => $val) {
                 $obj = new stdClass();
                 $obj->title = $val->body;
                 $obj->date = $val->attrs->date;
                 $obj->url = $val->attrs->url;
                 $news[] = $obj;
             }
             Context::set('news', $news);
             if (isset($news) && is_array($news)) {
                 Context::set('latestVersion', array_shift($news));
             }
         }
         Context::set('released_version', $buff->zbxe_news->attrs->released_version);
         Context::set('download_link', $buff->zbxe_news->attrs->download_link);
     }
     Context::set('subMenuTitle', $subMenuTitle);
     Context::set('gnbUrlList', $menu->list);
     Context::set('parentSrl', $parentSrl);
     Context::set('gnb_title_info', $gnbTitleInfo);
     Context::setBrowserTitle($browserTitle);
 }
开发者ID:kimkucheol,项目名称:xe-core,代码行数:94,代码来源:admin.admin.view.php

示例10: getLicenseFromAgency

 function getLicenseFromAgency()
 {
     $hostinfo = array($_SERVER['SERVER_ADDR'], $_SERVER['SERVER_NAME'], $_SERVER['HTTP_HOST']);
     $agency_url = sprintf("http://store.nurigo.net/?module=drmagency&act=getDrmagencyLicense&prodid=%s&hostinfo=%s", $this->getExtMod(), implode(',', $hostinfo));
     $cache_file = sprintf("%sfiles/cache/ncart_drm.%s.cache.php", _XE_PATH_, _XE_LOCATION_);
     if (!file_exists($cache_file) || filemtime($cache_file) + 60 * 60 < time()) {
         FileHandler::writeFile($cache_file, '');
         FileHandler::getRemoteFile($agency_url, $cache_file, null, 1, 'GET', 'text/html', array('REQUESTURL' => getFullUrl('')));
     }
 }
开发者ID:bjrambo,项目名称:nurigo,代码行数:10,代码来源:ncart.admin.view.php

示例11: dispAdminIndex

 /**
  * @brief 관리자 메인 페이지 출력
  **/
 function dispAdminIndex()
 {
     /**
      * 최근 뉴스를 가져와서 세팅
      **/
     $newest_news_url = sprintf("http://news.xpressengine.com/%s/news.php", Context::getLangType());
     $cache_file = sprintf("%sfiles/cache/newest_news.%s.cache.php", _XE_PATH_, Context::getLangType());
     if (!file_exists($cache_file) || filemtime($cache_file) + 60 * 60 < time()) {
         // 네트웍 상태로 데이터를 가져오지 못할 상황을 고려해 일단 filemtime을 변경하여 관리자 페이지 refresh시에 다시 읽ㅇ 오지 않도록 함
         // 뉴스를 보지는 못하지만 관리자 페이지 접속은 이상없도록 함
         FileHandler::writeFile($cache_file, '');
         FileHandler::getRemoteFile($newest_news_url, $cache_file, null, 1, 'GET', 'text/html', array('REQUESTURL' => getFullUrl('')));
     }
     if (file_exists($cache_file)) {
         $oXml = new XmlParser();
         $buff = $oXml->parse(FileHandler::readFile($cache_file));
         $item = $buff->zbxe_news->item;
         if ($item) {
             if (!is_array($item)) {
                 $item = array($item);
             }
             foreach ($item as $key => $val) {
                 $obj = null;
                 $obj->title = $val->body;
                 $obj->date = $val->attrs->date;
                 $obj->url = $val->attrs->url;
                 $news[] = $obj;
             }
             Context::set('news', $news);
         }
         Context::set('released_version', $buff->zbxe_news->attrs->released_version);
         Context::set('download_link', $buff->zbxe_news->attrs->download_link);
     }
     // DB 정보를 세팅
     $db_info = Context::getDBInfo();
     Context::set('selected_lang', $db_info->lang_type);
     // 현재 버젼과 설치 경로 세팅
     Context::set('current_version', __ZBXE_VERSION__);
     Context::set('installed_path', realpath('./'));
     // 모듈 목록을 가져옴
     $oModuleModel =& getModel('module');
     $module_list = $oModuleModel->getModuleList();
     Context::set('module_list', $module_list);
     // 애드온 목록을 가져옴
     $oAddonModel =& getAdminModel('addon');
     $addon_list = $oAddonModel->getAddonList();
     Context::set('addon_list', $addon_list);
     /**
      * 각종 통계를 추출
      **/
     $args->date = date("Ymd000000", time() - 60 * 60 * 24);
     $today = date("Ymd");
     // 회원현황
     $output = executeQueryArray("admin.getMemberStatus", $args);
     if ($output->data) {
         foreach ($output->data as $var) {
             if ($var->date == $today) {
                 $status->member->today = $var->count;
             } else {
                 $status->member->yesterday = $var->count;
             }
         }
     }
     $output = executeQuery("admin.getMemberCount", $args);
     $status->member->total = $output->data->count;
     // 문서현황
     $output = executeQueryArray("admin.getDocumentStatus", $args);
     if ($output->data) {
         foreach ($output->data as $var) {
             if ($var->date == $today) {
                 $status->document->today = $var->count;
             } else {
                 $status->document->yesterday = $var->count;
             }
         }
     }
     $output = executeQuery("admin.getDocumentCount", $args);
     $status->document->total = $output->data->count;
     // 댓글현황
     $output = executeQueryArray("admin.getCommentStatus", $args);
     if ($output->data) {
         foreach ($output->data as $var) {
             if ($var->date == $today) {
                 $status->comment->today = $var->count;
             } else {
                 $status->comment->yesterday = $var->count;
             }
         }
     }
     $output = executeQuery("admin.getCommentCount", $args);
     $status->comment->total = $output->data->count;
     // 엮인글현황
     $output = executeQueryArray("admin.getTrackbackStatus", $args);
     if ($output->data) {
         foreach ($output->data as $var) {
             if ($var->date == $today) {
                 $status->trackback->today = $var->count;
//.........这里部分代码省略.........
开发者ID:hottaro,项目名称:xpressengine,代码行数:101,代码来源:admin.admin.view.php

示例12: getThumbnail

 function getThumbnail($width = 80, $height = 0, $thumbnail_type = '')
 {
     // Return false if the document doesn't exist
     if (!$this->document_srl) {
         return;
     }
     if ($this->isSecret() && !$this->isGranted()) {
         return;
     }
     // If not specify its height, create a square
     if (!$height) {
         $height = $width;
     }
     // Return false if neither attachement nor image files in the document
     if (!$this->get('uploaded_count') && !preg_match("!<img!is", $this->get('content'))) {
         return;
     }
     // Get thumbnai_type information from document module's configuration
     if (!in_array($thumbnail_type, array('crop', 'ratio'))) {
         $config = $GLOBALS['__document_config__'];
         if (!$config) {
             $oDocumentModel = getModel('document');
             $config = $oDocumentModel->getDocumentConfig();
             $GLOBALS['__document_config__'] = $config;
         }
         $thumbnail_type = $config->thumbnail_type;
     }
     // Define thumbnail information
     $thumbnail_path = sprintf('files/thumbnails/%s', getNumberingPath($this->document_srl, 3));
     $thumbnail_file = sprintf('%s%dx%d.%s.jpg', $thumbnail_path, $width, $height, $thumbnail_type);
     $thumbnail_url = Context::getRequestUri() . $thumbnail_file;
     // Return false if thumbnail file exists and its size is 0. Otherwise, return its path
     if (file_exists($thumbnail_file)) {
         if (filesize($thumbnail_file) < 1) {
             return false;
         } else {
             return $thumbnail_url;
         }
     }
     // Target File
     $source_file = null;
     $is_tmp_file = false;
     // Find an iamge file among attached files if exists
     if ($this->hasUploadedFiles()) {
         $file_list = $this->getUploadedFiles();
         $first_image = null;
         foreach ($file_list as $file) {
             if ($file->direct_download !== 'Y') {
                 continue;
             }
             if ($file->cover_image === 'Y' && file_exists($file->uploaded_filename)) {
                 $source_file = $file->uploaded_filename;
                 break;
             }
             if ($first_image) {
                 continue;
             }
             if (preg_match("/\\.(jpe?g|png|gif|bmp)\$/i", $file->source_filename)) {
                 if (file_exists($file->uploaded_filename)) {
                     $first_image = $file->uploaded_filename;
                 }
             }
         }
         if (!$source_file && $first_image) {
             $source_file = $first_image;
         }
     }
     // If not exists, file an image file from the content
     if (!$source_file) {
         $content = $this->get('content');
         $target_src = null;
         preg_match_all("!src=(\"|')([^\"' ]*?)(\"|')!is", $content, $matches, PREG_SET_ORDER);
         $cnt = count($matches);
         for ($i = 0; $i < $cnt; $i++) {
             $target_src = trim($matches[$i][2]);
             if (!preg_match("/\\.(jpg|png|jpeg|gif|bmp)\$/i", $target_src)) {
                 continue;
             }
             if (preg_match('/\\/(common|modules|widgets|addons|layouts)\\//i', $target_src)) {
                 continue;
             } else {
                 if (!preg_match('/^(http|https):\\/\\//i', $target_src)) {
                     $target_src = Context::getRequestUri() . $target_src;
                 }
                 $tmp_file = sprintf('./files/cache/tmp/%d', md5(rand(111111, 999999) . $this->document_srl));
                 if (!is_dir('./files/cache/tmp')) {
                     FileHandler::makeDir('./files/cache/tmp');
                 }
                 FileHandler::getRemoteFile($target_src, $tmp_file);
                 if (!file_exists($tmp_file)) {
                     continue;
                 } else {
                     list($_w, $_h, $_t, $_a) = @getimagesize($tmp_file);
                     if ($_w < $width || $_h < $height) {
                         continue;
                     }
                     $source_file = $tmp_file;
                     $is_tmp_file = true;
                     break;
                 }
//.........这里部分代码省略.........
开发者ID:jominhyun,项目名称:xe-core,代码行数:101,代码来源:document.item.php

示例13: getThumbnail

 function getThumbnail($width = 80, $height = 0, $thumbnail_type = '')
 {
     // return false if no doc exists
     if (!$this->comment_srl) {
         return;
     }
     // If signiture height setting is omitted, create a square
     if (!$height) {
         $height = $width;
     }
     // return false if neigher attached file nor image;
     if (!$this->hasUploadedFiles() && !preg_match("!<img!is", $this->get('content'))) {
         return;
     }
     // get thumbail generation info on the doc module configuration.
     if (!in_array($thumbnail_type, array('crop', 'ratio'))) {
         $thumbnail_type = 'crop';
     }
     // Define thumbnail information
     $thumbnail_path = sprintf('files/thumbnails/%s', getNumberingPath($this->comment_srl, 3));
     $thumbnail_file = sprintf('%s%dx%d.%s.jpg', $thumbnail_path, $width, $height, $thumbnail_type);
     $thumbnail_url = Context::getRequestUri() . $thumbnail_file;
     // return false if a size of existing thumbnail file is 0. otherwise return the file path
     if (file_exists($thumbnail_file)) {
         if (filesize($thumbnail_file) < 1) {
             return FALSE;
         } else {
             return $thumbnail_url;
         }
     }
     // Target file
     $source_file = NULL;
     $is_tmp_file = FALSE;
     // find an image file among attached files
     if ($this->hasUploadedFiles()) {
         $file_list = $this->getUploadedFiles();
         if (count($file_list)) {
             foreach ($file_list as $file) {
                 if ($file->direct_download != 'Y') {
                     continue;
                 }
                 if (!preg_match("/\\.(jpg|png|jpeg|gif|bmp)\$/i", $file->source_filename)) {
                     continue;
                 }
                 $source_file = $file->uploaded_filename;
                 if (!file_exists($source_file)) {
                     $source_file = NULL;
                 } else {
                     break;
                 }
             }
         }
     }
     // get an image file from the doc content if no file attached.
     if (!$source_file) {
         $content = $this->get('content');
         $target_src = NULL;
         preg_match_all("!src=(\"|')([^\"' ]*?)(\"|')!is", $content, $matches, PREG_SET_ORDER);
         $cnt = count($matches);
         for ($i = 0; $i < $cnt; $i++) {
             $target_src = $matches[$i][2];
             if (preg_match('/\\/(common|modules|widgets|addons|layouts)\\//i', $target_src)) {
                 continue;
             } else {
                 if (!preg_match('/^(http|https):\\/\\//i', $target_src)) {
                     $target_src = Context::getRequestUri() . $target_src;
                 }
                 $tmp_file = sprintf('./files/cache/tmp/%d', md5(rand(111111, 999999) . $this->comment_srl));
                 FileHandler::makeDir('./files/cache/tmp');
                 FileHandler::getRemoteFile($target_src, $tmp_file);
                 if (!file_exists($tmp_file)) {
                     continue;
                 } else {
                     list($_w, $_h, $_t, $_a) = @getimagesize($tmp_file);
                     if ($_w < $width || $_h < $height) {
                         continue;
                     }
                     $source_file = $tmp_file;
                     $is_tmp_file = TRUE;
                     break;
                 }
             }
         }
     }
     $output = FileHandler::createImageFile($source_file, $thumbnail_file, $width, $height, 'jpg', $thumbnail_type);
     if ($is_tmp_file) {
         FileHandler::removeFile($source_file);
     }
     // return the thumbnail path if successfully generated.
     if ($output) {
         return $thumbnail_url;
     } else {
         FileHandler::writeFile($thumbnail_file, '', 'w');
     }
     return;
 }
开发者ID:umjinsun12,项目名称:dngshin,代码行数:96,代码来源:comment.item.php

示例14: _doLoginXEJoin

 function _doLoginXEJoin($func_arg)
 {
     $oMemberModel = getModel('member');
     $config = $oMemberModel->getMemberConfig();
     $oMemberController = getController('member');
     $oLoginXEServerModel = getModel('loginxeclient');
     $module_config = $oLoginXEServerModel->getConfig();
     // call a trigger (before)
     $trigger_output = ModuleHandler::triggerCall('member.procMemberInsert', 'before', $config);
     if (!$trigger_output->toBool()) {
         return $trigger_output;
     }
     // Check if an administrator allows a membership or module config allows external join function
     if ($module_config->loginxe_joinenable == '') {
         $module_config->loginxe_joinenable = 'true';
     }
     if ($config->enable_join != 'Y' || $module_config->loginxe_joinenable != 'true') {
         return new Object(-1, 'msg_signup_disabled');
     }
     if ($oMemberModel->getMemberInfoByEmailAddress($func_arg->email)) {
         return new Object(-1, 'loginxecli_duplicate_email');
     }
     $args = new stdClass();
     list($args->email_id, $args->email_host) = explode('@', $func_arg->email);
     $args->allow_mailing = "N";
     $args->allow_message = "Y";
     $args->email_address = $func_arg->email;
     $args->find_account_answer = md5($func_arg->state) . '@' . $args->email_host;
     $args->find_account_question = "1";
     $args->nick_name = $func_arg->nick_name;
     while ($oMemberModel->getMemberSrlByNickName($args->nick_name)) {
         $args->nick_name = $func_arg->nick_name . substr(md5($func_arg->state . rand(0, 9999)), 0, 5);
     }
     $args->password = $func_arg->password;
     // check password strength
     if (!$oMemberModel->checkPasswordStrength($args->password, $config->password_strength)) {
         $message = Context::getLang('about_password_strength');
         return new Object(-1, $message[$config->password_strength]);
     }
     $args->user_id = substr($args->email_id, 0, 20);
     $useN = FALSE;
     //if id's first char is number, add n for first char.
     if (preg_match('/[0-9]/', substr($args->user_id, 0, 1))) {
         $useN = TRUE;
         $args->user_id = 'lxe' . substr($args->email_id, 0, 17);
     }
     while ($oMemberModel->getMemberInfoByUserID($args->user_id)) {
         if ($useN) {
             $args->user_id = 'lxe' . substr($args->email_id, 0, 7) . substr(md5($func_arg->state . rand(0, 9999)), 0, 10);
         } else {
             $args->user_id = substr($args->email_id, 0, 10) . substr(md5($func_arg->state . rand(0, 9999)), 0, 10);
         }
     }
     $args->user_name = $func_arg->nick_name;
     // remove whitespace
     $checkInfos = array('user_id', 'nick_name', 'email_address');
     $replaceStr = array("\r\n", "\r", "\n", " ", "\t", "­");
     foreach ($checkInfos as $val) {
         if (isset($args->{$val})) {
             $args->{$val} = str_replace($replaceStr, '', $args->{$val});
         }
     }
     $output = $oMemberController->insertMember($args);
     if (!$output->toBool()) {
         return $output;
     }
     $site_module_info = Context::get('site_module_info');
     if ($site_module_info->site_srl > 0) {
         $columnList = array('site_srl', 'group_srl');
         $default_group = $oMemberModel->getDefaultGroup($site_module_info->site_srl, $columnList);
         if ($default_group->group_srl) {
             $oMemberModel->addMemberToGroup($args->member_srl, $default_group->group_srl, $site_module_info->site_srl);
         }
     }
     $LoginXEMember = new stdClass();
     $LoginXEMember->srl = $args->member_srl;
     $LoginXEMember->enc_id = $func_arg->enc_id;
     $LoginXEMember->type = $func_arg->type;
     $output = executeQuery('loginxeclient.insertLoginxeclientMember', $LoginXEMember);
     if (!$output->toBool()) {
         return new Object(-1, $output->message);
     }
     $tmp_file = sprintf('./files/cache/tmp/%d', md5(rand(111111, 999999) . $args->email_id));
     if (!is_dir('./files/cache/tmp')) {
         FileHandler::makeDir('./files/cache/tmp');
     }
     $ping_header = array();
     $ping_header['Pragma'] = 'no-cache';
     $ping_header['Accept'] = '*/*';
     $request_config = array();
     $request_config['ssl_verify_peer'] = false;
     FileHandler::getRemoteFile($func_arg->profile, $tmp_file, null, 10, 'GET', null, $ping_header, array(), array(), $request_config);
     if (file_exists($tmp_file)) {
         $oMemberController->insertProfileImage($args->member_srl, $tmp_file);
     }
     if ($config->identifier == 'email_address') {
         $oMemberController->doLogin($args->email_address);
     } else {
         $oMemberController->doLogin($args->user_id);
     }
//.........这里部分代码省略.........
开发者ID:romitextile,项目名称:xe-module-loginxeclient,代码行数:101,代码来源:loginxeclient.controller.php

示例15: _get

 function _get($item)
 {
     $status = array('items' => 0, 'tags' => 0, 'images' => 0);
     $body = Context::convertEncodingStr(FileHandler::getRemoteResource($item->rss_url, null, 3, 'GET', 'application/xml', array('User-Agent' => 'liveXE ( ' . Context::getRequestUri() . ' )')));
     if (!$body) {
         $this->doUpdateRssCrawlerTime($item->livexe_rss_srl);
         return $status;
     }
     $body = $this->_checkAndCorrectEncodingInPI($body);
     $data = $this->parseRss($body);
     if (!$data || !count($data)) {
         $this->doUpdateRssCrawlerTime($item->livexe_rss_srl);
         return $status;
     }
     $items = array();
     for ($i = 0, $c = count($data); $i < $c; $i++) {
         unset($get_args);
         $get_args->module_srl = $item->module_srl;
         $get_args->link = $data[$i]->link;
         $output = executeQuery('livexe.getLiveDocumentExists', $get_args);
         if ($output->data) {
             continue;
         }
         $items[$data[$i]->link] = $data[$i];
     }
     if (!count($items)) {
         $this->doUpdateRssCrawlerTime($item->livexe_rss_srl);
         return $status;
     }
     $gap = $start = $end = null;
     foreach ($items as $link => $obj) {
         unset($args);
         $args->module_srl = $item->module_srl;
         $args->livexe_rss_srl = $item->livexe_rss_srl;
         $args->livexe_document_srl = getNextSequence();
         $args->member_srl = $item->member_srl;
         $args->author = $obj->author;
         $args->title = $obj->title;
         $args->content = $obj->content;
         $args->link = $obj->link;
         if (count($obj->tags)) {
             $_tag = array();
             foreach ($obj->tags as $key => $val) {
                 $val = trim(str_replace(array(' ', "\t"), '', $val));
                 if (!$val) {
                     continue;
                 }
                 $_tag[] = $val;
             }
             $args->tags = implode(',', $_tag);
         }
         $args->regdate = $obj->regdate;
         $args->list_order = $args->livexe_document_srl * -1;
         if (preg_match_all('/<img([^>]+)>/is', $args->content, $matches)) {
             for ($i = 0, $c = count($matches[1]); $i < $c; $i++) {
                 if (preg_match('/"(http)([^"]+)"/i', $matches[1][$i], $match)) {
                     $filename = str_replace(array('"', '&amp;'), array('', '&'), $match[0]);
                     if ($filename) {
                         $target = _XE_PATH_ . 'files/cache/tmp/' . $args->livexe_document_srl;
                         $thumbnail_name = $args->livexe_document_srl . rand(111111, 333333) . '.jpg';
                         $path = sprintf("./files/attach/images/%s/%s", $item->module_srl, getNumberingPath($args->livexe_document_srl, 3));
                         FileHandler::getRemoteFile($filename, $target);
                         list($width, $height, $type, $attrs) = @getimagesize($target);
                         if ($width > 80 && $height > 80) {
                             if (FileHandler::createImageFile($target, _XE_PATH_ . $path . $thumbnail_name, 100, 100, 'jpeg', 'crop')) {
                                 $args->thumbnail = $path . $thumbnail_name;
                                 $status['images']++;
                             }
                             break;
                         }
                         FileHandler::removeFile($target);
                     }
                 }
             }
         }
         $output = executeQuery('livexe.insertLiveDocument', $args);
         if (!$output->toBool()) {
             continue;
         }
         $status['items']++;
         if (!$start) {
             $start = strtotime($args->regdate);
         } else {
             $end = strtotime($args->regdate);
             if ($end - $start > $gap) {
                 $gap = $end - $start;
             }
             $start = $end;
         }
         if (!count($obj->tags)) {
             continue;
         }
         foreach ($obj->tags as $tag) {
             unset($tag_args);
             $tag_args->module_srl = $item->module_srl;
             $tag_args->livexe_rss_srl = $item->livexe_rss_srl;
             $tag_args->livexe_document_srl = $args->livexe_document_srl;
             $tag_args->tag = str_replace(array(' ', "\t"), '', $tag);
             $tag_args->regdate = $args->regdate;
             $output = executeQuery('livexe.insertLiveTag', $tag_args);
//.........这里部分代码省略.........
开发者ID:haegyung,项目名称:xe-module-live,代码行数:101,代码来源:livexe.controller.php


注:本文中的FileHandler::getRemoteFile方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。