<?php // This is the files that controls the tutorials /* * Tutorials dispatched */ function rg_demo($rg, $paras) { global $rg_demos; //rg_log_ml('demo: paras: ' . print_r($paras, TRUE)); if (empty($paras)) return rg_template('doc/demo/list.html', $rg, TRUE /*xss*/); $demo = array_shift($paras); if (!isset($rg_demos[$demo])) return rg_template('doc/demo/invalid.html', $rg, TRUE /*xss*/); $d = $rg_demos[$demo]; $rg['demo']['demo'] = $demo; $rg['demo']['HTML:demo_name'] = rg_template('doc/demo/demos/' . $demo . '/name.html', $rg, TRUE /*xss*/); if (empty($paras)) { $page = '0'; } else { $page = array_shift($paras); $page = rg_force_alphanum($page); } $pi = FALSE; foreach ($d as $i => $_pi) { if (strcmp($page, $_pi['page']) == 0) { $pi = $_pi; break; } } if ($pi === FALSE) return rg_template('doc/demo/invalid_page.html', $rg, TRUE /*xss*/); rg_log_ml('DEBUG: pi: ' . print_r($pi, TRUE)); foreach ($pi as $k => $v) $rg['demo'][$k] = $v; // toc $c = array(); foreach ($d as $i => $_pi) { if (strcmp($page, $_pi['page']) == 0) $_pi['class'] = 'demo_toc_sel'; else $_pi['class'] = 'demo_toc_notsel'; $_pi['HTML:page_name'] = rg_template('doc/demo/demos/' . $demo . '/' . $_pi['page'] . '/name.html', $rg, TRUE /*xss*/); $c[] = $_pi; } $rg['demo']['HTML:toc'] = rg_template_table('doc/demo/toc', $c, $rg); $rg['demo']['HTML:page_name'] = rg_template('doc/demo/demos/' . $demo . '/' . $page . '/name.html', $rg, TRUE /*xss*/); $rg['demo']['HTML:content'] = rg_template( 'doc/demo/demos/' . $demo . '/' . $page . '/main.html', $rg, TRUE /*xss*/); return rg_template('doc/demo/container.html', $rg, TRUE /*xss*/); } $rg_demos = array( 'ci-1' => array( array( 'page' => '0', 'prev' => '', 'next' => 'about' ), array( 'page' => 'about', 'prev' => '0', 'next' => 'add_hook' ), array( 'page' => 'add_hook', 'prev' => 'about', 'next' => 'trigger' ), array( 'page' => 'trigger', 'prev' => 'add_hook', 'next' => '' ) ) ); ?>