NAVIGATION
Shows a random content part from within a given article (you supply the article ID - it show a random content part from within that article)
AUTHOR: Jens Zetterström
Put the code in /frontend_render/ (for example in a file called random_cp.php). <note tip>If the article content part contains replacement tags (for example {SITE}), they will not be replaced because code in /frontend_render/ is executed after those replacement tags already have been processed. To fix, put the code in content.article.inc.php instead. </note>
{RANDOMCP:article_id} (where article_id is the id of the ARTICLE).
set article to invisible, but CPs to visible
<?php //---------------------------------------------------------------------------------------------- // {SHOW_CONTENT} // DESCRIPTION: Shows a random content part from within a given article (you supply the article ID - it show a random content part from within that article). // AUTHOR: Jens Zetterström // ADAPTED BY: pSouper // INSTALLATION: Put the code in frontend_render (for example in a file called random_cp.php) // Note: If the article content part contains replacement tags (for example {SITE}), // they will not be replaced because code in frontend_render is executed after those // replacement tags already have been processed. To fix, put the code in // content.article.inc.php instead. // USAGE: {RANDOMCP:article_id} // where article_id is the id of the ARTICLE. // RCS: set article to invisible, but CPs to visible //---------------------------------------------------------------------------------------------- // ------------------------------------------------------------------ // obligate check for phpwcms constants if (!defined('PHPWCMS_ROOT')) { die("You Cannot Access This Script Directly, Have a Nice Day."); } // ------------------------------------------------------------------ // RCS inserted 03.11.08 function random_cp($aid, $db) { $CNT_TMP = ''; $template_default = $GLOBALS["template_default"]; $sql = "SELECT * " . "FROM " . DB_PREPEND . "phpwcms_articlecontent " . "INNER JOIN " . DB_PREPEND . "phpwcms_article ON " . DB_PREPEND . "phpwcms_article.article_id = " . DB_PREPEND . "phpwcms_articlecontent.acontent_aid " . "WHERE acontent_aid = " . $aid . " " . "AND acontent_visible = 1 " . "AND acontent_trash = 0 " . "AND " . DB_PREPEND . "phpwcms_article.article_deleted=0 AND ".DB_PREPEND."phpwcms_article.article_begin < NOW() " . // the line below is deleted as it introduces a bug that stops it showing random CP's - not sure why, help? //"AND " . DB_PREPEND . "phpwcms_article.article_end > NOW() "; "ORDER BY RAND()"; if($cresult = mysql_query($sql, $db) or die("error retrieving article from database")) { if($crow = mysql_fetch_array($cresult)) { //echo "<pre>";print_r($crow);echo"</pre>"; // Space before if($crow["acontent_before"]) { $CNT_TMP .= '<div style="margin:' . $crow["acontent_before"] . 'px 0 0 0; padding:0 0 0 0; clear:both;"></div>'; } // include content part code section include("include/inc_front/content/cnt" . $crow["acontent_type"] . ".article.inc.php"); //check if top link should be shown if($crow["acontent_top"]) { if($template_default["article"]["top_sign_before"].$template_default["article"]["top_sign_after"]) { $CNT_TMP .= $template_default["article"]["top_sign_before"]; $CNT_TMP .= '<a href="#top">'.$template_default["article"]["top_sign"].'</a>'; $CNT_TMP .= $template_default["article"]["top_sign_after"]; } else { $CNT_TMP .= '<br /><a href="#top">' . $template_default["article"]["top_sign"] . '</a>'; } } // Space after if($crow["acontent_after"]) { $CNT_TMP .= '<div style="margin:0 0 ' . $crow["acontent_before"] . 'px 0; padding:0 0 0 0; clear:both;"></div>'; } } } return $CNT_TMP; } if( ! ( strpos($content["all"],'{RANDOMCP:')===false ) ) { $content["all"] = preg_replace('/\{RANDOMCP:(.*?)\}/ie', 'random_cp("$1", $db);', $content["all"]); //$content["all"] = (psTagParser ($content["all"])); // RCS commented 03.11.08 } ?>