Example #1
0
 /**
  * _unserializeRecurser()
  *
  * This method will be used to traverse the depths of the structure
  * as needed to *unserialize* the profile from an xmlIterator
  *
  * @param SimpleXMLIterator $xmlIterator
  * @param Zend_Tool_Project_Profile_Resource $resource
  */
 protected function _unserializeRecurser(SimpleXMLIterator $xmlIterator, Zend_Tool_Project_Profile_Resource $resource = null)
 {
     foreach ($xmlIterator as $resourceName => $resourceData) {
         $contextName = $resourceName;
         $subResource = new Zend_Tool_Project_Profile_Resource($contextName);
         $subResource->setProfile($this->_profile);
         if ($resourceAttributes = $resourceData->attributes()) {
             $attributes = array();
             foreach ($resourceAttributes as $attrName => $attrValue) {
                 $attributes[$attrName] = (string) $attrValue;
             }
             $subResource->setAttributes($attributes);
         }
         if ($resource) {
             $resource->append($subResource, false);
         } else {
             $this->_profile->append($subResource);
         }
         if ($this->_contextRepository->isOverwritableContext($contextName) == false) {
             $subResource->initializeContext();
         }
         if ($xmlIterator->hasChildren()) {
             self::_unserializeRecurser($xmlIterator->getChildren(), $subResource);
         }
     }
 }
Example #2
0
 protected function __construct()
 {
     if (self::$_isInitialized == false) {
         $this->addContextClass('Zend_Tool_Project_Context_System_ProjectDirectory')->addContextClass('Zend_Tool_Project_Context_System_ProjectProfileFile')->addContextClass('Zend_Tool_Project_Context_System_ProjectProvidersDirectory');
         self::$_isInitialized = true;
     }
 }
Example #3
0
 public function __construct()
 {
     if (!self::$_isInitialized) {
         Zend_Tool_Project_Context_Repository::getInstance()->addContextsFromDirectory(dirname(dirname(__FILE__)) . '/Context/Zf/', 'Centurion_Tool_Project_Context_Zf_');
     }
     //parent::__construct();
 }
Example #4
0
 /**
  * constructor
  */
 public function __construct()
 {
     parent::__construct();
     // load My Context elements
     $contextRegistry = Zend_Tool_Project_Context_Repository::getInstance();
     $contextRegistry->addContextsFromDirectory(dirname(dirname(__FILE__)) . '/Context/My/', 'Rph_Tool_Project_Context_My_');
 }
Example #5
0
 /**
  * constructor
  */
 public function initialize()
 {
     parent::initialize();
     return;
     // load Core Context
     $contextRegistry = Zend_Tool_Project_Context_Repository::getInstance();
     $contextRegistry->addContextsFromDirectory(dirname(dirname(__FILE__)) . '/Context/Core/', 'Core_Tool_Project_Context_Core_');
 }
Example #6
0
 /**
  * The public method that would be exposed into ZF tool
  */
 public function generate()
 {
     /** @var $projectProvider Zend_Tool_Project_Provider_Project */
     $projectProvider = $this->_registry->getProviderRepository()->getProvider('project');
     $contextRegistry = Zend_Tool_Project_Context_Repository::getInstance();
     $contextRegistry->addContextsFromDirectory(__DIR__ . '/Context', 'ZFscaffold_ZfTool_Context_');
     $file = __DIR__ . '/templates/project/profile.xml';
     $projectProvider->create(null, 'default', $file);
     $file = substr(__DIR__, 0, strpos(__DIR__, 'vendor')) . '/logs';
     chmod($file, 0777);
 }
Example #7
0
 public function setup()
 {
     $this->_projectDirectory = dirname(__FILE__) . '/_files/project1/';
     $this->_projectProfileFile = dirname(__FILE__) . '/_files/.zfproject.xml.orig';
     $this->_removeProjectFiles();
     Zend_Tool_Project_Context_Repository::resetInstance();
     $contextRegistry = Zend_Tool_Project_Context_Repository::getInstance();
     $contextRegistry->addContextsFromDirectory(dirname(__FILE__) . '/../../../../library/Zend/Tool/Project/Context/Zf/', 'Zend_Tool_Project_Context_Zf_');
     $this->_standardProfileFromData = new Zend_Tool_Project_Profile();
     $this->_standardProfileFromData->setAttribute('profileData', file_get_contents($this->_projectProfileFile));
     $this->_standardProfileFromData->setAttribute('projectDirectory', $this->_projectDirectory);
 }
