Changeset 556 for trunk/bin


Ignore:
Timestamp:
Dec 23, 2015 7:58:23 PM (8 years ago)
Author:
anonymous
Message:

Updated module maker to require operation argument with either 'admin' or 'public' to generate only files for that half.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bin/module_maker/module.cli.php

    r533 r556  
    3636
    3737$op = null;
    38 $valid_ops = array('clean', 'var', 'test');
     38$valid_ops = array('clean', 'var', 'test', 'admin', 'public');
    3939
    4040// Test for arguments.
     
    4343    $module_name_plural = $_SERVER['argv'][3];
    4444} else {
    45     die(basename($_SERVER['argv'][0]) . " Error: invalid arguments. Try like this:
    46 
    47     " . basename($_SERVER['argv'][0]) . " site_directory name_singular name_plural [operation]
     45    die(basename($_SERVER['argv'][0]) . " error: missing arguments.
     46
     47Usage: " . basename($_SERVER['argv'][0]) . " SITE_DIRECTORY NAME_SINGULAR NAME_PLURAL OPERATION
     48
     49Example: export DB_NAME=mydb; " . basename($_SERVER['argv'][0]) . " . order orders admin
    4850
    4951Valid operations include: " . join(', ', $valid_ops) . "
    5052
    5153The following files will be generated by this script:
    52 <site_directory>/admin/nameplural.php
    53 <site_directory>/admin/_templates/namesingular_list.ihtml
    54 <site_directory>/admin/_templates/namesingular_form.ihtml
    55 <site_directory>/html/nameplural.php
    56 <site_directory>/html/_templates/namesingular_list.ihtml
    57 <site_directory>/html/_templates/namesingular.ihtml
     54
     55‘admin’ operation:
     56SITE_DIRECTORY/admin/nameplural.php
     57SITE_DIRECTORY/admin/_templates/namesingular_list.ihtml
     58SITE_DIRECTORY/admin/_templates/namesingular_form.ihtml
     59
     60‘public’ operation:
     61SITE_DIRECTORY/html/nameplural.php
     62SITE_DIRECTORY/html/_templates/namesingular_list.ihtml
     63SITE_DIRECTORY/html/_templates/namesingular.ihtml
    5864
    5965");
    6066}
    6167
    62 // Test for operation.
    63 if (isset($_SERVER['argv'][4])) {
    64     // Optional fourth arg is op.
    65     $op = $_SERVER['argv'][4];
    66     // Make sure op is valid.
    67     if (!in_array($op, $valid_ops)) {
    68         die(basename($_SERVER['argv'][0]) . " Warning: Operation '$op' is not something I know how to do Please select one of: " . join(", ", $valid_ops) . "\n");
    69     }
     68// Test for valid operation.
     69$op = $_SERVER['argv'][4];
     70// Make sure op is valid.
     71if (!in_array($op, $valid_ops)) {
     72    die(basename($_SERVER['argv'][0]) . " Warning: Operation '$op' is not something I know how to do Please select one of: " . join(", ", $valid_ops) . "\n");
    7073}
    7174
     
    7477    echo "RUNNING MODULE MAKER IN TEST MODE.\n\n";
    7578    break;
    76 default :
    77 
     79case 'admin' :
     80case 'public' :
     81    echo "Generating only $op files
\n\n";
     82    break;
    7883}
    7984
     
    134139
    135140// Ensure skel files exist.
    136 if (
    137     !file_exists("$skel_dir/admin.php") ||
    138     !file_exists("$skel_dir/public.php") ||
    139     !file_exists("$skel_dir/public.ihtml") ||
    140     !file_exists("$skel_dir/public_list.ihtml")
    141 ) {
    142     die(basename($_SERVER['argv'][0]) . " Warning: one or more skeleton source files missing. Please check directory: $skel_dir.\n");
     141if ('admin' == $op && (!file_exists("$skel_dir/admin.php") || !file_exists("$skel_dir/adm_list.ihtml") || !file_exists("$skel_dir/adm_form.ihtml"))) {
     142    die(basename($_SERVER['argv'][0]) . " Warning: one or more admin skeleton source files missing. Please check directory: $skel_dir.\n");
     143}
     144if ('public' == $op && (!file_exists("$skel_dir/public.php") || !file_exists("$skel_dir/public.ihtml") || !file_exists("$skel_dir/public_list.ihtml"))) {
     145    die(basename($_SERVER['argv'][0]) . " Warning: one or more public skeleton source files missing. Please check directory: $skel_dir.\n");
    143146}
    144147
    145148if (!isset($_SERVER['argv'][4]) || 'var' != $_SERVER['argv'][4]) {
    146149    // Ensure essential directories exist, except for 'var' op.
    147     if (!is_dir("$admin_dir")) {
     150    if ('admin' == $op && !is_dir("$admin_dir")) {
    148151        die(basename($_SERVER['argv'][0]) . " Error: admin_dir '$admin_dir' directory not found.\n");
    149152    }
    150     if (!is_dir("$admin_tpl_dir")) {
     153    if ('admin' == $op && !is_dir("$admin_tpl_dir")) {
    151154        die(basename($_SERVER['argv'][0]) . " Error: admin_tpl_dir '$admin_tpl_dir' directory not found.\n");
    152155    }
    153     if (!is_dir("$public_dir")) {
     156    if ('public' == $op && !is_dir("$public_dir")) {
    154157        die(basename($_SERVER['argv'][0]) . " Error: public_dir '$public_dir' directory not found.\n");
    155158    }
    156     if (!is_dir("$public_tpl_dir")) {
     159    if ('public' == $op && !is_dir("$public_tpl_dir")) {
    157160        die(basename($_SERVER['argv'][0]) . " Error: public_tpl_dir '$public_tpl_dir' directory not found.\n");
    158161    }
     
    230233// -------------FILES-------------
    231234
    232 $skel_files['skel_admin_script'] = file_get_contents($skel_dir . '/admin.php');
    233 $skel_files['skel_admin_list_template'] = file_get_contents($skel_dir . '/adm_list.ihtml');
    234 $skel_files['skel_admin_form_template'] = file_get_contents($skel_dir . '/adm_form.ihtml');
    235 $skel_files['skel_public_script'] = file_get_contents($skel_dir . '/public.php');
    236 $skel_files['skel_public_list_template'] = file_get_contents($skel_dir . '/public_list.ihtml');
    237 $skel_files['skel_public_detail_template'] = file_get_contents($skel_dir . '/public.ihtml');
     235switch ($op) {
     236case 'admin':
     237    $skel_files['skel_admin_script'] = file_get_contents($skel_dir . '/admin.php');
     238    $skel_files['skel_admin_list_template'] = file_get_contents($skel_dir . '/adm_list.ihtml');
     239    $skel_files['skel_admin_form_template'] = file_get_contents($skel_dir . '/adm_form.ihtml');
     240    break;
     241
     242case 'public':
     243    $skel_files['skel_public_script'] = file_get_contents($skel_dir . '/public.php');
     244    $skel_files['skel_public_list_template'] = file_get_contents($skel_dir . '/public_list.ihtml');
     245    $skel_files['skel_public_detail_template'] = file_get_contents($skel_dir . '/public.ihtml');
     246    break;
     247}
    238248
    239249
     
    495505 *****************************************************************************/
    496506
    497 // (1) Admin script.
    498 if (file_exists("$admin_dir/$admin_script")) {
    499     echo "Admin script already exists: $admin_dir/$admin_script\n";
    500 } else {
    501     echo "Writing admin script: $admin_dir/$admin_script\n";
    502     if ('test' != $op) {
    503         $fp = fopen("$admin_dir/$admin_script", "w");
    504         fwrite($fp, preg_replace($search, $replace, $skel_files['skel_admin_script']));
    505         fclose($fp);
    506     }
    507 }
    508 
    509 // (2) Admin list template.
    510 if (file_exists("$admin_tpl_dir/$admin_list_template")) {
    511     echo "Admin list template already exists: $admin_tpl_dir/$admin_list_template\n";
    512 } else {
    513     echo "Writing admin list template: $admin_tpl_dir/$admin_list_template\n";
    514     if ('test' != $op) {
    515         $fp = fopen("$admin_tpl_dir/$admin_list_template", "w");
    516         fwrite($fp, preg_replace($search, $replace, $skel_files['skel_admin_list_template']));
    517         fclose($fp);
    518     }
    519 }
    520 
    521 // (3) Admin form template.
    522 if (file_exists("$admin_tpl_dir/$admin_form_template")) {
    523     echo "Admin form template already exists: $admin_tpl_dir/$admin_form_template\n";
    524 } else {
    525     echo "Writing admin form template: $admin_tpl_dir/$admin_form_template\n";
    526     if ('test' != $op) {
    527         $fp = fopen("$admin_tpl_dir/$admin_form_template", "w");
    528         fwrite($fp, preg_replace($search, $replace, $skel_files['skel_admin_form_template']));
    529         fclose($fp);
    530     }
    531 }
    532 
    533 // (4) Public script.
    534 if (file_exists("$public_dir/$public_script")) {
    535     echo "Public script already exists: $public_dir/$public_script\n";
    536 } else {
    537     echo "Writing public script: $public_dir/$public_script\n";
    538     if ('test' != $op) {
    539         $fp = fopen("$public_dir/$public_script", "w");
    540         fwrite($fp, preg_replace($search, $replace, $skel_files['skel_public_script']));
    541         fclose($fp);
    542     }
    543 }
    544 
    545 // (5) Public list template.
    546 if (file_exists("$public_tpl_dir/$public_list_template")) {
    547     echo "Public list template already exists: $public_tpl_dir/$public_list_template\n";
    548 } else {
    549     echo "Writing public list template: $public_tpl_dir/$public_list_template\n";
    550     if ('test' != $op) {
    551         $fp = fopen("$public_tpl_dir/$public_list_template", "w");
    552         fwrite($fp, preg_replace($search, $replace, $skel_files['skel_public_list_template']));
    553         fclose($fp);
    554     }
    555 }
    556 
    557 // (6) Public detail template.
    558 if (file_exists("$public_tpl_dir/$public_detail_template")) {
    559     echo "Public detail template already exists: $public_tpl_dir/$public_detail_template\n";
    560 } else {
    561     echo "Writing public detail template: $public_tpl_dir/$public_detail_template\n";
    562     if ('test' != $op) {
    563         $fp = fopen("$public_tpl_dir/$public_detail_template", "w");
    564         fwrite($fp, preg_replace($search, $replace, $skel_files['skel_public_detail_template']));
    565         fclose($fp);
    566     }
    567 }
    568 
     507if ('admin' == $op) {
     508    // (1) Admin script.
     509    if (file_exists("$admin_dir/$admin_script")) {
     510        echo "Admin script already exists: $admin_dir/$admin_script\n";
     511    } else {
     512        echo "Writing admin script: $admin_dir/$admin_script\n";
     513        if ('test' != $op) {
     514            $fp = fopen("$admin_dir/$admin_script", "w");
     515            fwrite($fp, preg_replace($search, $replace, $skel_files['skel_admin_script']));
     516            fclose($fp);
     517        }
     518    }
     519
     520    // (2) Admin list template.
     521    if (file_exists("$admin_tpl_dir/$admin_list_template")) {
     522        echo "Admin list template already exists: $admin_tpl_dir/$admin_list_template\n";
     523    } else {
     524        echo "Writing admin list template: $admin_tpl_dir/$admin_list_template\n";
     525        if ('test' != $op) {
     526            $fp = fopen("$admin_tpl_dir/$admin_list_template", "w");
     527            fwrite($fp, preg_replace($search, $replace, $skel_files['skel_admin_list_template']));
     528            fclose($fp);
     529        }
     530    }
     531
     532    // (3) Admin form template.
     533    if (file_exists("$admin_tpl_dir/$admin_form_template")) {
     534        echo "Admin form template already exists: $admin_tpl_dir/$admin_form_template\n";
     535    } else {
     536        echo "Writing admin form template: $admin_tpl_dir/$admin_form_template\n";
     537        if ('test' != $op) {
     538            $fp = fopen("$admin_tpl_dir/$admin_form_template", "w");
     539            fwrite($fp, preg_replace($search, $replace, $skel_files['skel_admin_form_template']));
     540            fclose($fp);
     541        }
     542    }
     543}
     544
     545if ('public' == $op) {
     546    // (4) Public script.
     547    if (file_exists("$public_dir/$public_script")) {
     548        echo "Public script already exists: $public_dir/$public_script\n";
     549    } else {
     550        echo "Writing public script: $public_dir/$public_script\n";
     551        if ('test' != $op) {
     552            $fp = fopen("$public_dir/$public_script", "w");
     553            fwrite($fp, preg_replace($search, $replace, $skel_files['skel_public_script']));
     554            fclose($fp);
     555        }
     556    }
     557
     558    // (5) Public list template.
     559    if (file_exists("$public_tpl_dir/$public_list_template")) {
     560        echo "Public list template already exists: $public_tpl_dir/$public_list_template\n";
     561    } else {
     562        echo "Writing public list template: $public_tpl_dir/$public_list_template\n";
     563        if ('test' != $op) {
     564            $fp = fopen("$public_tpl_dir/$public_list_template", "w");
     565            fwrite($fp, preg_replace($search, $replace, $skel_files['skel_public_list_template']));
     566            fclose($fp);
     567        }
     568    }
     569
     570    // (6) Public detail template.
     571    if (file_exists("$public_tpl_dir/$public_detail_template")) {
     572        echo "Public detail template already exists: $public_tpl_dir/$public_detail_template\n";
     573    } else {
     574        echo "Writing public detail template: $public_tpl_dir/$public_detail_template\n";
     575        if ('test' != $op) {
     576            $fp = fopen("$public_tpl_dir/$public_detail_template", "w");
     577            fwrite($fp, preg_replace($search, $replace, $skel_files['skel_public_detail_template']));
     578            fclose($fp);
     579        }
     580    }
     581
     582}
    569583echo "Done!\n";
    570584
Note: See TracChangeset for help on using the changeset viewer.