original_string: public function initClass($classname,$arguments=array(),$isplugin=true) 
    {
      // when we no longer have any PHP 5.2 we can replace below with static::loadClass($classname);
      // we cannot use self::loadClass($classname); because it will break extending Main classes which
      // redefine the loadClass method. (we need late static binding)
      /*
       * If class cannot be found, include corresponding file
       */
      $this->loadClass($classname);
      
      /*
       * If $classname still doesn't exists, the class cannot be started
       */
      if (!class_exists($classname)) {
        throw new Exception("Class whith name '$classname' does not exists. Cannot initialise $classname",E_USER_ERROR);
      }
      
      /*
       * Start class and return object
       */
      $reflectionObj = new ReflectionClass($classname);
      if($reflectionObj->isSubclassOf('Web2All_Manager_Plugin') || $isplugin){
        // directly extends Web2All_Manager_Plugin so it expects the Web2All_Manager_Main object
        // as first constructor param. Or the $isplugin is set true so force first param to
        // Web2All_Manager_Main object.
        array_unshift($arguments,$this);
      }elseif($reflectionObj->implementsInterface('Web2All_Manager_PluginInterface')){
        // class does not extend Web2All_Manager_Plugin, but the class still implements 
        // the Web2All_Manager_PluginInterface so we can call the setWeb2All method to 
        // init the object after construction.
        $obj=call_user_func_array(array(&$reflectionObj, 'newInstance'), $arguments);
        $obj->setWeb2All($this);
        return $obj;
      }
      return call_user_func_array(array(&$reflectionObj, 'newInstance'), $arguments);
    }
code: public function initClass($classname,$arguments=array(),$isplugin=true) 
    {
      // when we no longer have any PHP 5.2 we can replace below with static::loadClass($classname);
      // we cannot use self::loadClass($classname); because it will break extending Main classes which
      // redefine the loadClass method. (we need late static binding)
      /*
       * If class cannot be found, include corresponding file
       */
      $this->loadClass($classname);
      
      /*
       * If $classname still doesn't exists, the class cannot be started
       */
      if (!class_exists($classname)) {
        throw new Exception("Class whith name '$classname' does not exists. Cannot initialise $classname",E_USER_ERROR);
      }
      
      /*
       * Start class and return object
       */
      $reflectionObj = new ReflectionClass($classname);
      if($reflectionObj->isSubclassOf('Web2All_Manager_Plugin') || $isplugin){
        // directly extends Web2All_Manager_Plugin so it expects the Web2All_Manager_Main object
        // as first constructor param. Or the $isplugin is set true so force first param to
        // Web2All_Manager_Main object.
        array_unshift($arguments,$this);
      }elseif($reflectionObj->implementsInterface('Web2All_Manager_PluginInterface')){
        // class does not extend Web2All_Manager_Plugin, but the class still implements 
        // the Web2All_Manager_PluginInterface so we can call the setWeb2All method to 
        // init the object after construction.
        $obj=call_user_func_array(array(&$reflectionObj, 'newInstance'), $arguments);
        $obj->setWeb2All($this);
        return $obj;
      }
      return call_user_func_array(array(&$reflectionObj, 'newInstance'), $arguments);
    }
code_tokens: public function initClass ( $ classname , $ arguments = array ( ) , $ isplugin = true ) { // when we no longer have any PHP 5.2 we can replace below with static::loadClass($classname);
   // we cannot use self::loadClass($classname); because it will break extending Main classes which
   // redefine the loadClass method. (we need late static binding)
   /*
       * If class cannot be found, include corresponding file
       */ $ this -> loadClass ( $ classname ) ; /*
       * If $classname still doesn't exists, the class cannot be started
       */ if ( ! class_exists ( $ classname ) ) { throw new Exception ( "Class whith name '$classname' does not exists. Cannot initialise $classname" , E_USER_ERROR ) ; } /*
       * Start class and return object
       */ $ reflectionObj = new ReflectionClass ( $ classname ) ; if ( $ reflectionObj -> isSubclassOf ( 'Web2All_Manager_Plugin' ) || $ isplugin ) { // directly extends Web2All_Manager_Plugin so it expects the Web2All_Manager_Main object
   // as first constructor param. Or the $isplugin is set true so force first param to
   // Web2All_Manager_Main object.
   array_unshift ( $ arguments , $ this ) ; } elseif ( $ reflectionObj -> implementsInterface ( 'Web2All_Manager_PluginInterface' ) ) { // class does not extend Web2All_Manager_Plugin, but the class still implements 
   // the Web2All_Manager_PluginInterface so we can call the setWeb2All method to 
   // init the object after construction.
   $ obj = call_user_func_array ( array ( & $ reflectionObj , 'newInstance' ) , $ arguments ) ; $ obj -> setWeb2All ( $ this ) ; return $ obj ; } return call_user_func_array ( array ( & $ reflectionObj , 'newInstance' ) , $ arguments ) ; }
docstring: Initialize Web2All_Manager_Plugin
  returns Web2All_Manager_Plugin object
  
  @param string $classname
  @param array $arguments
  @param boolean $isplugin  Force the first constructor param to be the
  Web2All_Manager_Main object. Set false for
  automatically detection if this is required.
  @return object
docstring_tokens: Initialize Web2All_Manager_Plugin returns Web2All_Manager_Plugin object