diff --git a/classes/file/FileHandler.class.php b/classes/file/FileHandler.class.php index eeda383df..29d94eb7f 100644 --- a/classes/file/FileHandler.class.php +++ b/classes/file/FileHandler.class.php @@ -640,7 +640,7 @@ class FileHandler break; } - return (int) $val; + return $val; } /** diff --git a/classes/httprequest/XEHttpRequest.class.php b/classes/httprequest/XEHttpRequest.class.php index 0fe8514fc..02ed6b8a3 100644 --- a/classes/httprequest/XEHttpRequest.class.php +++ b/classes/httprequest/XEHttpRequest.class.php @@ -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; diff --git a/modules/document/conf/module.xml b/modules/document/conf/module.xml index 28d0b74f2..b06c6e8a1 100644 --- a/modules/document/conf/module.xml +++ b/modules/document/conf/module.xml @@ -14,6 +14,7 @@ + @@ -58,6 +59,7 @@ + diff --git a/modules/document/document.admin.controller.php b/modules/document/document.admin.controller.php index c3e84ffa4..5f422ef76 100644 --- a/modules/document/document.admin.controller.php +++ b/modules/document/document.admin.controller.php @@ -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 diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index 87220649c..709099db8 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -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; diff --git a/modules/document/document.model.php b/modules/document/document.model.php index c51c18de9..b379c1202 100644 --- a/modules/document/document.model.php +++ b/modules/document/document.model.php @@ -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'); diff --git a/modules/document/queries/getDocumentListWithExtraVars.xml b/modules/document/queries/getDocumentListWithExtraVars.xml index 7e0f5fdfc..6214db64c 100644 --- a/modules/document/queries/getDocumentListWithExtraVars.xml +++ b/modules/document/queries/getDocumentListWithExtraVars.xml @@ -9,6 +9,7 @@ + diff --git a/modules/document/queries/getDocumentListWithExtraVarsPage.xml b/modules/document/queries/getDocumentListWithExtraVarsPage.xml index 0b1239d36..2d8d6d17f 100644 --- a/modules/document/queries/getDocumentListWithExtraVarsPage.xml +++ b/modules/document/queries/getDocumentListWithExtraVarsPage.xml @@ -9,6 +9,7 @@ + diff --git a/modules/file/file.model.php b/modules/file/file.model.php index afdcdc3ac..c9d4587ec 100644 --- a/modules/file/file.model.php +++ b/modules/file/file.model.php @@ -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; } diff --git a/modules/importer/importer.admin.controller.php b/modules/importer/importer.admin.controller.php index 1bd38bf23..f0af11460 100644 --- a/modules/importer/importer.admin.controller.php +++ b/modules/importer/importer.admin.controller.php @@ -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 , break if(trim($str) == '') break; // If it starts with , collect attachments if(trim($str) == '') { + $file_obj = new stdClass; $file_obj->file_srl = getNextSequence(); $file_obj->upload_target_srl = $upload_target_srl; $file_obj->module_srl = $module_srl; diff --git a/modules/layout/tpl/layout_info_view.html b/modules/layout/tpl/layout_info_view.html index b45be0e67..43cef668c 100644 --- a/modules/layout/tpl/layout_info_view.html +++ b/modules/layout/tpl/layout_info_view.html @@ -61,6 +61,7 @@ + {@$group = ''} {@$cnt = 1} diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 860aef260..eaefc60fd 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -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']) { diff --git a/modules/member/skins/default/confirm_member_account_mail.html b/modules/member/skins/default/confirm_member_account_mail.html index 1e0950baf..33e1ecd74 100644 --- a/modules/member/skins/default/confirm_member_account_mail.html +++ b/modules/member/skins/default/confirm_member_account_mail.html @@ -2,7 +2,7 @@
  • Site : {getUrl()}
  • -
  • {$name} : {$value}
  • +
  • {$name} : {$value}

{$lang->msg_confirm_account_comment}
diff --git a/modules/member/skins/default/confirm_member_new_email.html b/modules/member/skins/default/confirm_member_new_email.html index 91309d539..9a2f37fff 100644 --- a/modules/member/skins/default/confirm_member_new_email.html +++ b/modules/member/skins/default/confirm_member_new_email.html @@ -2,7 +2,7 @@
  • Site : {getUrl()}
  • -
  • {$name} : {$value}
  • +
  • {$name} : {$value}

{sprintf($lang->msg_confirm_email_address_change, $newEmail)}
diff --git a/modules/member/skins/default/find_member_account.html b/modules/member/skins/default/find_member_account.html index 70c166b9b..b80312c3b 100644 --- a/modules/member/skins/default/find_member_account.html +++ b/modules/member/skins/default/find_member_account.html @@ -41,7 +41,7 @@
diff --git a/modules/member/skins/default/find_member_account_mail.html b/modules/member/skins/default/find_member_account_mail.html index 5873df314..36ace04da 100644 --- a/modules/member/skins/default/find_member_account_mail.html +++ b/modules/member/skins/default/find_member_account_mail.html @@ -2,9 +2,9 @@
  • {$lang->site} : {getUrl()}
  • -
  • {$name} : {$value}
  • +
  • {$name} : {$value}
  • {$lang->password} : {$auth_args->new_password}

{$lang->msg_find_account_comment}
-{$find_url} \ No newline at end of file +{$find_url}