Project

General

Profile

1
//:Randomly display one WYSIWYG section from a given list
2
//:Use [[ShowRandomWysiwyg?section=10,12,15,20]] possible Delimiters: [ ,;:|-+#/ ]
3
global $database, $section_id;
4
	$content = '';
5
	if (isset($section)) {
6
		if( preg_match('/^[0-9]+(?:\s*[\,\|\-\;\:\+\#\/]\s*[0-9]+\s*)*$/', $section)) {
7
			if (is_readable(WB_PATH.'/modules/wysiwyg/view.php')) {
8
			// if valid arguments given and module wysiwyg is installed
9
				// split and sanitize arguments
10
				$aSections = preg_split('/[\s\,\|\-\;\:\+\#\/]+/', $section);
11
				$iOldSectionId = intval($section_id); // save old SectionID
12
				$section_id = $aSections[array_rand($aSections)]; // get random element
13
				ob_start(); // generate output by wysiwyg module
14
				require(WB_PATH.'/modules/wysiwyg/view.php');
15
				$content = ob_get_clean();
16
				$section_id = $iOldSectionId; // restore old SectionId
17
			}
18
		}
19
	}
20
return $content;
(12-12/19)