/**
  * Binds a named array/hash to this object
  *
  * Can be overloaded/supplemented by the child class
  *
  * @access	public
  * @param	$from	mixed	An associative array or object
  * @param	$ignore	mixed	An array or space separated list of fields not to bind
  * @return	boolean
  */
 public function bind($from, $ignore = array(), $public = true)
 {
     //initializing variables
     $type = false;
     $fromArray = is_array($from);
     $fromObject = is_object($from);
     if ($fromArray && isset($from['type'])) {
         $type = $from['type'];
     }
     if ($type) {
         //setting object properties
         $class = ucfirst($type) . 'Webpage';
         $path = EBOOK_EVERY . DS . 'webpage_types' . DS . $type . '.php';
         if (file_exists($path)) {
             require_once $path;
             $obj = new $class();
             $this->setProperties($obj);
         }
     }
     if (!parent::bind($from, $ignore, $public)) {
         return false;
     }
     return true;
 }
 /**
  * Overloaded bind function
  *
  * @access public
  * @param array $hash named array
  * @return null|string	null is operation was satisfactory, otherwise returns an error
  * @see JTable:bind
  * @since 1.5
  */
 function bind($array, $ignore = '')
 {
     if (key_exists('params', $array) && is_array($array['params'])) {
         $registry = new JRegistry();
         $registry->loadArray($array['params']);
         $array['params'] = $registry->toString();
     }
     return parent::bind($array, $ignore);
 }