mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-18 10:49:54 +09:00
Syndication API를 XE Core에 추가
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7640 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
ee1fc6237a
commit
1675d4c8d9
38 changed files with 1025 additions and 0 deletions
101
modules/syndication/syndication.controller.php
Normal file
101
modules/syndication/syndication.controller.php
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
<?php
|
||||
/**
|
||||
* @class syndicationController
|
||||
* @author zero (skklove@gmail.com)
|
||||
* @brief syndication 모듈의 Controller class
|
||||
**/
|
||||
|
||||
class syndicationController extends syndication {
|
||||
|
||||
function triggerInsertDocument(&$obj) {
|
||||
if($obj->module_srl < 1) return new Object();
|
||||
|
||||
$oSyndicationModel = &getModel('syndication');
|
||||
$oModuleModel = &getModel('module');
|
||||
|
||||
if($oSyndicationModel->isExceptedModules($obj->module_srl)) return new Object();
|
||||
|
||||
$config = $oModuleModel->getModuleConfig('syndication');
|
||||
|
||||
$id = $oSyndicationModel->getID('channel', $obj->module_srl);
|
||||
$this->ping($id, 'article');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
function triggerUpdateDocument(&$obj) {
|
||||
if($obj->module_srl < 1) return new Object();
|
||||
|
||||
$oSyndicationModel = &getModel('syndication');
|
||||
$oModuleModel = &getModel('module');
|
||||
|
||||
if($oSyndicationModel->isExceptedModules($obj->module_srl)) return new Object();
|
||||
|
||||
$config = $oModuleModel->getModuleConfig('syndication');
|
||||
|
||||
$id = $oSyndicationModel->getID('channel', $obj->module_srl);
|
||||
$this->ping($id, 'article');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
function triggerDeleteDocument(&$obj) {
|
||||
if($obj->module_srl < 1) return new Object();
|
||||
|
||||
$oSyndicationModel = &getModel('syndication');
|
||||
$oModuleModel = &getModel('module');
|
||||
|
||||
if($oSyndicationModel->isExceptedModules($obj->module_srl)) return new Object();
|
||||
|
||||
$this->insertLog($obj->module_srl, $obj->document_srl, $obj->title, $obj->content);
|
||||
|
||||
$config = $oModuleModel->getModuleConfig('syndication');
|
||||
|
||||
$id = $oSyndicationModel->getID('channel', $obj->module_srl);
|
||||
$this->ping($id, 'deleted');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
function triggerDeleteModule(&$obj) {
|
||||
$oSyndicationModel = &getModel('syndication');
|
||||
$oModuleModel = &getModel('module');
|
||||
|
||||
if($oSyndicationModel->isExceptedModules($obj->module_srl)) return new Object();
|
||||
|
||||
$this->insertLog($obj->module_srl, $obj->document_srl, $obj->title, $obj->content);
|
||||
|
||||
$output = executeQuery('syndication.getExceptModule', $obj);
|
||||
if($output->data->count) return new Object();
|
||||
|
||||
$config = $oModuleModel->getModuleConfig('syndication');
|
||||
|
||||
$id = $oSyndicationModel->getID('site', $obj->module_srl);
|
||||
$this->ping($id, 'deleted');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
function insertLog($module_srl, $document_srl, $title = null, $summary = null) {
|
||||
$args->module_srl = $module_srl;
|
||||
$args->document_srl = $document_srl;
|
||||
$args->title = $title;
|
||||
$args->summary = $summary;
|
||||
$output = executeQuery('syndication.insertLog', $args);
|
||||
}
|
||||
|
||||
function ping($id, $type) {
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('syndication');
|
||||
|
||||
if(!count($config->target_services)) return;
|
||||
if(substr($config->site_url,-1)!='/') $config->site_url .= '/';
|
||||
foreach($config->target_services as $key => $val) {
|
||||
$ping_url = trim($this->services[$val]);
|
||||
if(!$ping_url) continue;
|
||||
$ping_body = sprintf('http://%s?module=syndication&act=getSyndicationList&id=%s&type=%s', $config->site_url, $id, $type);
|
||||
FileHandler::getRemoteResource($ping_url, null, 3, 'POST', 'application/x-www-form-urlencoded', array(), array(), array('link'=>$ping_body));
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue