Table of Contents

RANDOMCP

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


INSTALLATION:

Put the code in /frontend_render/ (for example in a file called random_cp.php).

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

{RANDOMCP:article_id}

<?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
}
 
 
?>
english/phpwcms_replacer_rts/frontend_render/randomcp.txt · Last modified: 2009/07/27 11:23 by Knut Heermann (flip-flop)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0