function run_create_module($task, $args) { ini_set("memory_limit", "2048M"); // get configuration // define constants define('SF_ROOT_DIR', sfConfig::get('sf_root_dir')); define('SF_APP', 'backend'); define('SF_ENVIRONMENT', 'prod'); define('SF_DEBUG', false); require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php'; if (!class_exists("FileHelper")) { include sfConfig::get('sf_root_dir') . "/lib/helper/FileHelper.php"; } $createLib = true; if (isset($args[1])) { $createLib = $args[1] == "lib"; } if (isset($args[0])) { $moduleName = strtolower($args[0]); } else { echo_cms_sep(); echo_cms_title("\tUsage: symfony create-module <module_name> <lib>"); echo_cms_sep(); exit; } $formFile = sfConfig::get('sf_root_dir') . "/config/form.xml"; if (is_readable($formFile)) { $objects = XMLParser::getXMLdataValues($formFile); $objList = array(); foreach ($objects as $obj) { if ($obj['tag'] == 'OBJECT' && $obj['type'] == 'open') { $objName = $obj['attributes']['NAME']; $objModule = strtolower($obj['attributes']['MODULE']); if (!$objModule) { $objModule = strtolower(str_replace('I18n', '', $objName)); } if ($objModule == $moduleName) { $objList[] = $objName; } } } } if (empty($objList)) { echo_cms_error("\tError: No objects found for module " . $moduleName . " in form.xml file!"); exit; } if ($createLib) { $libActionsContent = getActionsContent($moduleName); // class mediaCoreActions extends sfActions $sf = $moduleName . "Core"; // Lib folders $libFolder = "lib/modules/"; createFolder($libFolder . $moduleName); createFolder($libFolder . $moduleName . "/actions"); createFolder($libFolder . $moduleName . "/config"); createFolder($libFolder . $moduleName . "/templates"); $libActionsFile = $libFolder . $moduleName . "/actions/actions.class.php"; writeContentToFile($libActionsFile, $libActionsContent); } else { $sf = ""; } // Creating apps/frontend, apps/backend files... $appBackActionsContent = getActionsContent($moduleName, "", "sf", $objList); // Example: class userActions extends sfActions $appFrontActionsContent = getActionsContent($moduleName, "", $sf); // Example: class newsActions extends newsCoreActions || sfActions // Backend folders $backFolder = "apps/backend/modules/"; createFolder($backFolder . $moduleName); createFolder($backFolder . $moduleName . "/actions"); createFolder($backFolder . $moduleName . "/config"); createFolder($backFolder . $moduleName . "/templates"); $backActionsFile = $backFolder . $moduleName . "/actions/actions.class.php"; writeContentToFile($backActionsFile, $appBackActionsContent); // Frontend folders $frontFolder = "apps/frontend/modules/"; createFolder($frontFolder . $moduleName); createFolder($frontFolder . $moduleName . "/actions"); createFolder($frontFolder . $moduleName . "/config"); createFolder($frontFolder . $moduleName . "/templates"); $ftontActionsFile = $frontFolder . $moduleName . "/actions/actions.class.php"; writeContentToFile($ftontActionsFile, $appFrontActionsContent); // ------------------------------------------------------------------------------------------ $configFolder = $backFolder . $moduleName . "/config/"; $leftFile = $configFolder . "leftTree.xml"; $leftContent = createXMLContent("left", $moduleName, $objList); writeContentToFile($leftFile, $leftContent); $mainFile = $configFolder . "mainList.xml"; $mainContent = createXMLContent("main", $moduleName, $objList); writeContentToFile($mainFile, $mainContent); $rightFile = $configFolder . "rightTree.xml"; $rightContent = createXMLContent("right", $moduleName, $objList); writeContentToFile($rightFile, $rightContent); $resourcesFile = $configFolder . "resources.xml"; $resourcesContent = createXMLContent("resources", $moduleName, $objList); writeContentToFile($resourcesFile, $resourcesContent); $blocksFile = $frontFolder . $moduleName . "/config/" . "blocks.xml"; $blocksContent = createXMLContent("blocks", $moduleName, $objList); writeContentToFile($blocksFile, $blocksContent); echo_cms("Done!"); echo_cms_sep(); }
function parse($content) { $contentToParse = getStringBetweenTwoDelims("<jdm>", $content, "</jdm>"); $contentToParse = "<jdm>" . $contentToParse . "</jdm>"; $filename = "file.xml"; writeContentToFile($contentToParse, $filename); $xmlDoc = new DomDocument(); $xmlDoc->load($filename); $result = array(); // Récupération du mot $result = getMot($xmlDoc, $result); // Récupération du mot-formate $result = getMotFormate($xmlDoc, $result); // Définitions $result = getDefinitions($xmlDoc, $result); // Relations sortant $result = getRels($xmlDoc, 'sortant', $result); // Relations entrant $result = getRels($xmlDoc, 'entrant', $result); echo json_encode($result); }