1
JCash
News 1.71 : Archive block never displayed :(
  • 2011/5/19 23:46

  • JCash

  • Just popping in

  • Posts: 66

  • Since: 2011/2/22


I can't display Archive block with Xoops 2.5.1a and News 1.71 (cloned version and renamed news) :(

Anyone has already noticed this bug ?

Here the code, news_archives.php (sorry for long post) :
<?php // ------------------------------------------------------------------------ // // XOOPS - PHP Content Management System // // Copyright (c) 2000 XOOPS.org // // <https://xoops.org/> // // ------------------------------------------------------------------------- // // This program is free software; you can redistribute it and/or modify // // it under the terms of the GNU General Public License as published by // // the Free Software Foundation; either version 2 of the License, or // // (at your option) any later version. // // // // You may not change or alter any portion of this comment or credits // // of supporting developers from this source code or any supporting // // source code which is considered copyrighted (c) material of the // // original comment or credit authors. // // // // This program is distributed in the hope that it will be useful, // // but WITHOUT ANY WARRANTY; without even the implied warranty of // // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // // GNU General Public License for more details. // // // // You should have received a copy of the GNU General Public License // // along with this program; if not, write to the Free Software // // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // ------------------------------------------------------------------------ // if (!defined('XOOPS_ROOT_PATH')) { die('XOOPS root path not defined'); } /** * Solves issue when upgrading xoops version * Paths not set and block would not work */ if (!defined('NW2_MODULE_PATH')) { define("NW2_SUBPREFIX", "nw2"); define("NW2_MODULE_DIR_NAME", "news"); define("NW2_MODULE_PATH", XOOPS_ROOT_PATH . "/modules/" . NW2_MODULE_DIR_NAME); define("NW2_MODULE_URL", XOOPS_URL . "/modules/" . NW2_MODULE_DIR_NAME); define("NW2_UPLOADS_NEWS_PATH", XOOPS_ROOT_PATH . "/uploads/" . NW2_MODULE_DIR_NAME); define("NW2_TOPICS_FILES_PATH", XOOPS_ROOT_PATH . "/uploads/" . NW2_MODULE_DIR_NAME . "/topics"); define("NW2_ATTACHED_FILES_PATH", XOOPS_ROOT_PATH . "/uploads/" . NW2_MODULE_DIR_NAME . "/attached"); define("NW2_TOPICS_FILES_URL", XOOPS_URL . "/uploads/" . NW2_MODULE_DIR_NAME . "/topics"); define("NW2_ATTACHED_FILES_URL", XOOPS_URL . "/uploads/" . NW2_MODULE_DIR_NAME . "/attached"); } include_once NW2_MODULE_PATH . '/class/class.newsstory.php'; /** * Display archives * @param array $options : * 0 = sort order (0=older first, 1=newer first) * 1 = Starting date, year * 2 = Starting date, month * 3 = Ending date, year * 4 = Ending date, month * 5 = until today ? */ function nw2_b_news_archives_show($options) { global $xoopsDB, $xoopsConfig; include_once NW2_MODULE_PATH . '/class/class.newsstory.php'; include_once NW2_MODULE_PATH . '/include/functions.php'; include_once XOOPS_ROOT_PATH.'/language/'.$xoopsConfig['language'].'/calendar.php'; if (file_exists(NW2_MODULE_PATH . '/language/'.$xoopsConfig['language'].'/main.php')) { include_once NW2_MODULE_PATH . '/language/'.$xoopsConfig['language'].'/main.php'; } else { include_once NW2_MODULE_PATH . '/language/english/main.php'; } $months_arr = array(1 => _CAL_JANUARY, 2 => _CAL_FEBRUARY, 3 => _CAL_MARCH, 4 => _CAL_APRIL, 5 => _CAL_MAY, 6 => _CAL_JUNE, 7 => _CAL_JULY, 8 => _CAL_AUGUST, 9 => _CAL_SEPTEMBER, 10 => _CAL_OCTOBER, 11 => _CAL_NOVEMBER, 12 => _CAL_DECEMBER); $block = array(); $sort_order = $options[0] == 0 ? 'ASC' : 'DESC'; $starting_date = mktime(0,0,0,intval($options[2]), 1, intval($options[1])); if(intval($options[5])!=1) { $ending_date = mktime(23,59,59,intval($options[4]), 28, intval($options[3])); } else { $ending_date = time(); } $sql = "SELECT distinct(FROM_UNIXTIME(published,'%Y-%m')) as published FROM ".$xoopsDB->prefix('nw2_stories').' WHERE published>='.$starting_date .' AND published<='.$ending_date.' ORDER BY published '.$sort_order; $result = $xoopsDB->query($sql); if (!$result) { return ''; } while ($myrow = $xoopsDB->fetchArray($result)) { $year = intval(substr($myrow['published'],0,4)); $month = intval(substr($myrow['published'],5,2)); $formated_month = $months_arr[$month]; $block['archives'][] = array('month' => $month, 'year' => $year, 'formated_month' => $formated_month); } //DNPROSSI ADDED $block['newsmodule_url']= NW2_MODULE_URL; return $block; } function nw2_b_news_archives_edit($options) { global $xoopsDB; $syear = $smonth = $eyear = $emonth = $older = $recent = 0; $selsyear = $selsmonth = $seleyear = $selemonth = 0; $form = ''; $selsyear = $options[1]; $selsmonth = $options[2]; $seleyear = $options[3]; $selemonth = $options[4]; $tmpstory = new nw2_NewsStory; $tmpstory->GetOlderRecentnews($older, $recent); // We are searching for the module's older and more recent article's date // Min and max value for the two dates selectors // We are going to use the older news for the starting date $syear = date('Y', $older); $smonth = date('n', $older); $eyear = date('Y', $recent); $emonth = date('n', $recent); // Verify parameters if($selsyear == 0 && $selsmonth == 0) { $selsyear = $syear; $selsmonth = $smonth; } if($seleyear == 0 && $selemonth == 0) { $seleyear = $eyear; $selemonth = $emonth; } // Sort order ************************************************************* // (0=older first, 1=newer first) $form .= '<b>'._MB_NW2_ORDER."</b>&nbsp;<select name='options[]'>"; $form .= "<option value='0'"; if ( $options[0] == 0 ) { $form .= " selected='selected'"; } $form .= '>'._MB_NW2_OLDER_FIRST."</option>n"; $form .= "<option value='1'"; if($options[0] == 1){ $form .= " selected='selected'"; } $form .= '>'._MB_NW2_RECENT_FIRST.'</option>'; $form .= "</select>n"; // Starting and ending dates ********************************************** $form .= '<br /><br /><b>'._MB_NW2_STARTING_DATE.'</b><br />'; $form .= _MB_NW2_CAL_YEAR."&nbsp;<select name='options[]'>"; for($i=$syear; $i<=$eyear; $i++) { $selected = ($i == $selsyear) ? "selected='selected'" : ''; $form .= "<option value='".$i."'".$selected.'>'.$i.'</option>'; } $form .= '</select>&nbsp;'._MB_NW2_CAL_MONTH."&nbsp;<select name='options[]'>"; for($i=1; $i<=12; $i++) { $selected = ($i == $selsmonth) ? "selected='selected'" : ''; $form .= "<option value='".$i."'".$selected.'>'.$i.'</option>'; } $form .= '</select>'; $form .= '<br /><br /><b>'._MB_NW2_ENDING_DATE.'</b><br />'; $form .= _MB_NW2_CAL_YEAR."&nbsp;<select name='options[]'>"; for($i=$syear; $i<=$eyear; $i++) { $selected = ($i == $seleyear) ? "selected='selected'" : ''; $form .= "<option value='".$i."'".$selected.'>'.$i.'</option>'; } $form .= '</select>&nbsp;'._MB_NW2_CAL_MONTH."&nbsp;<select name='options[]'>"; for($i=1; $i<=12; $i++) { $selected = ($i == $selemonth) ? "selected='selected'" : ''; $form .= "<option value='".$i."'".$selected.'>'.$i.'</option>'; } $form .= '</select>'; // Or until today ********************************************************* $form .= '<br />'; $checked = $options[5] == 1 ? " checked='checked'" : ''; $form .= "<input type='checkbox' value='1' name='options[]'".$checked.'>'; $form .= ' <b>'._MB_NW2_UNTIL_TODAY.'</b>'; return $form; } function nw2_b_news_archives_onthefly($options) { $options = explode('|',$options); $block = & nw2_b_news_archives_show($options); $tpl = new XoopsTpl(); $tpl->assign('block', $block); $tpl->display('db:nw2_news_block_archives.html'); } ?>


Archive block works with News 1.67 and Xoops 2.5.1a... but in my case, it is too late to downgrade :(

Any solution ?
Thanks