!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\dmz\php\pear\HTML\QuickForm\Renderer\   drwxrwxrwx
Free 4.13 GB of 39.52 GB (10.44%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     ObjectFlexy.php (8.84 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */

/**
 * QuickForm renderer for Flexy template engine, static version.
 * 
 * PHP versions 4 and 5
 *
 * LICENSE: This source file is subject to version 3.01 of the PHP license
 * that is available through the world-wide-web at the following URI:
 * http://www.php.net/license/3_01.txt If you did not receive a copy of
 * the PHP License and are unable to obtain it through the web, please
 * send a note to license@php.net so we can mail you a copy immediately.
 *
 * @category    HTML
 * @package     HTML_QuickForm
 * @author      Ron McClain <ron@humaniq.com>
 * @copyright   2001-2011 The PHP Group
 * @license     http://www.php.net/license/3_01.txt PHP License 3.01
 * @version     CVS: $Id: ObjectFlexy.php 317587 2011-10-01 07:55:53Z avb $
 * @link        http://pear.php.net/package/HTML_QuickForm
 */

/**
 * A concrete renderer for HTML_QuickForm, makes an object from form contents
 */ 
require_once 'HTML/QuickForm/Renderer/Object.php';

/**
 * QuickForm renderer for Flexy template engine, static version.
 * 
 * A static renderer for HTML_Quickform.  Makes a QuickFormFlexyObject
 * from the form content suitable for use with a Flexy template
 *
 * Usage:
 * <code>
 * $form =& new HTML_QuickForm('form', 'POST');
 * $template =& new HTML_Template_Flexy();
 * $renderer =& new HTML_QuickForm_Renderer_ObjectFlexy(&$template);
 * $renderer->setHtmlTemplate("html.html");
 * $renderer->setLabelTemplate("label.html");
 * $form->accept($renderer);
 * $view = new StdClass;
 * $view->form = $renderer->toObject();
 * $template->compile("mytemplate.html");
 * </code>
 *
 * Based on the code for HTML_QuickForm_Renderer_ArraySmarty
 *
 * @category    HTML
 * @package     HTML_QuickForm
 * @author      Ron McClain <ron@humaniq.com>
 * @version     Release: 3.2.13
 * @since       3.1.1
 */
class HTML_QuickForm_Renderer_ObjectFlexy extends HTML_QuickForm_Renderer_Object
{
   
/**#@+
    * @access private
    */
    /**
     * HTML_Template_Flexy instance
     * @var object $_flexy
     */
    
var $_flexy;

    
/**
     * Current element index
     * @var integer $_elementIdx
     */
    
var $_elementIdx;

    
/**
     * The current element index inside a group
     * @var integer $_groupElementIdx
     */
    
var $_groupElementIdx 0;

    
/**
     * Name of template file for form html
     * @var string $_html
     * @see     setRequiredTemplate()
     */
    
var $_html '';

    
/**
     * Name of template file for form labels
     * @var string $label
     * @see        setErrorTemplate()
     */
    
var $label '';

    
/**
     * Class of the element objects, so you can add your own
     * element methods
     * @var string $_elementType
     */
    
var $_elementType 'QuickformFlexyElement';
   
/**#@-*/

    /**
     * Constructor
     *
     * @param HTML_Template_Flexy   template object to use
     * @public
     */
    
function HTML_QuickForm_Renderer_ObjectFlexy(&$flexy)
    {
        
$this->HTML_QuickForm_Renderer_Object(true);
        
$this->_obj = new QuickformFlexyForm();
        
$this->_flexy =& $flexy;
    } 
// end constructor

    
function renderHeader(&$header)
    {
        if(
$name $header->getName()) {
            
$this->_obj->header->$name $header->toHtml();
        } else {
            
$this->_obj->header[$this->_sectionCount] = $header->toHtml();
        }
        
$this->_currentSection $this->_sectionCount++;
    } 
// end func renderHeader

    
function startGroup(&$group$required$error)
    {
        
parent::startGroup($group$required$error);
        
$this->_groupElementIdx 1;
    } 
//end func startGroup

    /**
     * Creates an object representing an element containing
     * the key for storing this
     *
     * @access private
     * @param HTML_QuickForm_element    form element being rendered
     * @param bool        Whether an element is required
     * @param string    Error associated with the element
     * @return object
     */
    
function _elementToObject(&$element$required$error)
    {
        
$ret parent::_elementToObject($element$required$error);
        if(
$ret->type == 'group') {
            
$ret->html $element->toHtml();
            unset(
$ret->elements);
        }
        if(!empty(
$this->_label)) {
            
$this->_renderLabel($ret);
        }

        if(!empty(
$this->_html)) {
            
$this->_renderHtml($ret);
            
$ret->error $error;
        }

        
// Create an element key from the name
        
if (false !== ($pos strpos($ret->name'[')) || is_object($this->_currentGroup)) {
            if (!
$pos) {
                
$keys '->{\'' str_replace(array('\\''\''), array('\\\\''\\\''), $ret->name) . '\'}';
            } else {
                
$keys '->{\'' str_replace(
                            array(
'\\''\'''['']'), array('\\\\''\\\'''\'}->{\''''), 
                            
$ret->name
                        
) . '\'}';
            }
            
// special handling for elements in native groups
            
if (is_object($this->_currentGroup)) {
                
// skip unnamed group items unless radios: no name -> no static access
                // identification: have the same key string as the parent group
                
if ($this->_currentGroup->keys == $keys && 'radio' != $ret->type) {
                    return 
false;
                }
                
// reduce string of keys by remove leading group keys
                
if (=== strpos($keys$this->_currentGroup->keys)) {
                    
$keys substr_replace($keys''0strlen($this->_currentGroup->keys));
                }
            }
        } elseif (
== strlen($ret->name)) {
            
$keys '->{\'element_' $this->_elementIdx '\'}';
        } else {
            
$keys '->{\'' str_replace(array('\\''\''), array('\\\\''\\\''), $ret->name) . '\'}';
        }
        
// for radios: add extra key from value
        
if ('radio' == $ret->type && '[]' != substr($keys, -2)) {
            
$keys .= '->{\'' str_replace(array('\\''\''), array('\\\\''\\\''), $ret->value) . '\'}';
        }
        
$ret->keys $keys;
        
$this->_elementIdx++;
        return 
$ret;
    }

    
/**
     * Stores an object representation of an element in the 
     * QuickformFormObject instance
     *
     * @access private
     * @param QuickformElement  Object representation of an element
     * @return void
     */
    
function _storeObject($elObj
    {
        if (
$elObj) {
            
$keys $elObj->keys;
            unset(
$elObj->keys);
            if(
is_object($this->_currentGroup) && ('group' != $elObj->type)) {
                
$code '$this->_currentGroup' $keys ' = $elObj;';
            } else {
                
$code '$this->_obj' $keys ' = $elObj;';
            }
            eval(
$code);
        }
    }

    
/**
     * Set the filename of the template to render html elements.
     * In your template, {html} is replaced by the unmodified html.
     * If the element is required, {required} will be true.
     * Eg.
     * <pre>
     * {if:error}
     *   <font color="red" size="1">{error:h}</font><br />
     * {end:}
     * {html:h}
     * </pre>
     *
     * @access public
     * @param string   Filename of template
     * @return void
     */
    
function setHtmlTemplate($template)
    {
        
$this->_html $template;
    } 

    
/**
     * Set the filename of the template to render form labels
     * In your template, {label} is replaced by the unmodified label.
     * {error} will be set to the error, if any.  {required} will
     * be true if this is a required field
     * Eg.
     * <pre>
     * {if:required}
     * <font color="orange" size="1">*</font>
     * {end:}
     * {label:h}
     * </pre>
     *
     * @access public
     * @param string   Filename of template
     * @return void
     */
    
function setLabelTemplate($template
    {
        
$this->_label $template;
    }

    function 
_renderLabel(&$ret)
    {
        
$this->_flexy->compile($this->_label);
        
$ret->label $this->_flexy->bufferedOutputObject($ret);
    }

    function 
_renderHtml(&$ret)
    {
        
$this->_flexy->compile($this->_html);
        
$ret->html $this->_flexy->bufferedOutputObject($ret);
    }
// end class HTML_QuickForm_Renderer_ObjectFlexy

/**
 * Adds nothing to QuickformForm, left for backwards compatibility
 *
 * @category    HTML
 * @package     HTML_QuickForm
 * @ignore
 */
class QuickformFlexyForm extends QuickformForm
{
}

/**
 * Adds nothing to QuickformElement, left for backwards compatibility
 *
 * @category    HTML
 * @package     HTML_QuickForm
 * @ignore
 */
class QuickformFlexyElement extends QuickformElement
{
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0156 ]--