/** * function updatePageLabels * <pre> * Inserts the given page's labels into the tool setup routine. * </pre> * @param $page [OBJECT] The page to work with * @return [void] */ function updatePageLabels($page) { // open tool_setup.php file $setupFileName = $this->values[ModuleCreator::KEY_PATH_SETUP_NAME]; $setupContents = file_get_contents($setupFileName); $pageLabelInsertTag = '/*[RAD_PAGE(' . $page->getName() . ')_LABELS]*/'; $labelList = $page->getPageLabels(); $siteLanguageList = new LanguageList(); // for each label $labelList->setFirst(); while ($label = $labelList->getNext()) { // if label not already created if (!$label->isCreated()) { $key = $label->getKey(); $text = $label->getLabel(); $text = str_replace("'", "''", $text); $text = str_replace('"', '\\"', $text); $lang = $label->getLanguageID(); $langKey = $siteLanguageList->getLanguageKeyByID($lang); $labelMgr = ' $labelManager->addLabel( "' . $key . '", "' . $text . '", "' . $langKey . '" );'; $tag = $pageLabelInsertTag; $data = $labelMgr . "\n" . $tag; $setupContents = str_replace($tag, $data, $setupContents); // Mark this label as having been created $label->setCreated(); } // end if } // next label // save app file file_put_contents($setupFileName, $setupContents); }