예제 #1
0
파일: dbimport.inc.php 프로젝트: ssrsfs/blg
        $xlate['allownull'] = $column['Null'] == 'NO' ? false : true;
        $xlate['defaultvalue'] = $column['Default'];
        $columns[] = $xlate;
    }
    $rsIndexes = Typeframe::Database()->execute('SHOW INDEX IN ' . $tableName);
    $indexes = array();
    foreach ($rsIndexes as $index) {
        $name = strtolower($index['Key_name']);
        if (!isset($indexes[$name])) {
            $indexes[$name] = array();
            $indexes[$name]['name'] = $name;
            $indexes[$name]['unique'] = $index['Non_unique'] == 0 ? true : false;
            $indexes[$name]['columns'] = array();
        }
        $indexes[$name]['columns'][] = array('name' => $index['Column_name']);
    }
    $classMill = new Pagemill();
    $classMill->setVariable('class', $className);
    $classMill->setVariable('table', $shortName);
    $classMill->setVariable('prefix', $prefix);
    $classMill->setVariable('columns', $columns);
    $classMill->setVariable('indexes', array_values($indexes));
    //$source = html_entity_decode($classMill->writeFile(dirname(__FILE__) . '/model.tmpl'));
    $source = $classMill->writeFile(dirname(__FILE__) . '/model.tmpl', true);
    //$source = html_entity_decode($stream->peek(), ENT_QUOTES | ENT_XML1);
    $source = str_replace(array('&lt;', '&gt;', '&quot;', '&apos;'), array('<', '>', '"', "'"), $source);
    echo "Writing {$className}.php for {$tableName}...\n";
    $fh = fopen(TYPEF_SOURCE_DIR . '/classes/BaseModel/' . $className . '.php', 'w');
    fwrite($fh, $source . "\n");
    fclose($fh);
}
예제 #2
0
<?php

/**
 * Export config names and values to PHP scripts.
 * This command will create source/scripts/define.d/[package name].php for each
 * package.
 */
$dir = scandir(TYPEF_SOURCE_DIR . '/registry');
foreach ($dir as $file) {
    if (substr($file, 0, 1) !== '.' && is_file(TYPEF_SOURCE_DIR . '/registry/' . $file)) {
        $defines = array();
        $xml = simplexml_load_file(TYPEF_SOURCE_DIR . '/registry/' . $file);
        $configs = $xml->xpath('//config');
        foreach ($configs as $config) {
            $items = $config->xpath('item');
            foreach ($items as $item) {
                if ($item['name']) {
                    $defines[] = array('name' => (string) $item['name'], 'caption' => (string) $item['caption'], 'default' => (string) $item['default']);
                }
            }
        }
        $package = substr($file, 0, -8);
        echo "Writing {$package}.php...\n";
        $pm = new Pagemill();
        $pm->setVariable('defines', $defines);
        $source = $pm->writeFile(TYPEF_SOURCE_DIR . '/cli/tfadmin/define.tpl', true);
        $source = str_replace(array('&lt;', '&gt;', '&quot;', '&apos;'), array('<', '>', '"', "'"), $source);
        file_put_contents(TYPEF_SOURCE_DIR . '/scripts/define.d/' . $package . '.php', $source);
    }
}
예제 #3
0
파일: scaffold.inc.php 프로젝트: ssrsfs/blg
}
/*
$modelnick = "Test Model";
$fields = array();
$fields['id'] = array('required' => 'false', 'type' => 'hidden');
$fields['name'] = array('required' => 'false', 'type' => 'text');
$fields['value'] = array('required' => 'false', 'type' => 'textarea');
$fields['idate'] = array('required' => 'false', 'type' => 'calendar');
*/
$pm = new Pagemill();
$pm->setVariable('fields', $fields);
$pm->setVariable('model', $modelname);
$pm->setVariable('primarykey', $primarykey);
$pm->setVariable('applicationname', $applicationname);
$pm->setVariable('modelnick', $modelnick);
if (!is_dir(TYPEF_SOURCE_DIR . "/controllers/admin/{$applicationname}/")) {
    mkdir(TYPEF_SOURCE_DIR . "/controllers/admin/{$applicationname}/");
}
if (!is_dir(TYPEF_SOURCE_DIR . "/templates/admin/{$applicationname}/")) {
    mkdir(TYPEF_SOURCE_DIR . "/templates/admin/{$applicationname}/");
}
file_put_contents(TYPEF_SOURCE_DIR . "/controllers/admin/{$applicationname}/add.php", str_replace(array('&lt;', '&gt;', '&quot;', '&apos;'), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/controllers/admin/add.tpl', true)));
file_put_contents(TYPEF_SOURCE_DIR . "/controllers/admin/{$applicationname}/edit.php", str_replace(array('&lt;', '&gt;', '&quot;', '&apos;'), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/controllers/admin/edit.tpl', true)));
file_put_contents(TYPEF_SOURCE_DIR . "/controllers/admin/{$applicationname}/delete.php", str_replace(array('&lt;', '&gt;', '&quot;', '&apos;'), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/controllers/admin/delete.tpl', true)));
file_put_contents(TYPEF_SOURCE_DIR . "/controllers/admin/{$applicationname}/index.php", str_replace(array('&lt;', '&gt;', '&quot;', '&apos;'), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/controllers/admin/index.tpl', true)));
file_put_contents(TYPEF_SOURCE_DIR . "/templates/admin/{$applicationname}/add.html", str_replace(array('&lt;', '&gt;', '&quot;', '&apos;'), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/templates/admin/add.html', true)));
file_put_contents(TYPEF_SOURCE_DIR . "/templates/admin/{$applicationname}/update.inc.html", str_replace(array('&lt;', '&gt;', '&quot;', '&apos;'), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/templates/admin/update.inc.html', true)));
file_put_contents(TYPEF_SOURCE_DIR . "/templates/admin/{$applicationname}/index.html", str_replace(array('&lt;', '&gt;', '&quot;', '&apos;'), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/templates/admin/index.html', true)));
file_put_contents(TYPEF_SOURCE_DIR . "/templates/admin/{$applicationname}/edit.html", str_replace(array('&lt;', '&gt;', '&quot;', '&apos;'), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/templates/admin/edit.html', true)));
file_put_contents(TYPEF_SOURCE_DIR . "/registry/{$applicationname}.reg.xml", str_replace(array('&lt;', '&gt;', '&quot;', '&apos;'), array('<', '>', '"', "'"), $pm->writeFile(__DIR__ . '/scaffold/registry/registry.xml', true)));
Typeframe::Registry()->purgeRegistryCache();