public function generate_script_object_runners() { HaddockProjectOrganisation_AutoloadFilesHelper::refresh_autoload_file(); /* * Get rid of the old files. */ $this->delete_files(); /* * Get all files for the non-abstract subclasses of 'CLIScripts_CLIScript'. */ $cli_script_class_files = CLIScripts_CLIScriptFilesHelper::get_cli_script_class_files(); #print_r($cli_script_class_files); exit; array_walk($cli_script_class_files, create_function('$cli_script_class_file', '$cli_script_class_file->generate_script_object_runner();')); }
public static function create_haddock_class_name_validator($new_haddock_class_name_validator_name, HaddockProjectOrganisation_ModuleDirectory $module_directory) { $classes_directory = $module_directory->get_classes_directory(); $input_validators_directory_name = $classes_directory->get_name() . DIRECTORY_SEPARATOR . 'input-validation'; #echo '$input_validators_directory_name: ' . $input_validators_directory_name . PHP_EOL; FileSystem_DirectoryHelper::mkdir_parents($input_validators_directory_name); $input_validator_class_name = $module_directory->get_camel_case_root() . '_' . $new_haddock_class_name_validator_name . 'ClassNameValidator'; #echo '$input_validator_class_name: ' . $input_validator_class_name . PHP_EOL; $input_validator_file_name = $input_validators_directory_name . DIRECTORY_SEPARATOR . $input_validator_class_name . '.inc.php'; #echo '$input_validator_file_name: ' . $input_validator_file_name . PHP_EOL; if (is_file($input_validator_file_name)) { throw new ErrorHandling_SprintfException('\'%s\' already exists!', array($input_validator_file_name)); } else { $date = date('Y-m-d'); $copyright_holder = $module_directory->get_copyright_holder(); $file_contents = <<<CNT <?php /** * {$input_validator_class_name} * * @copyright {$date}, {$copyright_holder} */ class \t{$input_validator_class_name} extends \tHaddockProjectOrganisation_HaddockClassNameValidator { \tprotected function \t\tget_class_name_stem() \t{ \t\treturn '{$new_haddock_class_name_validator_name}'; \t} } ?> CNT; if ($fh = fopen($input_validator_file_name, 'w')) { fwrite($fh, $file_contents); fclose($fh); HaddockProjectOrganisation_AutoloadFilesHelper::refresh_autoload_file(); } } }
public static function create_directory_class($new_directory_class_name, HaddockProjectOrganisation_ModuleDirectory $module_directory) { $classes_directory = $module_directory->get_classes_directory(); $directory_classes_directory_name = $classes_directory->get_name() . DIRECTORY_SEPARATOR . 'file-system' . DIRECTORY_SEPARATOR . 'directories'; echo '$directory_classes_directory_name: ' . $directory_classes_directory_name . PHP_EOL; FileSystem_DirectoryHelper::mkdir_parents($directory_classes_directory_name); $directory_class_name = $module_directory->get_camel_case_root() . '_' . $new_directory_class_name . 'Directory'; echo '$directory_class_name: ' . $directory_class_name . PHP_EOL; $directory_class_file_name = $directory_classes_directory_name . DIRECTORY_SEPARATOR . $directory_class_name . '.inc.php'; echo '$directory_class_file_name: ' . $directory_class_file_name . PHP_EOL; if (is_file($directory_class_file_name)) { throw new ErrorHandling_SprintfException('\'%s\' already exists!', array($directory_class_file_name)); } else { $date = date('Y-m-d'); $copyright_holder = $module_directory->get_copyright_holder(); $file_contents = <<<CNT <?php /** * {$directory_class_name} * * @copyright {$date}, {$copyright_holder} */ class \t{$directory_class_name} extends \tFileSystem_Directory { \t/* \t * Write code here. \t */ } ?> CNT; if ($fh = fopen($directory_class_file_name, 'w')) { fwrite($fh, $file_contents); fclose($fh); HaddockProjectOrganisation_AutoloadFilesHelper::refresh_autoload_file(); } } }
public static function create_project_specific_html_page_class() { $project_specific_directory = HaddockProjectOrganisation_ProjectSpecificDirectoryHelper::get_project_specific_directory(); $project_specific_directory->make_sure_classes_directory_exists(); $classes_directory = $project_specific_directory->get_classes_directory(); $html_pages_directory_name = $classes_directory->get_name() . DIRECTORY_SEPARATOR . 'pages' . DIRECTORY_SEPARATOR . 'html'; #echo '$html_pages_directory_name: ' . $html_pages_directory_name . PHP_EOL; FileSystem_DirectoryHelper::mkdir_parents($html_pages_directory_name); $project_specific_html_page_class_name = $project_specific_directory->get_camel_case_root() . '_' . 'HTMLPage'; #echo '$project_specific_html_page_class_name: ' . $project_specific_html_page_class_name . PHP_EOL; $project_specific_html_page_class_file_name = $html_pages_directory_name . DIRECTORY_SEPARATOR . $project_specific_html_page_class_name . '.inc.php'; #echo '$project_specific_html_page_class_file_name: ' . $project_specific_html_page_class_file_name . PHP_EOL; if (is_file($project_specific_html_page_class_file_name)) { throw new ErrorHandling_SprintfException('\'%s\' already exists!', array($project_specific_html_page_class_file_name)); } else { $date = date('Y-m-d'); $copyright_holder = $project_specific_directory->get_copyright_holder(); $file_contents = <<<CNT <?php /** * {$project_specific_html_page_class_name} * * @copyright {$date}, {$copyright_holder} */ abstract class \t{$project_specific_html_page_class_name} extends \tPublicHTML_HTMLPage { } ?> CNT; if ($fh = fopen($project_specific_html_page_class_file_name, 'w')) { fwrite($fh, $file_contents); fclose($fh); HaddockProjectOrganisation_AutoloadFilesHelper::refresh_autoload_file(); } } }
public function do_actions() { HaddockProjectOrganisation_AutoloadFilesHelper::refresh_autoload_file(); }
public static function create_html_pages() { /* * Find the project specific directory for the classes. */ $project_specific_directory = HaddockProjectOrganisation_ProjectSpecificDirectoryHelper::get_project_specific_directory(); $project_specific_directory->make_sure_classes_directory_exists(); $classes_directory = $project_specific_directory->get_classes_directory(); $html_pages_directory_name = $classes_directory->get_name() . DIRECTORY_SEPARATOR . 'pages' . DIRECTORY_SEPARATOR . 'html'; FileSystem_DirectoryHelper::mkdir_parents($html_pages_directory_name); $project_specific_html_page_class_name = $project_specific_directory->get_camel_case_root() . '_' . 'HTMLPage'; /* * Create the abstract class for the user login pages. */ $project_specific_user_login_html_page_class_name = $project_specific_directory->get_camel_case_root() . '_' . 'UserLoginHtmlPage'; $project_specific_user_login_html_page_class_file_name = $html_pages_directory_name . DIRECTORY_SEPARATOR . $project_specific_user_login_html_page_class_name . '.inc.php'; if (is_file($project_specific_user_login_html_page_class_file_name)) { echo "'{$project_specific_user_login_html_page_class_file_name}' already exists!" . PHP_EOL; } else { $date = date('Y-m-d'); $copyright_holder = $project_specific_directory->get_copyright_holder(); $file_contents = <<<CNT <?php /** * {$project_specific_user_login_html_page_class_name} * * @copyright {$date}, {$copyright_holder} */ abstract class \t{$project_specific_user_login_html_page_class_name} extends \t{$project_specific_html_page_class_name} { public function get_error_message_div() { return UserLogin_DisplayHelper::get_error_message_div(); } public function get_login_status_div() { return UserLogin_DisplayHelper::get_login_status_div(); } } ?> CNT; if ($fh = fopen($project_specific_user_login_html_page_class_file_name, 'w')) { fwrite($fh, $file_contents); fclose($fh); HaddockProjectOrganisation_AutoloadFilesHelper::refresh_autoload_file(); } } /* * Create the registration page. */ $project_specific_registration_html_page_class_name = $project_specific_directory->get_camel_case_root() . '_' . 'UserLoginRegistrationHtmlPage'; $project_specific_registration_html_page_class_file_name = $html_pages_directory_name . DIRECTORY_SEPARATOR . $project_specific_registration_html_page_class_name . '.inc.php'; if (is_file($project_specific_registration_html_page_class_file_name)) { echo "'{$project_specific_registration_html_page_class_file_name}' already exists!" . PHP_EOL; } else { $date = date('Y-m-d'); $copyright_holder = $project_specific_directory->get_copyright_holder(); $file_contents = <<<CNT <?php /** * {$project_specific_registration_html_page_class_name} * * @copyright {$date}, {$copyright_holder} */ class \t{$project_specific_registration_html_page_class_name} extends \t{$project_specific_user_login_html_page_class_name} { public function content() { \$div = new HTMLTags_Div(); \$div->append(\$this->get_error_message_div()); \$div->append(\$this->get_registration_div()); echo \$div->get_as_string(); } public function get_registration_div() { return UserLogin_DisplayHelper::get_registration_div(); } } ?> CNT; if ($fh = fopen($project_specific_registration_html_page_class_file_name, 'w')) { fwrite($fh, $file_contents); fclose($fh); HaddockProjectOrganisation_AutoloadFilesHelper::refresh_autoload_file(); } } }
public static function create_unit_tests_class($new_unit_tests_class_name, HaddockProjectOrganisation_ModuleDirectory $module_directory) { $classes_directory = $module_directory->get_classes_directory(); $unit_tests_directory_name = $classes_directory->get_name() . DIRECTORY_SEPARATOR . 'unit-tests'; #echo '$unit_tests_directory_name: ' . $unit_tests_directory_name . PHP_EOL; FileSystem_DirectoryHelper::mkdir_parents($unit_tests_directory_name); $unit_tests_class_name = $module_directory->get_camel_case_root() . '_' . $new_unit_tests_class_name . 'Tests'; #echo '$unit_tests_class_name: ' . $unit_tests_class_name . PHP_EOL; $unit_tests_class_file_name = $unit_tests_directory_name . DIRECTORY_SEPARATOR . $unit_tests_class_name . '.inc.php'; #echo '$unit_tests_class_file_name: ' . $unit_tests_class_file_name . PHP_EOL; if (is_file($unit_tests_class_file_name)) { throw new ErrorHandling_SprintfException('\'%s\' already exists!', array($unit_tests_class_file_name)); } else { $date = date('Y-m-d'); $copyright_holder = $module_directory->get_copyright_holder(); $file_contents = <<<CNT <?php /** * {$unit_tests_class_name} * * @copyright {$date}, {$copyright_holder} */ class \t{$unit_tests_class_name} extends \tUnitTests_UnitTests { \tpublic static function \t\tset_up() \t{ \t\t/* \t\t * Prepare the environment for each test in this class. \t\t */ \t} \t \tpublic static function \t\ttear_down() \t{ \t\t/* \t\t * Return the environment to a pristine state after \t\t * each test in this class. \t\t */ \t} \t \t/* \t * ---------------------------------------- \t * The tests. \t * ---------------------------------------- \t */ \t \t/* \t * Write public static test functions here. \t */ } ?> CNT; if ($fh = fopen($unit_tests_class_file_name, 'w')) { fwrite($fh, $file_contents); fclose($fh); HaddockProjectOrganisation_AutoloadFilesHelper::refresh_autoload_file(); } } }