/** * Naviguer d'un billet a l'autre dans la meme categorie * function dcPostNextInCat($dir,$s='%1$s %2$s %3$s') * @function dcPostNextInCat */ function myGetNextID($ts,$dir=1,$cat=0) { global $blog; $ts = (integer) $ts; $reqPlus = ''; if($dir > 0) { $sign = '>'; $order = 'ASC'; } else { $sign = '<'; $order = 'DESC'; } if ($blog->pub_mode !== NULL) { $reqPlus .= 'AND post_pub = '.$blog->pub_mode.' '; } if ($blog->lang !== NULL) { $reqPlus .= 'AND post_lang = \''.$blog->con->escapeStr($blog->lang).'\' '; } if ($cat !== 0) { $reqPlus .= 'AND cat_id = '.$cat.' '; } $strReq = 'SELECT post_id, post_titre, post_dt '. 'FROM '.$blog->t_post.' '. 'WHERE UNIX_TIMESTAMP(post_dt) '.$sign.' \''.$ts.'\' '. $reqPlus. 'ORDER BY post_dt '.$blog->con->escapeStr($order).' '. 'LIMIT 0,1 '; if (($rs = $blog->con->select($strReq)) !== false) { return $rs; } else { $blog->setError('MySQL : '.$blog->con->error(),2000); return false; } } function dcPostNextInCat($dir,$s='%1$s %2$s %3$s') { global $blog; global $news; $rs = myGetNextID($news->getTS(), $dir, $news->f('cat_id')); if (!$rs->isEmpty()) { $id = $rs->f('post_id'); $titre = $rs->f('post_titre'); $date = $rs->f('post_dt'); $ts = strtotime($date); $url = sprintf($blog->front_url['post'],date('Y',$ts), date('m',$ts),date('d',$ts),$id,$blog->str2url($titre)); printf($s,$id,$titre,$url); }