Example #8
0
 /**
  * _loadContextClassesIntoRegistry() - This is called by the constructor
  * so that child providers can provide a list of contexts to load into the
  * context repository
  *
  * @param array $contextClasses
  */
 private function _loadContextClassesIntoRegistry($contextClasses)
 {
     $registry = Zend_Tool_Project_Context_Repository::getInstance();
     foreach ($contextClasses as $contextClass) {
         $registry->addContextClass($contextClass);
     }
 }
Example #9
0
 /**
  * createResource()
  *
  * Method to create a resource with a given context with specific attributes
  *
  * @param string $context
  * @param array $attributes
  * @return Zend_Tool_Project_Profile_Resource
  */
 public function createResource($context, array $attributes = array())
 {
     if (is_string($context)) {
         $contextRegistry = Zend_Tool_Project_Context_Repository::getInstance();
         if ($contextRegistry->hasContext($context)) {
             $context = $contextRegistry->getContext($context);
         } else {
             require_once 'Zend/Tool/Project/Profile/Exception.php';
             throw new Zend_Tool_Project_Profile_Exception('Context by name ' . $context . ' was not found in the context registry.');
         }
     } elseif (!$context instanceof Zend_Tool_Project_Context_Interface) {
         require_once 'Zend/Tool/Project/Profile/Exception.php';
         throw new Zend_Tool_Project_Profile_Exception('Context must be of type string or Zend_Tool_Project_Context_Interface.');
     }
     $newResource = new Zend_Tool_Project_Profile_Resource($context);
     if ($attributes) {
         $newResource->setAttributes($attributes);
     }
     /**
      * Interesting logic here:
      *
      * First set the parentResource (this will also be done inside append).  This will allow
      * the initialization routine to change the appendability of the parent resource.  This
      * is important to allow specific resources to be appendable by very specific sub-resources.
      */
     $newResource->setParentResource($this);
     $newResource->initializeContext();
     $this->append($newResource);
     return $newResource;
 }
Example #10
0
 /**
  * initializeContext()
  *
  * @return Zend_Tool_Project_Profile_Resource
  */
 public function initializeContext()
 {
     if ($this->_isContextInitialized) {
         return;
     }
     if (is_string($this->_context)) {
         $this->_context = Zend_Tool_Project_Context_Repository::getInstance()->getContext($this->_context);
     }
     if (method_exists($this->_context, 'setResource')) {
         $this->_context->setResource($this);
     }
     if (method_exists($this->_context, 'init')) {
         $this->_context->init();
     }
     $this->_isContextInitialized = true;
     return $this;
 }
Example #11
0
 protected function _loadZfSystem()
 {
     $conextRegistry = Zend_Tool_Project_Context_Repository::getInstance();
     $conextRegistry->addContextsFromDirectory(dirname(__FILE__) . '/../../../../../library/Zend/Tool/Project/Context/Zf/', 'Zend_Tool_Project_Context_Zf_');
 }
Example #12
0
 public function addContexts()
 {
     // add contexts for ZFS specific directory structure.
     $contextRegistry = Zend_Tool_Project_Context_Repository::getInstance();
     $contextRegistry->addContextsFromDirectory(dirname(dirname(__FILE__)) . '/Context/Zf/', 'Zftool_Tool_Project_Context_Zf_');
 }
Example #13
0
 public function initialize()
 {
     $contextRegistry = Zend_Tool_Project_Context_Repository::getInstance();
     $contextRegistry->addContextsFromDirectory(dirname(dirname(__FILE__)) . '/Context/Extension/', 'MageTool_Tool_MageExtension_Context_Extension_');
     parent::initialize();
 }