mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
192 lines
4.5 KiB
PHP
192 lines
4.5 KiB
PHP
<?php
|
|
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
|
/**
|
|
* The admin controller class of the rss module
|
|
*
|
|
* @author NAVER (developers@xpressengine.com)
|
|
*/
|
|
class RssAdminController extends Rss
|
|
{
|
|
function init()
|
|
{
|
|
}
|
|
|
|
/**
|
|
* configuration
|
|
*/
|
|
function procRssAdminInsertConfig()
|
|
{
|
|
$vars = Context::getRequestVars();
|
|
$config = getModel('rss')->getConfig();
|
|
|
|
if($img_file = $vars->image)
|
|
{
|
|
// Delete image file
|
|
if($config->image)
|
|
{
|
|
FileHandler::removeFile($config->image);
|
|
}
|
|
|
|
$vars->image = '';
|
|
|
|
// Upload image file
|
|
if($img_file['tmp_name'] && is_uploaded_file($img_file['tmp_name']))
|
|
{
|
|
$path = 'files/attach/images/rss';
|
|
$file_ext = strtolower(array_pop(explode('.', $img_file['name'])));
|
|
$file_name = sprintf('%s/feed_image.%s', $path, $file_ext);
|
|
|
|
// If file exists, delete
|
|
if(file_exists($file_name))
|
|
{
|
|
FileHandler::removeFile($file_name);
|
|
}
|
|
|
|
// Check image file extension
|
|
if(!in_array($file_ext, array('jpg', 'jpeg', 'gif', 'png')))
|
|
{
|
|
$msg['error'] = 'msg_rss_invalid_image_format';
|
|
}
|
|
// Move the file
|
|
else if(!FileHandler::makeDir($path) || !@move_uploaded_file($img_file['tmp_name'], $file_name))
|
|
{
|
|
$msg['error'] = 'file.msg_file_upload_error';
|
|
}
|
|
// Success
|
|
else
|
|
{
|
|
$vars->image = $file_name;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!in_array($vars->use_total_feed, array('Y','N')))
|
|
{
|
|
$vars->open_rss = 'Y';
|
|
}
|
|
$vars->feed_document_count = intval($vars->feed_document_count);
|
|
if ($vars->feed_document_count < 1 || $vars->feed_document_count > 1000)
|
|
{
|
|
$vars->feed_document_count = 20;
|
|
}
|
|
|
|
getController('module')->updateModuleConfig('rss', $vars);
|
|
|
|
if(isset($msg['error']))
|
|
{
|
|
throw new Rhymix\Framework\Exception($msg['error']);
|
|
}
|
|
else
|
|
{
|
|
$this->setMessage(isset($msg) ? $msg : 'success_updated');
|
|
}
|
|
|
|
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispRssAdminIndex'));
|
|
}
|
|
|
|
/**
|
|
* Part configuration
|
|
*/
|
|
function procRssAdminInsertModuleConfig()
|
|
{
|
|
$vars = Context::getRequestVars();
|
|
|
|
if($vars->target_module_srl)
|
|
{
|
|
$target_module_srls = explode(',', $vars->target_module_srl);
|
|
}
|
|
else
|
|
{
|
|
$target_module_srls = array_keys($vars->open_rss ?: []);
|
|
}
|
|
|
|
if(!count($target_module_srls))
|
|
{
|
|
throw new Rhymix\Framework\Exceptions\InvalidRequest;
|
|
}
|
|
|
|
foreach($target_module_srls as $module_srl)
|
|
{
|
|
if(!$module_srl = intval($module_srl))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
$config = new stdClass;
|
|
if(isset($vars->open_rss[$module_srl]))
|
|
{
|
|
$config->open_rss = $vars->open_rss[$module_srl];
|
|
$config->open_total_feed = $vars->open_total_feed[$module_srl];
|
|
$config->feed_description = $vars->feed_description[$module_srl];
|
|
}
|
|
else
|
|
{
|
|
$config->open_rss = $vars->open_rss ?: [];
|
|
$config->open_total_feed = $vars->open_total_feed;
|
|
$config->feed_description = $vars->feed_description;
|
|
$config->feed_copyright = $vars->feed_copyright;
|
|
}
|
|
|
|
if(!in_array($config->open_rss, array('Y', 'H', 'N')))
|
|
{
|
|
$config->open_rss = 'N';
|
|
}
|
|
if(!in_array($config->open_total_feed, array('N', 'T_N')))
|
|
{
|
|
$config->open_total_feed = 'T_N';
|
|
}
|
|
|
|
getController('module')->updateModulePartConfig('rss', $module_srl, $config);
|
|
}
|
|
|
|
$this->setMessage('success_updated');
|
|
$this->setRedirectUrl(Context::get('success_return_url') ?: getNotEncodedUrl('', 'module', 'admin', 'act', 'dispRssAdminIndex'));
|
|
}
|
|
|
|
function procRssAdminDeleteFeedImage()
|
|
{
|
|
$config = getModel('rss')->getConfig();
|
|
if(!$config->image)
|
|
{
|
|
throw new Rhymix\Framework\Exceptions\InvalidRequest;
|
|
}
|
|
|
|
FileHandler::removeFile($config->image);
|
|
|
|
$config->image = '';
|
|
getController('module')->insertModuleConfig('rss', $config);
|
|
}
|
|
|
|
/**
|
|
* Compatible function
|
|
*/
|
|
function setFeedConfig($config)
|
|
{
|
|
getController('module')->insertModuleConfig('rss', $config);
|
|
return new BaseObject();
|
|
}
|
|
|
|
/**
|
|
* Compatible function
|
|
*/
|
|
function setRssModuleConfig($module_srl, $open_rss, $open_total_feed = 'N', $feed_description = 'N', $feed_copyright = 'N')
|
|
{
|
|
$config = new stdClass;
|
|
$config->open_rss = $open_rss;
|
|
$config->open_total_feed = $open_total_feed;
|
|
|
|
if($feed_description != 'N')
|
|
{
|
|
$config->feed_description = $feed_description;
|
|
}
|
|
if($feed_copyright != 'N')
|
|
{
|
|
$config->feed_copyright = $feed_copyright;
|
|
}
|
|
|
|
getController('module')->insertModulePartConfig('rss', $module_srl, $config);
|
|
return new BaseObject();
|
|
}
|
|
}
|
|
/* End of file rss.admin.controller.php */
|
|
/* Location: ./modules/rss/rss.admin.controller.php */
|