Exemplo n.º 1
0
 /**
  * function deleteEntry
  * <pre>
  * Removes the child entries of Module objects before removing self. 
  * (Poor Man's Referential Integrity)
  * </pre>
  * @return [void]
  */
 function deleteEntry()
 {
     // first remove any associated State Variables
     $list = new StateVarList($this->getModuleID());
     $list->setFirst();
     while ($item = $list->getNext()) {
         $item->deleteEntry();
     }
     // now remove any Data Access Objects
     $list = new DAObjList($this->getModuleID());
     $list->setFirst();
     while ($item = $list->getNext()) {
         $item->deleteEntry();
     }
     // now remove any Page Objects
     $list = new PageList($this->getModuleID());
     $list->setFirst();
     while ($item = $list->getNext()) {
         $item->deleteEntry();
     }
     // now remove any Transitions
     $list = new TransitionsList($this->getModuleID());
     $list->setFirst();
     while ($item = $list->getNext()) {
         $item->deleteEntry();
     }
     // now call parent method
     parent::deleteEntry();
 }
Exemplo n.º 2
0
 /**
  * function processDataAccessObjectInfo
  * <pre>
  * Takes the Data Access info and creates the proper tool_setup.php entries
  * as well as the individual DataAccessManager & DataAccessList objects.
  * </pre>
  * @param $moduleID [INTEGER] The module id of the DAObjects to work with
  * @return [void]
  */
 function processDataAccessObjectInfo($moduleID)
 {
     $pathToCodeTemplates = $this->values[ModuleCreator::KEY_PATH_RAD_ROOT];
     $pathToCodeTemplates .= 'data/code/';
     $codeTemplate = new Template($pathToCodeTemplates);
     // open include file to include any created objects
     $includeFileName = $this->values[ModuleCreator::KEY_PATH_INCLUDE_NAME];
     $includeFileContents = file_get_contents($includeFileName);
     /* 
      * Begin by modifying the tool_setup file
      */
     // open tool_setup file
     $setupFileName = $this->values[ModuleCreator::KEY_PATH_SETUP_NAME];
     $setupFileContents = file_get_contents($setupFileName);
     // get daObjList object
     $daObjList = new DAObjList($moduleID);
     // for each daObj object
     $daObjList->setFirst();
     while ($daObj = $daObjList->getNext()) {
         // if object not created then
         if (!$daObj->isCreated()) {
             $docTableName = ucwords($daObj->getName());
             $docTableDescription = $daObj->getDescription() . "\n";
             $docFieldList = '';
             $sqlManagerName = $docTableName;
             $sqlFieldList = '';
             $sqlPrimaryKey = '';
             $fieldLabels = '';
             $tableManagerFieldList = '';
             $primaryKeyFieldName = '';
             $listInitFields = array();
             $labelFieldName = '';
             $fieldList = $daObj->getFieldList();
             $fieldList->setFirst();
             while ($field = $fieldList->getNext()) {
                 // compile documentation entries
                 $docFieldList .= '     * ' . $field->getName() . ' [' . $field->getType() . ']  ' . $field->getDescription() . "\n";
                 // compile sql field(s)
                 $sqlFieldList .= $this->getSQLFieldEntry($field);
                 if ($field->isPrimaryKey()) {
                     $sqlPrimaryKey = '  PRIMARY KEY (' . $field->getName() . ")\n";
                     $primaryKeyFieldName = $field->getName();
                 }
                 // Collect Field Label info
                 $fieldLabels .= $this->getFieldLabels($field);
                 // collect TableManager field list
                 if ($tableManagerFieldList != '') {
                     $tableManagerFieldList .= ',';
                 }
                 $tableManagerFieldList .= $field->getName();
                 // collect names of any fields used to init the list
                 if ($field->isListInit()) {
                     $listInitFields[] = $field;
                 }
                 // store the field name used for labels display(s)
                 // (like Form Grid Rows, or Drop List Labels, etc...)
                 if ($field->isLabelName()) {
                     $labelFieldName = $field->getName();
                 }
             }
             // next Field Entry
             // combine sqlFieldList with sqlPrimaryKey
             $sqlFieldList .= $sqlPrimaryKey;
             $codeTemplate->set('tableName', $docTableName);
             $codeTemplate->set('tableDescription', $docTableDescription);
             $codeTemplate->set('fieldList', $docFieldList);
             $codeTemplate->set('tableNameCap', $sqlManagerName);
             $codeTemplate->set('dbFieldList', $sqlFieldList);
             $setupCode = $codeTemplate->fetch('setup_dbTable.php');
             //echo $setupCode;
             //exit;
             // insert sql setup code
             $tag = ModuleCreator::TAG_TOOL_DAOBJ_TABLE;
             $data = $setupCode . "\n\n\n\n" . $tag;
             $setupFileContents = str_replace($tag, $data, $setupFileContents);
             // insert field labels
             $tag = ModuleCreator::TAG_TOOL_FIELDS_LABEL;
             $data = "    //\n    // " . $daObj->getName() . " table\n    //\n" . $fieldLabels . "\n\n" . $tag;
             $setupFileContents = str_replace($tag, $data, $setupFileContents);
             // Now create new Table manager Object
             $tableManagerName = $this->createTableManagerObject($daObj, $tableManagerFieldList, $primaryKeyFieldName, $labelFieldName, $docFieldList, $sqlFieldList);
             // Now create new List Manager Object
             //                $listIteratorName = $this->createListIteratorObject( $daObj, $listInitFields );
             // Now insert new objects into include file
             $tag = ModuleCreator::TAG_INCLUDE_DA;
             $data = "require_once( '" . ModuleCreator::PATH_OBJECT_DA . $tableManagerName . "' );\n";
             //                $data .= "require_once( '".ModuleCreator::PATH_OBJECT_DA.$listIteratorName."' );\n";
             $data .= $tag;
             $includeFileContents = str_replace($tag, $data, $includeFileContents);
             // Now mark this Data Access Object as having been created.
             $daObj->setCreated();
         }
         // end if !created
     }
     // next object
     // save Setup file contents
     file_put_contents($setupFileName, $setupFileContents);
     // save Include File Contents
     file_put_contents($includeFileName, $includeFileContents);
 }