DELETE FROM _widgets WHERE wd_id = 'blog_main';\r
INSERT INTO _widgets\r
(wd_id, wd_name, wd_type, wd_content_type, wd_category_id, wd_template_type, wd_edit_content, wd_version, wd_required_version, wd_author, wd_copyright, wd_license, wd_official_level, wd_description, wd_add_script_lib, wd_add_script_lib_a, wd_read_scripts, wd_read_css, wd_available, wd_editable, wd_has_admin, wd_enable_operation, wd_use_instance_def, wd_initialized, wd_release_dt, wd_install_dt, wd_create_dt) VALUES\r
-('blog_main', 'ブログ-メイン', 'blog', 'blog', 'blog', 'bootstrap', true, '3.2.1', '2.10.10', 'Naoki Hirata', 'Magic3.org', 'GPL', 10, 'ブログ記事を管理し、画面に表示します。', 'entry_detail=jquery-ui.tabs,ckeditor_m3toolbar;image=jquery.jcrop,elfinder;', 'entry_detail=jquery-ui.tabs,ckeditor_m3toolbar;config=ckeditor_m3toolbar,jquery.uploadfile;image=jquery.jcrop,elfinder;', false, false, true, true, true, true, false,true, '2015-03-01', now(), now());\r
+('blog_main', 'ブログ-メイン', 'blog', 'blog', 'blog', 'bootstrap', true, '3.3.0', '2.10.10', 'Naoki Hirata', 'Magic3.org', 'GPL', 10, 'ブログ記事を管理し、画面に表示します。', 'entry_detail=jquery-ui.tabs,ckeditor_m3toolbar;image=jquery.jcrop,elfinder;', 'entry_detail=jquery-ui.tabs,ckeditor_m3toolbar;config=ckeditor_m3toolbar,jquery.uploadfile;image=jquery.jcrop,elfinder;', false, false, true, true, true, true, false,true, '2015-10-02', now(), now());\r
DELETE FROM _widgets WHERE wd_id = 'blog_search_box';\r
INSERT INTO _widgets\r
(wd_id, wd_name, wd_category_id, wd_template_type, wd_version, wd_author, wd_copyright, wd_license, wd_official_level, wd_description, wd_available, wd_editable, wd_has_admin, wd_enable_operation, wd_use_instance_def, wd_initialized, wd_launch_index, wd_cache_type, wd_view_control_type, wd_release_dt, wd_install_dt, wd_create_dt) VALUES\r
('blog_update_box', 'ブログ-更新', 'blog', '1.1.0', 'Naoki Hirata', 'Magic3.org', 'GPL', 10, 'コメントを含むブログの更新状況を一覧表示。', true, false, false,true, 1, -1, true, '2012-10-04', now(), now());\r
DELETE FROM _widgets WHERE wd_id = 'blog_calendar_box';\r
INSERT INTO _widgets \r
-(wd_id, wd_name, wd_category_id, wd_version, wd_author, wd_copyright, wd_license, wd_official_level, wd_description, wd_read_scripts, wd_read_css, wd_available, wd_editable, wd_has_admin, wd_enable_operation, wd_use_instance_def, wd_initialized, wd_launch_index, wd_cache_type, wd_view_control_type, wd_release_dt, wd_install_dt, wd_create_dt) VALUES\r
-('blog_calendar_box', 'ブログ-カレンダー', 'blog', '1.1.0', 'Naoki Hirata', 'Magic3.org', 'GPL', 10, 'カレンダーからブログ記事にアクセスするためのボックス。', false, false, true, true, false, false, false,true, 0, 3, 2, '2012-10-04', now(), now());\r
+(wd_id, wd_name, wd_category_id, wd_version, wd_author, wd_copyright, wd_license, wd_official_level, wd_description, wd_read_scripts, wd_read_css, wd_available, wd_editable, wd_has_admin, wd_enable_operation, wd_use_instance_def, wd_initialized, wd_release_dt, wd_install_dt, wd_create_dt) VALUES\r
+('blog_calendar_box', 'ブログ-カレンダー', 'blog', '1.2.0', 'Naoki Hirata', 'Magic3.org', 'GPL', 10, 'カレンダーからブログ記事にアクセスするためのボックス。', false, false, true, true, false, false, false,true, '2015-10-02', now(), now());\r
DELETE FROM _widgets WHERE wd_id = 'blog_category_menu';\r
INSERT INTO _widgets\r
-(wd_id, wd_name, wd_type, wd_category_id, wd_version, wd_params, wd_author, wd_copyright, wd_license, wd_official_level, wd_description, wd_read_scripts, wd_read_css, wd_available, wd_editable, wd_has_admin, wd_enable_operation, wd_use_instance_def, wd_initialized, wd_launch_index, wd_cache_type, wd_view_control_type, wd_install_dt, wd_create_dt) VALUES\r
-('blog_category_menu', 'ブログ-カテゴリーメニュー', 'BGCM', 'blog', '1.0.0', '', 'Naoki Hirata', 'Magic3.org', 'GPL', 10, 'ブログカテゴリメニュー', false, false, true, true, false, false, false,true, 0, 1, -1, now(), now());\r
+(wd_id, wd_name, wd_category_id, wd_version, wd_author, wd_copyright, wd_license, wd_official_level, wd_description, wd_read_scripts, wd_read_css, wd_available, wd_editable, wd_has_admin, wd_enable_operation, wd_use_instance_def, wd_initialized, wd_release_dt, wd_install_dt, wd_create_dt) VALUES\r
+('blog_category_menu', 'ブログ-カテゴリーメニュー', 'blog', '1.1.0', 'Naoki Hirata', 'Magic3.org', 'GPL', 10, 'ブログカテゴリメニュー', false, false, true, true, false, false, false,true, '2015-10-02',now(), now());\r
DELETE FROM _widgets WHERE wd_id = 'blog_archive_menu';\r
INSERT INTO _widgets\r
-(wd_id, wd_name, wd_category_id, wd_version, wd_author, wd_copyright, wd_license, wd_official_level, wd_description, wd_has_admin, wd_enable_operation, wd_use_instance_def, wd_initialized, wd_launch_index, wd_cache_type, wd_view_control_type, wd_release_dt, wd_install_dt, wd_create_dt) VALUES\r
-('blog_archive_menu', 'ブログ-アーカイブメニュー', 'blog', '2.0.0', 'Naoki Hirata', 'Magic3.org', 'GPL', 10, 'ブログアーカイブメニュー', true, false, true,true, 0, 1, -1, '2013-09-22', now(), now());\r
+(wd_id, wd_name, wd_category_id, wd_version, wd_author, wd_copyright, wd_license, wd_official_level, wd_description, wd_has_admin, wd_enable_operation, wd_use_instance_def, wd_initialized, wd_release_dt, wd_install_dt, wd_create_dt) VALUES\r
+('blog_archive_menu', 'ブログ-アーカイブメニュー', 'blog', '2.1.0', 'Naoki Hirata', 'Magic3.org', 'GPL', 10, 'ブログアーカイブメニュー', true, false, true,true, '2015-10-02', now(), now());\r
DELETE FROM _widgets WHERE wd_id = 'blog_list';\r
INSERT INTO _widgets\r
(wd_id, wd_name, wd_category_id, wd_version, wd_author, wd_copyright, wd_license, wd_official_level, wd_description, wd_available, wd_editable, wd_has_admin, wd_enable_operation, wd_use_instance_def, wd_initialized, wd_launch_index, wd_cache_type, wd_view_control_type, wd_release_dt, wd_install_dt, wd_create_dt) VALUES\r
*
* @package Magic3 Framework
* @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
- * @copyright Copyright 2006-2013 Magic3 Project.
+ * @copyright Copyright 2006-2015 Magic3 Project.
* @license http://www.gnu.org/copyleft/gpl.html GPL License
* @version SVN: $Id$
* @link http://www.magic3.org
// メニュー項目を作成
if ($entryCount > 0){ // 記事数が0以上のとき
$name = $foreYear . '年' . $foreMonth . '月(' . $entryCount . ')';
- $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, 'act=view&year=' . $foreYear . '&month=' . $foreMonth);
+ $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, 'year=' . $foreYear . '&month=' . $foreMonth);
$row = array(
'link_url' => $this->convertUrlToHtmlEntity($this->getUrl($linkUrl, true/*リンク用*/)), // リンク
'name' => $this->convertToDispString($name) // タイトル
// メニュー項目を作成
if ($entryCount > 0){ // 記事数が0以上のとき
$name = $foreYear . '年' . $foreMonth . '月(' . $entryCount . ')';
- $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, 'act=view&year=' . $foreYear . '&month=' . $foreMonth);
+ $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, 'year=' . $foreYear . '&month=' . $foreMonth);
$row = array(
'link_url' => $this->convertUrlToHtmlEntity($this->getUrl($linkUrl, true/*リンク用*/)), // リンク
'name' => $this->convertToDispString($name) // タイトル
// メニュー項目を作成
if ($entryCount > 0){ // 記事数が0以上のとき
$name = $foreYear . '年(' . $entryCount . ')';
- $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, 'act=view&year=' . $foreYear);
+ $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, 'year=' . $foreYear);
$row = array(
'link_url' => $this->convertUrlToHtmlEntity($this->getUrl($linkUrl, true/*リンク用*/)), // リンク
'name' => $this->convertToDispString($name) // タイトル
// メニュー項目を作成
if ($entryCount > 0){ // 記事数が0以上のとき
$name = $foreYear . '年(' . $entryCount . ')';
- $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, 'act=view&year=' . $foreYear);
+ $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, 'year=' . $foreYear);
$row = array(
'link_url' => $this->convertUrlToHtmlEntity($this->getUrl($linkUrl, true/*リンク用*/)), // リンク
'name' => $this->convertToDispString($name) // タイトル
*
* @package Magic3 Framework
* @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
- * @copyright Copyright 2006-2012 Magic3 Project.
+ * @copyright Copyright 2006-2015 Magic3 Project.
* @license http://www.gnu.org/copyleft/gpl.html GPL License
- * @version SVN: $Id: blog_calendar_boxWidgetContainer.php 5271 2012-10-04 12:38:47Z fishbone $
+ * @version SVN: $Id$
* @link http://www.magic3.org
*/
require_once($gEnvManager->getContainerPath() . '/baseWidgetContainer.php');
$ret = $this->db->getOldEntry($langId, $row); // 最も古い記事を取得
if ($ret){
if (strtotime($year . '/' . $month . '/1') > strtotime($row['be_regist_dt'])){
- $prevUrl = $this->gPage->createWidgetCmdUrl(self::TARGET_WIDGET, self::THIS_WIDGET_ID, 'act=view&year=' . $prevYear . '&month=' . $prevMonth);
+ $prevUrl = $this->gPage->createWidgetCmdUrl(self::TARGET_WIDGET, self::THIS_WIDGET_ID, 'year=' . $prevYear . '&month=' . $prevMonth);
}
}
if (strtotime($year . '/' . $month . '/1') < strtotime(date('Y/m/1'))){
- $nextUrl = $this->gPage->createWidgetCmdUrl(self::TARGET_WIDGET, self::THIS_WIDGET_ID, 'act=view&year=' . $nextYear . '&month=' . $nextMonth);
+ $nextUrl = $this->gPage->createWidgetCmdUrl(self::TARGET_WIDGET, self::THIS_WIDGET_ID, 'year=' . $nextYear . '&month=' . $nextMonth);
}
$calendarData = '';
$calendarData .= "<td> </td>" . M3_NL;
} else {
if (in_array($Day->thisDay(), $this->entryDays)){ // 投稿記事あり
- $dayUrl = $this->gPage->createWidgetCmdUrl(self::TARGET_WIDGET, self::THIS_WIDGET_ID, 'act=view&year=' . $year . '&month=' . $month . '&day=' . $Day->thisDay());
+ $dayUrl = $this->gPage->createWidgetCmdUrl(self::TARGET_WIDGET, self::THIS_WIDGET_ID, 'year=' . $year . '&month=' . $month . '&day=' . $Day->thisDay());
$dayLink = '<a href="' . $this->convertUrlToHtmlEntity($this->getUrl($dayUrl, true/*リンク用*/)) . '">' . $Day->thisDay(). '</a>';
$calendarData .= '<td>'. $dayLink ."</td>" . M3_NL;
} else {
*
* @package Magic3 Framework
* @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
- * @copyright Copyright 2006-2013 Magic3 Project.
+ * @copyright Copyright 2006-2015 Magic3 Project.
* @license http://www.gnu.org/copyleft/gpl.html GPL License
* @version SVN: $Id$
* @link http://www.magic3.org
{
// リンク先の作成
$name = $fetchedRow['bc_name'];
- $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, 'act=view&' . M3_REQUEST_PARAM_CATEGORY_ID . '=' . $fetchedRow['bc_id']);
+ $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, M3_REQUEST_PARAM_CATEGORY_ID . '=' . $fetchedRow['bc_id']);
$row = array(
'link_url' => $this->convertUrlToHtmlEntity($this->getUrl($linkUrl, true/*リンク用*/)), // リンク
'name' => $this->convertToDispString($name) // タイトル
private $headKeyword; // METAタグキーワード
private $addLib = array(); // 追加スクリプト
private $viewMode; // 表示モード
+ private $showListType; // 一覧表示タイプ
+ private $viewParam = array(); // 表示用パラメータ
private $editIconPos; // 編集アイコンの位置
private $avatarSize; // アバター画像サイズ
private $titleList; // 一覧タイトル
if (empty($this->blogId)) $this->blogId = $request->trimValueOf(M3_REQUEST_PARAM_BLOG_ID_SHORT); // 略式ブログID
$keyword = $request->trimValueOf('keyword');// 検索キーワード
- if ($act == 'search' || !empty($keyword)){
+/* if ($act == 'search' || !empty($keyword)){
$this->viewMode = 2; // 表示モード(検索一覧表示)
return 'list.tmpl.html'; // 検索結果一覧
} else {
return 'single.tmpl.html'; // 記事詳細
}
}
+ }*/
+ if (!empty($this->entryId)){ // 記事IDがある場合を優先
+ $this->viewMode = 10; // 表示モード(記事単体表示)
+ if ($this->_renderType == M3_RENDER_BOOTSTRAP){
+ return 'single_bootstrap.tmpl.html'; // 記事詳細
+ } else {
+ return 'single.tmpl.html'; // 記事詳細
+ }
+ } else if ($act == 'search' || !empty($keyword)){
+ $this->viewMode = 2; // 表示モード(検索一覧表示)
+ return 'list.tmpl.html'; // 検索結果一覧
+ } else {
+ $year = $request->trimValueOf('year'); // 年指定
+ $month = $request->trimValueOf('month'); // 月指定
+ $category = $request->trimValueOf(M3_REQUEST_PARAM_CATEGORY_ID); // カテゴリID
+
+ if (!empty($category) || !empty($year) || !empty($month)){
+ $this->viewMode = 1; // 表示モード(記事一覧表示)
+ return 'list.tmpl.html'; // 記事一覧
+ } else {
+ $this->viewMode = 0; // 表示モード(トップ一覧表示)
+ return 'list.tmpl.html'; // トップ画面記事一覧
+ }
}
}
/**
$ret = self::$_mainDb->getPrevNextEntryByKeyword($regDate, $this->_langId, $this->entryViewOrder, $this->startDt/*期間開始*/, $this->endDt/*期間終了*/, $parsedKeywords, $this->blogId, $this->_userId, $prevRow, $nextRow);
}
} else { // カテゴリーで取得の場合
-
+ if ($this->isSystemManageUser){ // システム管理ユーザの場合
+ $ret = self::$_mainDb->getPrevNextEntryByCategory($regDate, $this->_langId, $this->entryViewOrder, $category, $this->blogId, null/*ユーザ指定なし*/, $prevRow, $nextRow);
+ } else {
+ $ret = self::$_mainDb->getPrevNextEntryByCategory($regDate, $this->_langId, $this->entryViewOrder, $category, $this->blogId, $this->_userId, $prevRow, $nextRow);
+ }
}
if ($ret){
$prevUrl = '';
if (!empty($prevRow)){
$url = $this->gEnv->getDefaultUrl() . '?'. M3_REQUEST_PARAM_BLOG_ENTRY_ID . '=' . $prevRow['be_id'];
if (!empty($keyword)) $url .= '&keyword=' . $keyword;
+ if (!empty($category)) $url .= '&' . M3_REQUEST_PARAM_CATEGORY_ID . '=' . $category;
$prevUrl = $this->getUrl($url, true/*リンク用*/);
}
if (!empty($nextRow)){
$url = $this->gEnv->getDefaultUrl() . '?'. M3_REQUEST_PARAM_BLOG_ENTRY_ID . '=' . $nextRow['be_id'];
if (!empty($keyword)) $url .= '&keyword=' . $keyword;
+ if (!empty($category)) $url .= '&' . M3_REQUEST_PARAM_CATEGORY_ID . '=' . $category;
$nextUrl = $this->getUrl($url, true/*リンク用*/);
}
$day = $request->trimValueOf('day'); // 日指定
if (!empty($category)){ // カテゴリー指定のとき
+ $this->showListType = 'category'; // 一覧表示タイプ(カテゴリー)
+ $this->viewParam['category'] = $category; // 表示用パラメータ
+
// 総数を取得
if ($this->isSystemManageUser){ // システム管理ユーザの場合
$totalCount = self::$_mainDb->getEntryItemsCountByCategory($this->now, $category, $this->_langId);
$this->calcPageLink($this->pageNo, $totalCount, $this->entryViewCount);
// リンク文字列作成、ページ番号調整
- $pageLink = $this->createPageLink($this->pageNo, self::LINK_PAGE_COUNT, $this->currentPageUrl . '&act=view&' . M3_REQUEST_PARAM_CATEGORY_ID . '=' . $category);
+ $pageLink = $this->createPageLink($this->pageNo, self::LINK_PAGE_COUNT, $this->currentPageUrl . '&' . M3_REQUEST_PARAM_CATEGORY_ID . '=' . $category);
// 記事一覧を表示
if ($this->isSystemManageUser){ // システム管理ユーザの場合
}
} else if (!empty($year)){ // 年月日指定のとき
if (!empty($month) && !empty($day)){ // 日指定のとき
+ $this->showListType = 'day'; // 一覧表示タイプ(日)
+
$startDt = $year . '/' . $month . '/' . $day;
$endDt = $this->getNextDay($year . '/' . $month . '/' . $day);
$this->calcPageLink($this->pageNo, $totalCount, $this->entryViewCount);
// リンク文字列作成、ページ番号調整
- $pageLink = $this->createPageLink($this->pageNo, self::LINK_PAGE_COUNT, $this->currentPageUrl . '&act=view&year=' . $year . '&month=' . $month . '&day=' . $day);
+ $pageLink = $this->createPageLink($this->pageNo, self::LINK_PAGE_COUNT, $this->currentPageUrl . '&year=' . $year . '&month=' . $month . '&day=' . $day);
// 記事一覧作成
if ($this->isSystemManageUser){ // システム管理ユーザの場合
$this->message = $this->messageNoEntry;
}
} else if (!empty($month)){ // 月指定のとき
+ $this->showListType = 'month'; // 一覧表示タイプ(月)
+
$startDt = $year . '/' . $month . '/1';
$endDt = $this->getNextMonth($year . '/' . $month) . '/1';
$this->calcPageLink($this->pageNo, $totalCount, $this->entryViewCount);
// リンク文字列作成、ページ番号調整
- $pageLink = $this->createPageLink($this->pageNo, self::LINK_PAGE_COUNT, $this->currentPageUrl . '&act=view&year=' . $year . '&month=' . $month);
+ $pageLink = $this->createPageLink($this->pageNo, self::LINK_PAGE_COUNT, $this->currentPageUrl . '&year=' . $year . '&month=' . $month);
// 記事一覧作成
if ($this->isSystemManageUser){ // システム管理ユーザの場合
$this->message = $this->messageNoEntry;
}
} else { // 年指定のとき
+ $this->showListType = 'year'; // 一覧表示タイプ(年)
+
$startDt = $year . '/1/1';
$endDt = ($year + 1) . '/1/1';
$this->calcPageLink($this->pageNo, $totalCount, $this->entryViewCount);
// リンク文字列作成、ページ番号調整
- $pageLink = $this->createPageLink($this->pageNo, self::LINK_PAGE_COUNT, $this->currentPageUrl . '&act=view&year=' . $year);
+ $pageLink = $this->createPageLink($this->pageNo, self::LINK_PAGE_COUNT, $this->currentPageUrl . '&year=' . $year);
// 記事一覧作成
if ($this->isSystemManageUser){ // システム管理ユーザの場合
}
// 記事へのリンクを生成
- $linkUrl = $this->getUrl($this->gEnv->getDefaultUrl() . '?'. M3_REQUEST_PARAM_BLOG_ENTRY_ID . '=' . $entryId, true/*リンク用*/);
+ switch ($this->showListType){ // 一覧表示タイプ
+ case 'category': // 一覧表示タイプ(カテゴリー)
+ $linkUrl = $this->getUrl($this->gEnv->getDefaultUrl() . '?'. M3_REQUEST_PARAM_BLOG_ENTRY_ID . '=' . $entryId . '&' . M3_REQUEST_PARAM_CATEGORY_ID . '=' . $this->viewParam['category'], true/*リンク用*/); // カテゴリーID付加
+ break;
+ default:
+ $linkUrl = $this->getUrl($this->gEnv->getDefaultUrl() . '?'. M3_REQUEST_PARAM_BLOG_ENTRY_ID . '=' . $entryId, true/*リンク用*/);
+ break;
+ }
// タイトル作成
$titleTag = '<h' . $this->itemTagLevel . '><a href="' . $this->convertUrlToHtmlEntity($linkUrl) . '">' . $this->convertToDispString($title) . '</a></h' . $this->itemTagLevel . '>';
$queryStr .= 'AND be_language_id = ? '; $params[] = $langId;
$queryStr .= 'AND ? < be_regist_dt '; $params[] = $regDate;
-/* // ブログID
- if (isset($blogId)){
- $queryStr .= 'AND be_blog_id = ? ';
- $params[] = $blogId;
- }*/
// 検索条件を付加
list($condQueryStr, $condParams) = $this->_createSearchCondition($startDt, $endDt, $keywords, $blogId, $userId);
$queryStr .= $condQueryStr;
return $retStatus;
}
/**
+ * カテゴリー選択で前後のエントリー項目を取得(一般用)
+ *
+ * @param timestamp $regDate 登録日時
+ * @param string $langId 言語
+ * @param int $order 取得順(0=昇順,1=降順)
+ * @param int $categoryId カテゴリーID
+ * @param string $blogId ブログID(nullのとき指定なし)
+ * @param int $userId 参照制限する場合のユーザID
+ * @param array $prevRow 前のレコード
+ * @param array $nextRow 次のレコード
+ * @return bool 取得 = true, 取得なし= false
+ */
+ function getPrevNextEntryByCategory($regDate, $langId, $order, $categoryId, $blogId, $userId, &$prevRow, &$nextRow)
+ {
+ if ($regDate == $this->gEnv->getInitValueOfTimestamp()){
+ return false;
+ } else {
+ $retStatus = false;
+
+ // ### 前の日時の記事を取得 ###
+ $params = array();
+// $queryStr = 'SELECT * FROM blog_entry LEFT JOIN blog_id ON be_blog_id = bl_id AND bl_deleted = false ';
+ $queryStr = 'SELECT distinct(be_serial) FROM blog_entry LEFT JOIN blog_id ON be_blog_id = bl_id AND bl_deleted = false ';
+ $queryStr .= 'RIGHT JOIN blog_entry_with_category ON be_serial = bw_entry_serial ';
+ $queryStr .= 'WHERE be_deleted = false '; // 削除されていない
+ $queryStr .= 'AND be_language_id = ? '; $params[] = $langId;
+ $queryStr .= 'AND be_regist_dt < ? '; $params[] = $regDate;
+ $queryStr .= 'AND bw_category_id = ? '; $params[] = $categoryId;// 記事カテゴリー
+
+ // 検索条件を付加
+ list($condQueryStr, $condParams) = $this->_createSearchCondition(null, null, null, $blogId, $userId);
+ $queryStr .= $condQueryStr;
+ $params = array_merge($params, $condParams);
+
+ // シリアル番号を取得
+ $serialArray = array();
+ $ret = $this->selectRecords($queryStr, $params, $serialRows);
+ if ($ret){
+ for ($i = 0; $i < count($serialRows); $i++){
+ $serialArray[] = $serialRows[$i]['be_serial'];
+ }
+ }
+ $serialStr = implode(',', $serialArray);
+ if (empty($serialStr)) $serialStr = '0'; // 0レコードのときはダミー値を設定
+
+ $queryStr = 'SELECT * FROM blog_entry LEFT JOIN blog_id ON be_blog_id = bl_id AND bl_deleted = false ';
+ $queryStr .= 'LEFT JOIN _login_user ON be_regist_user_id = lu_id AND lu_deleted = false ';
+ $queryStr .= 'WHERE be_serial in (' . $serialStr . ') ';
+
+ $queryStr .= 'ORDER BY be_regist_dt DESC LIMIT 1';// 投稿順
+ $ret = $this->selectRecord($queryStr, $params, $row);
+ if ($ret){
+ $prevRow = $row;
+ $retStatus = true;
+ }
+
+ // ### 後の日時の記事を取得 ###
+ $params = array();
+// $queryStr = 'SELECT * FROM blog_entry LEFT JOIN blog_id ON be_blog_id = bl_id AND bl_deleted = false ';
+ $queryStr = 'SELECT distinct(be_serial) FROM blog_entry LEFT JOIN blog_id ON be_blog_id = bl_id AND bl_deleted = false ';
+ $queryStr .= 'RIGHT JOIN blog_entry_with_category ON be_serial = bw_entry_serial ';
+ $queryStr .= 'WHERE be_deleted = false '; // 削除されていない
+ $queryStr .= 'AND be_language_id = ? '; $params[] = $langId;
+ $queryStr .= 'AND ? < be_regist_dt '; $params[] = $regDate;
+ $queryStr .= 'AND bw_category_id = ? '; $params[] = $categoryId;// 記事カテゴリー
+
+ // 検索条件を付加
+ list($condQueryStr, $condParams) = $this->_createSearchCondition(null, null, null, $blogId, $userId);
+ $queryStr .= $condQueryStr;
+ $params = array_merge($params, $condParams);
+
+ // シリアル番号を取得
+ $serialArray = array();
+ $ret = $this->selectRecords($queryStr, $params, $serialRows);
+ if ($ret){
+ for ($i = 0; $i < count($serialRows); $i++){
+ $serialArray[] = $serialRows[$i]['be_serial'];
+ }
+ }
+ $serialStr = implode(',', $serialArray);
+ if (empty($serialStr)) $serialStr = '0'; // 0レコードのときはダミー値を設定
+
+ $queryStr = 'SELECT * FROM blog_entry LEFT JOIN blog_id ON be_blog_id = bl_id AND bl_deleted = false ';
+ $queryStr .= 'LEFT JOIN _login_user ON be_regist_user_id = lu_id AND lu_deleted = false ';
+ $queryStr .= 'WHERE be_serial in (' . $serialStr . ') ';
+
+ $queryStr .= 'ORDER BY be_regist_dt LIMIT 1';// 投稿順
+ $ret = $this->selectRecord($queryStr, $params, $row);
+ if ($ret){
+ $nextRow = $row;
+ $retStatus = true;
+ }
+
+ // ### 降順の場合は前後入れ替え ###
+ if (!empty($order)){
+ $tmp = $prevRow;
+ $prevRow = $nextRow;
+ $nextRow = $tmp;
+ }
+ }
+ return $retStatus;
+ }
+ /**
* 検索条件を作成
*
* @param timestamp $startDt 期間(開始日)
*
* @package Magic3 Framework
* @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
- * @copyright Copyright 2006-2012 Magic3 Project.
+ * @copyright Copyright 2006-2015 Magic3 Project.
* @license http://www.gnu.org/copyleft/gpl.html GPL License
- * @version SVN: $Id: blog_related_categoryWidgetContainer.php 5268 2012-10-04 11:33:49Z fishbone $
+ * @version SVN: $Id$
* @link http://www.magic3.org
*/
require_once($gEnvManager->getContainerPath() . '/baseWidgetContainer.php');
{
// リンク先の作成
$name = $fetchedRow['bc_name'];
- $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, 'act=view&' . M3_REQUEST_PARAM_CATEGORY_ID . '=' . $fetchedRow['bc_id']);
+ $linkUrl = $this->createCmdUrlToWidget(self::TARGET_WIDGET, M3_REQUEST_PARAM_CATEGORY_ID . '=' . $fetchedRow['bc_id']);
$row = array(
'link_url' => $this->convertUrlToHtmlEntity($this->getUrl($linkUrl, true/*リンク用*/)), // リンク
'name' => $this->convertToDispString($name) // タイトル