mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-14 00:39:57 +09:00
commit
ba18449544
16 changed files with 198 additions and 39 deletions
|
|
@ -640,7 +640,7 @@ class FileHandler
|
|||
break;
|
||||
}
|
||||
|
||||
return (int) $val;
|
||||
return $val;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ class XEHttpRequest
|
|||
$is_chunked = FALSE;
|
||||
while(strlen(trim($line = fgets($sock))))
|
||||
{
|
||||
list($equiv, $content) = preg_split('/ *: */', rtrim($line), 1);
|
||||
list($equiv, $content) = preg_split('/ *: */', rtrim($line), 2);
|
||||
if(!strcasecmp($equiv, 'Transfer-Encoding') && $content == 'chunked')
|
||||
{
|
||||
$is_chunked = TRUE;
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
<permission action="procDocumentMoveCategory" target="member" />
|
||||
<permission action="procDocumentDeleteCategory" target="member" />
|
||||
<permission action="procDocumentMakeXmlFile" target="member" />
|
||||
<permission action="procDocumentAdminMoveToTrash" target="member" />
|
||||
</permissions>
|
||||
<actions>
|
||||
<action name="dispDocumentPrint" type="view" />
|
||||
|
|
@ -58,6 +59,7 @@
|
|||
<action name="procDocumentAdminInsertConfig" type="controller" />
|
||||
<action name="procDocumentAdminDeleteAllThumbnail" type="controller" />
|
||||
<action name="procDocumentAdminCancelDeclare" type="controller" />
|
||||
<action name="procDocumentAdminMoveToTrash" type="controller" />
|
||||
|
||||
</actions>
|
||||
<menus>
|
||||
|
|
|
|||
|
|
@ -712,6 +712,81 @@ class documentAdminController extends document
|
|||
return $this->setRedirectUrl($returnUrl, $output);
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn procDocumentAdminMoveToTrash
|
||||
* @brief move a document to trash.
|
||||
* @see documentModel::getDocumentMenu
|
||||
*/
|
||||
function procDocumentAdminMoveToTrash()
|
||||
{
|
||||
$document_srl = Context::get('document_srl');
|
||||
|
||||
$oDocumentModel = getModel('document');
|
||||
$oDocumentController = getController('document');
|
||||
$oDocument = $oDocumentModel->getDocument($document_srl, false, false);
|
||||
if(!$oDocument->isGranted()) return $this->stop('msg_not_permitted');
|
||||
|
||||
$oModuleModel = getModel('module');
|
||||
$module_info = $oModuleModel->getModuleInfoByDocumentSrl($document_srl);
|
||||
|
||||
$args = new stdClass();
|
||||
$args->description = $message_content;
|
||||
$args->document_srl = $document_srl;
|
||||
|
||||
$oDocumentController->moveDocumentToTrash($args);
|
||||
|
||||
$returnUrl = Context::get('success_return_url');
|
||||
if(!$returnUrl)
|
||||
{
|
||||
$arrUrl = parse_url(Context::get('cur_url'));
|
||||
$query = "";
|
||||
|
||||
if($arrUrl['query'])
|
||||
{
|
||||
parse_str($arrUrl['query'], $arrQuery);
|
||||
|
||||
// set query
|
||||
if(isset($arrQuery['document_srl']))
|
||||
unset($arrQuery['document_srl']);
|
||||
|
||||
$searchArgs = new stdClass;
|
||||
foreach($arrQuery as $key=>$val)
|
||||
{
|
||||
$searchArgs->{$key} = $val;
|
||||
}
|
||||
|
||||
if(!isset($searchArgs->sort_index))
|
||||
$searchArgs->sort_index = $module_info->order_target;
|
||||
|
||||
foreach($module_info as $key=>$val)
|
||||
{
|
||||
if(!isset($searchArgs->{$key}))
|
||||
$searchArgs->{$key} = $val;
|
||||
}
|
||||
|
||||
$oDocumentModel = getModel('document');
|
||||
$output = $oDocumentModel->getDocumentList($searchArgs, $module_info->except_notice, TRUE, array('document_srl'));
|
||||
|
||||
$cur_page = 1;
|
||||
if(isset($arrQuery['page'])) {
|
||||
$cur_page = (int)$arrQuery['page'];
|
||||
}
|
||||
|
||||
|
||||
if($cur_page>1 && count($output->data) == 0)
|
||||
$arrQuery['page'] = $cur_page - 1;
|
||||
|
||||
$query = "?";
|
||||
foreach($arrQuery as $key=>$val)
|
||||
$query .= sprintf("%s=%s&", $key, $val);
|
||||
$query = substr($query, 0, -1);
|
||||
}
|
||||
$returnUrl = $arrUrl['path'] . $query;
|
||||
}
|
||||
|
||||
$this->add('redirect_url', $returnUrl);
|
||||
}
|
||||
|
||||
/**
|
||||
* Restor document from trash
|
||||
* @return void|object
|
||||
|
|
|
|||
|
|
@ -832,6 +832,14 @@ class documentController extends document
|
|||
$args->document_srl = $document_srl;
|
||||
$output = executeQuery('document.updateReadedCount', $args);
|
||||
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
//remove document item from cache
|
||||
$cache_key = 'document_item:'. getNumberingPath($document_srl) . $document_srl;
|
||||
$oCacheHandler->delete($cache_key);
|
||||
}
|
||||
|
||||
// Register session
|
||||
$_SESSION['readed_document'][$document_srl] = true;
|
||||
|
||||
|
|
@ -1097,6 +1105,14 @@ class documentController extends document
|
|||
|
||||
$oDB->commit();
|
||||
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
//remove document item from cache
|
||||
$cache_key = 'document_item:'. getNumberingPath($document_srl) . $document_srl;
|
||||
$oCacheHandler->delete($cache_key);
|
||||
}
|
||||
|
||||
// Leave in the session information
|
||||
$_SESSION['voted_document'][$document_srl] = true;
|
||||
|
||||
|
|
@ -1238,6 +1254,14 @@ class documentController extends document
|
|||
{
|
||||
$args->update_order = -1*getNextSequence();
|
||||
$args->last_updater = $last_updater;
|
||||
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
//remove document item from cache
|
||||
$cache_key = 'document_item:'. getNumberingPath($document_srl) . $document_srl;
|
||||
$oCacheHandler->delete($cache_key);
|
||||
}
|
||||
}
|
||||
|
||||
return executeQuery('document.updateCommentCount', $args);
|
||||
|
|
@ -1255,6 +1279,14 @@ class documentController extends document
|
|||
$args->document_srl = $document_srl;
|
||||
$args->trackback_count = $trackback_count;
|
||||
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
//remove document item from cache
|
||||
$cache_key = 'document_item:'. getNumberingPath($document_srl) . $document_srl;
|
||||
$oCacheHandler->delete($cache_key);
|
||||
}
|
||||
|
||||
return executeQuery('document.updateTrackbackCount', $args);
|
||||
}
|
||||
|
||||
|
|
@ -1358,6 +1390,30 @@ class documentController extends document
|
|||
if(!$output->toBool()) return $output;
|
||||
|
||||
$this->makeCategoryFile($category_info->module_srl);
|
||||
// remvove cache
|
||||
$oCacheHandler = CacheHandler::getInstance('object');
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$page = 0;
|
||||
while(true) {
|
||||
$args = new stdClass();
|
||||
$args->category_srl = $category_srl;
|
||||
$args->list_count = 100;
|
||||
$args->page = ++$page;
|
||||
$output = executeQuery('document.getDocumentList', $args, array('document_srl'));
|
||||
|
||||
if($output->data == array())
|
||||
break;
|
||||
|
||||
foreach($output->data as $val)
|
||||
{
|
||||
//remove document item from cache
|
||||
$cache_key = 'document_item:'. getNumberingPath($val->document_srl) . $val->document_srl;
|
||||
$oCacheHandler->delete($cache_key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Update category_srl of the documents in the same category to 0
|
||||
$args = new stdClass();
|
||||
$args->target_category_srl = 0;
|
||||
|
|
|
|||
|
|
@ -528,6 +528,10 @@ class documentModel extends document
|
|||
|
||||
if($oDocument->isExists())
|
||||
{
|
||||
$str_confirm = Context::getLang('cmd_document_do') . Context::getLang('confirm_delete');
|
||||
$url = sprintf("if(!confirm('%s')) return; var params = new Array(); params['document_srl']='%s'; params['mid']=current_mid;params['cur_url']=current_url; exec_xml('document', 'procDocumentAdminMoveToTrash', params)", $str_confirm, $document_srl);
|
||||
$oDocumentController->addDocumentPopupMenu($url,'cmd_trash','','javascript');
|
||||
|
||||
// Find a post equivalent to ip address
|
||||
$url = getUrl('','module','admin','act','dispDocumentAdminList','search_target','ipaddress','search_keyword',$oDocument->getIpAddress());
|
||||
$oDocumentController->addDocumentPopupMenu($url,'cmd_search_by_ipaddress',$icon_path,'TraceByIpaddress');
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
<conditions>
|
||||
<condition operation="in" column="documents.module_srl" var="module_srl" filter="number" />
|
||||
<condition operation="in" column="documents.category_srl" var="category_srl" filter="number" pipe="and" />
|
||||
<condition operation="equal" column="documents.member_srl" var="member_srl" filter="number" pipe="and" />
|
||||
<condition operation="equal" column="extra_vars.module_srl" default="documents.module_srl" pipe="and" />
|
||||
<condition operation="equal" column="extra_vars.document_srl" default="documents.document_srl" pipe="and" />
|
||||
<condition operation="equal" column="extra_vars.var_idx" var="var_idx" notnull="notnull" pipe="and" />
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
<conditions>
|
||||
<condition operation="in" column="documents.module_srl" var="module_srl" filter="number" />
|
||||
<condition operation="in" column="documents.category_srl" var="category_srl" filter="number" pipe="and" />
|
||||
<condition operation="equal" column="documents.member_srl" var="member_srl" filter="number" pipe="and" />
|
||||
<condition operation="equal" column="extra_vars.module_srl" default="documents.module_srl" pipe="and" />
|
||||
<condition operation="equal" column="extra_vars.document_srl" default="documents.document_srl" pipe="and" />
|
||||
<condition operation="equal" column="extra_vars.var_idx" var="var_idx" notnull="notnull" pipe="and" />
|
||||
|
|
|
|||
|
|
@ -226,24 +226,21 @@ class fileModel extends file
|
|||
function getUploadConfig()
|
||||
{
|
||||
$logged_info = Context::get('logged_info');
|
||||
$file_config = new stdClass();
|
||||
|
||||
$module_srl = Context::get('module_srl');
|
||||
// Get the current module if module_srl doesn't exist
|
||||
if(!$module_srl)
|
||||
{
|
||||
$current_module_info = Context::get('current_module_info');
|
||||
$module_srl = $current_module_info->module_srl;
|
||||
}
|
||||
$file_config = $this->getFileConfig($module_srl);
|
||||
|
||||
if($logged_info->is_admin == 'Y')
|
||||
{
|
||||
$file_config->allowed_filesize = preg_replace("/[a-z]/is","",ini_get('upload_max_filesize'));
|
||||
$file_config->allowed_attach_size = preg_replace("/[a-z]/is","",ini_get('upload_max_filesize'));
|
||||
$file_config->allowed_filetypes = '*.*';
|
||||
}
|
||||
else
|
||||
{
|
||||
$module_srl = Context::get('module_srl');
|
||||
// Get the current module if module_srl doesn't exist
|
||||
if(!$module_srl)
|
||||
{
|
||||
$current_module_info = Context::get('current_module_info');
|
||||
$module_srl = $current_module_info->module_srl;
|
||||
}
|
||||
$file_config = $this->getFileConfig($module_srl);
|
||||
}
|
||||
return $file_config;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -937,6 +937,7 @@ class importerAdminController extends importer
|
|||
$obj->last_update = base64_decode($xmlDoc->comment->update->body);
|
||||
if(!$obj->last_update) $obj->last_update = $obj->regdate;
|
||||
$obj->ipaddress = base64_decode($xmlDoc->comment->ipaddress->body);
|
||||
$obj->status = base64_decode($xmlDoc->comment->status->body);
|
||||
$obj->list_order = $obj->comment_srl*-1;
|
||||
// Change content information (attachment)
|
||||
if(count($files))
|
||||
|
|
@ -1010,13 +1011,13 @@ class importerAdminController extends importer
|
|||
|
||||
while(!feof($fp))
|
||||
{
|
||||
$file_obj = new stdClass;
|
||||
$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 = new stdClass;
|
||||
$file_obj->file_srl = getNextSequence();
|
||||
$file_obj->upload_target_srl = $upload_target_srl;
|
||||
$file_obj->module_srl = $module_srl;
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@
|
|||
</block>
|
||||
</block>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{@$group = ''}
|
||||
{@$cnt = 1}
|
||||
|
|
|
|||
|
|
@ -1194,27 +1194,48 @@ class memberController extends member
|
|||
if(!$memberSrl) return new Object(-1, 'msg_not_exists_member');
|
||||
|
||||
$columnList = array('member_srl', 'user_id', 'user_name', 'nick_name', 'email_address');
|
||||
$memberInfo = $oMemberModel->getMemberInfoByMemberSrl($memberSrl, 0, $columnList);
|
||||
$member_info = $oMemberModel->getMemberInfoByMemberSrl($memberSrl, 0, $columnList);
|
||||
|
||||
// Check if a authentication mail has been sent previously
|
||||
$chk_args = new stdClass;
|
||||
$chk_args->member_srl = $memberInfo->member_srl;
|
||||
$output = executeQuery('member.chkAuthMail', $chk_args);
|
||||
if($output->toBool() && $output->data->count == '0') return new Object(-1, 'msg_invalid_request');
|
||||
|
||||
$auth_args = new stdClass;
|
||||
$auth_args->member_srl = $memberInfo->member_srl;
|
||||
$output = executeQueryArray('member.getAuthMailInfo', $auth_args);
|
||||
if(!$output->data || !$output->data[0]->auth_key) return new Object(-1, 'msg_invalid_request');
|
||||
$auth_info = $output->data[0];
|
||||
|
||||
// Get content of the email to send a member
|
||||
Context::set('memberInfo', $memberInfo);
|
||||
$oModuleModel = getModel('module');
|
||||
$member_config = $oModuleModel->getModuleConfig('member');
|
||||
if(!$member_config->skin) $member_config->skin = "default";
|
||||
if(!$member_config->colorset) $member_config->colorset = "white";
|
||||
|
||||
// Check if a authentication mail has been sent previously
|
||||
$chk_args = new stdClass;
|
||||
$chk_args->member_srl = $member_info->member_srl;
|
||||
$output = executeQuery('member.chkAuthMail', $chk_args);
|
||||
if($output->toBool() && $output->data->count == '0') return new Object(-1, 'msg_invalid_request');
|
||||
|
||||
$auth_args = new stdClass;
|
||||
$auth_args->member_srl = $member_info->member_srl;
|
||||
$output = executeQueryArray('member.getAuthMailInfo', $auth_args);
|
||||
if(!$output->data || !$output->data[0]->auth_key) return new Object(-1, 'msg_invalid_request');
|
||||
$auth_info = $output->data[0];
|
||||
|
||||
$memberInfo = array();
|
||||
global $lang;
|
||||
if(is_array($member_config->signupForm))
|
||||
{
|
||||
$exceptForm=array('password', 'find_account_question');
|
||||
foreach($member_config->signupForm as $form)
|
||||
{
|
||||
if(!in_array($form->name, $exceptForm) && $form->isDefaultForm && ($form->required || $form->mustRequired))
|
||||
{
|
||||
$memberInfo[$lang->{$form->name}] = $member_info->{$form->name};
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$memberInfo[$lang->user_id] = $member_info->user_id;
|
||||
$memberInfo[$lang->user_name] = $member_info->user_name;
|
||||
$memberInfo[$lang->nick_name] = $member_info->nick_name;
|
||||
$memberInfo[$lang->email_address] = $member_info->email_address;
|
||||
}
|
||||
|
||||
// Get content of the email to send a member
|
||||
Context::set('memberInfo', $memberInfo);
|
||||
Context::set('member_config', $member_config);
|
||||
|
||||
$tpl_path = sprintf('%sskins/%s', $this->module_path, $member_config->skin);
|
||||
|
|
@ -1225,9 +1246,6 @@ class memberController extends member
|
|||
|
||||
$oTemplate = &TemplateHandler::getInstance();
|
||||
$content = $oTemplate->compile($tpl_path, 'confirm_member_account_mail');
|
||||
// Get information of the Webmaster
|
||||
$oModuleModel = getModel('module');
|
||||
$member_config = $oModuleModel->getModuleConfig('member');
|
||||
// Send a mail
|
||||
$oMail = new Mail();
|
||||
$oMail->setTitle( Context::getLang('msg_confirm_account_title') );
|
||||
|
|
@ -1812,6 +1830,7 @@ class memberController extends member
|
|||
$_SESSION['ipaddress'] = $_SERVER['REMOTE_ADDR'];
|
||||
$_SESSION['member_srl'] = $this->memberInfo->member_srl;
|
||||
$_SESSION['is_admin'] = '';
|
||||
setcookie('xe_logged', 'true', 0, '/');
|
||||
// Do not save your password in the session jiwojum;;
|
||||
//unset($this->memberInfo->password);
|
||||
// User Group Settings
|
||||
|
|
@ -2318,10 +2337,12 @@ class memberController extends member
|
|||
{
|
||||
$_SESSION[$key] = '';
|
||||
}
|
||||
|
||||
session_destroy();
|
||||
setcookie(session_name(), '', $_SERVER['REQUEST_TIME']-42000, '/');
|
||||
setcookie('sso','',$_SERVER['REQUEST_TIME']-42000, '/');
|
||||
setcookie('xeak','',$_SERVER['REQUEST_TIME']-42000, '/');
|
||||
setcookie('xe_logged', 'false', $_SERVER['REQUEST_TIME'] - 42000, '/');
|
||||
|
||||
if($memberSrl || $_COOKIE['xeak'])
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<hr noshade="noshade" />
|
||||
<ul>
|
||||
<li>Site : <a href="{getUrl()}" target="_blank">{getUrl()}</a></li>
|
||||
<li loop="$memberInfo=>$name,$value">{$name} : {$value}</li>
|
||||
<li loop="$memberInfo=>$name,$value" cond="!is_object($value)&&!is_array($value)">{$name} : {$value}</li>
|
||||
</ul>
|
||||
<hr noshade="noshade" />
|
||||
{$lang->msg_confirm_account_comment}<br />
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<hr noshade="noshade" />
|
||||
<ul>
|
||||
<li>Site : <a href="{getUrl()}" target="_blank">{getUrl()}</a></li>
|
||||
<li loop="$memberInfo=>$name,$value">{$name} : {$value}</li>
|
||||
<li loop="$memberInfo=>$name,$value" cond="!is_object($value)&&!is_array($value)">{$name} : {$value}</li>
|
||||
</ul>
|
||||
<hr noshade="noshade" />
|
||||
{sprintf($lang->msg_confirm_email_address_change, $newEmail)}<br />
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
</div>
|
||||
<div>
|
||||
<select name="find_account_question">
|
||||
<!--@for($i=1,$c=count($lang->find_account_question_items);$i<$c;$i++)-->
|
||||
<!--@for($i=1,$c=count($lang->find_account_question_items);$i<=$c;$i++)-->
|
||||
<option value="{$i}">{$lang->find_account_question_items[$i]}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
<hr noshade="noshade" />
|
||||
<ul>
|
||||
<li>{$lang->site} : <a href="{getUrl()}" target="_blank">{getUrl()}</a></li>
|
||||
<li loop="$memberInfo=>$name,$value">{$name} : {$value}</li>
|
||||
<li loop="$memberInfo=>$name,$value" cond="!is_object($value)&&!is_array($value)">{$name} : {$value}</li>
|
||||
<li>{$lang->password} : <span style="color:red">{$auth_args->new_password}</span></li>
|
||||
</ul>
|
||||
<hr noshade="noshade" />
|
||||
{$lang->msg_find_account_comment}<br />
|
||||
<a href="{$find_url}">{$find_url}</a>
|
||||
<a href="{$find_url}">{$find_url}</a>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue