function actionDefault() { // Start with an empty list of entries $entries = array(); // Loop over the data directory contents foreach ($this->dataDir->getContents('*.dat') as $entry) { // Get the contents $entry = $entry->getContents(); // Unserialize $entry = YDObjectUtil::unserialize($entry); // Add it to the list of entries array_push($entries, $entry); } // Add the entries to the template $this->template->assign('entries', $entries); // Output the template $this->template->display(); }
function fffRequest() { // Initialize the parent request $this->YDRequest(); // Make the template object available for all requests $this->wrapperTpl = new YDTemplate(); $this->actionTpl = new YDTemplate(); $this->wrapperTpl->register_function('t', 'YDTplModT'); $this->actionTpl->register_function('t', 'YDTplModT'); // create a new user object for the request if (isset($_SESSION['s_user'])) { $this->user = YDObjectUtil::unserialize($_SESSION['s_user']); } else { $this->user = new UserObject('Anonymous', ''); } if ($this->user->ip != $_SERVER['REMOTE_ADDR']) { $this->user->ip = $_SERVER['REMOTE_ADDR']; $_SESSION['s_user'] = YDObjectUtil::serialize($this->user); } }
/** * This function will parse the contents of a render and return * a new YDForm object. * * @returns A YDForm object. */ function import($content, $options = array()) { $class = isset($options['class']) ? $options['class'] : 'YDForm'; $type = isset($options['type']) ? $options['type'] : YD_XML_STRING; $xml = new YDXml($content, $type); $arr = $xml->toArray(); // Form Name, Method, Action, Target $f_name = $arr['form'][0]['@']['name']; $f_method = $arr['form'][0]['@']['method']; $f_action = $arr['form'][0]['@']['action']; $f_target = $arr['form'][0]['@']['target']; $f_legend = $arr['form'][0]['@']['legend']; // References $form =& $arr['form'][0]['#']; $attr =& $form['attributes'][0]['#']; $elem =& $form['elements'][0]['#']; $rule =& $form['rules'][0]['#']; $comp =& $form['comparerules'][0]['#']; $frul =& $form['formrules'][0]['#']; $filt =& $form['filters'][0]['#']; $r_elem =& $form['registered'][0]['#']['elements'][0]['#']; $r_filt =& $form['registered'][0]['#']['filters'][0]['#']; $r_rule =& $form['registered'][0]['#']['rules'][0]['#']; $r_rend =& $form['registered'][0]['#']['renderers'][0]['#']; // Attributes $f_attr = array(); if (is_array($attr)) { $attr =& $attr['attribute']; for ($i = 0; $i < count($attr); $i++) { $f_attr[$attr[$i]['@']['name']] = $attr[$i]['@']['value']; } } // YDForm object $f = new $class($f_name, $f_method, $f_action, $f_target, $f_attr); $f->setLegend($f_legend); // Elements if (is_array($elem)) { $elem =& $elem['element']; for ($i = 0; $i < count($elem); $i++) { // Name, Type, Label, Value $name = $elem[$i]['@']['name']; $type = $elem[$i]['@']['type']; $label = $elem[$i]['#']['labels'][0]['#']['label'][0]['@']['value']; $value = $elem[$i]['#']['values'][0]['#']['value'][0]['@']['value']; // Attributes $attributes = array(); $attr =& $elem[$i]['#']['attributes'][0]['#']; if (is_array($attr)) { $attr =& $attr['attribute']; for ($j = 0; $j < count($attr); $j++) { $attributes[$attr[$j]['@']['name']] = $attr[$j]['@']['value']; } } // Options $options = array(); $opts =& $elem[$i]['#']['options'][0]['#']; if (is_array($opts)) { $opts =& $opts['option']; for ($j = 0; $j < count($opts); $j++) { $options[$opts[$j]['@']['name']] = $opts[$j]['@']['value']; } } // Add $e =& $f->addElement($type, $name, $label, $attributes, $options); $e->setValue($value); } } // Rules if (is_array($rule)) { $rule =& $rule['rule']; for ($i = 0; $i < count($rule); $i++) { // Element, Type, Error $element = $rule[$i]['@']['element']; $type = $rule[$i]['@']['type']; $error = $rule[$i]['#']['errors'][0]['#']['error'][0]['@']['value']; // Options $options = array(); $opts =& $rule[$i]['#']['options'][0]['#']; if (is_array($opts)) { $opts =& $opts['option']; for ($j = 0; $j < count($opts); $j++) { if ($opts[$j]['@']['serialized'] == 'true') { $opts[$j]['@']['value'] = YDObjectUtil::unserialize($opts[$j]['@']['value']); } if ($opts[$j]['@']['id'] == '') { $options = $opts[$j]['@']['value']; } else { $options[$opts[$j]['@']['id']] = $opts[$j]['@']['value']; } } } // Add $f->addRule($element, $type, $error, $options); } } // Compare Rules if (is_array($comp)) { $comp =& $comp['rule']; for ($i = 0; $i < count($comp); $i++) { // Type, Error $type = $comp[$i]['@']['type']; $error = $comp[$i]['#']['errors'][0]['#']['error'][0]['@']['value']; // Elements $elements = array(); $elem =& $comp[$i]['#']['elements'][0]['#']; if (is_array($elem)) { $elem =& $elem['element']; for ($j = 0; $j < count($elem); $j++) { $elements[] = $elem[$j]['@']['name']; } } // Add $f->addCompareRule($elements, $type, $error); } } // Form Rules if (is_array($frul)) { $frul =& $frul['rule']; for ($i = 0; $i < count($frul); $i++) { // Callback $callback = $frul[$i]['@']['callback']; if (strpos($callback, '::') !== false) { $c = explode('::', $callback); $callback = array($c[0], $c[1]); } // Add $f->addFormRule($callback); } } // Filters if (is_array($filt)) { $filt =& $filt['element']; for ($i = 0; $i < count($filt); $i++) { // Element, Type $element = $filt[$i]['@']['name']; $type = $filt[$i]['@']['filter']; // Add $f->addFilter($element, $type); } } // Registered Elements if (is_array($r_elem)) { $r_elem =& $r_elem['element']; for ($i = 0; $i < count($r_elem); $i++) { // Name, Class, File $name = $r_elem[$i]['@']['name']; $class = $r_elem[$i]['@']['class']; $file = $r_elem[$i]['@']['file']; // Add $f->registerElement($name, $class, $file); } } // Registered Renderers if (is_array($r_rend)) { $r_rend =& $r_rend['renderer']; for ($i = 0; $i < count($r_rend); $i++) { // Name, Class, File $name = $r_rend[$i]['@']['name']; $class = $r_rend[$i]['@']['class']; $file = $r_rend[$i]['@']['file']; // Add $f->registerRenderer($name, $class, $file); } } // Registered Filters if (is_array($r_filt)) { $r_filt =& $r_filt['filter']; for ($i = 0; $i < count($r_filt); $i++) { // Name, File $name = $r_filt[$i]['@']['name']; $file = $r_filt[$i]['@']['file']; // Callback $callback = $r_filt[$i]['@']['callback']; if (strpos($callback, '::') !== false) { $c = explode('::', $callback); $callback = array($c[0], $c[1]); } // Add $f->registerFilter($name, $callback, $file); } } // Registered Rules if (is_array($r_rule)) { $r_rule =& $r_rule['rule']; for ($i = 0; $i < count($r_rule); $i++) { // Name, File $name = $r_rule[$i]['@']['name']; $file = $r_rule[$i]['@']['file']; // Callback $callback = $r_rule[$i]['@']['callback']; if (strpos($callback, '::') !== false) { $c = explode('::', $callback); $callback = array($c[0], $c[1]); } // Add $f->registerFilter($name, $callback, $file); } } return $f; }