working on file manager for projects
Esse commit está contido em:
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once dirname(__FILE__) . '/../mind3rd/API/classes/Mind.php';
|
require_once dirname(__FILE__) . '/../mind3rd/API/classes/Mind.php';
|
||||||
require_once dirname(__FILE__) . '/../mind3rd/API/classes/MindSpeaker.php';
|
require_once dirname(__FILE__) . '/../mind3rd/API/classes/MindSpeaker.php';
|
||||||
require_once dirname(__FILE__) . '/../mind3rd/API/cortex/Darwin/Darwin.php';
|
require_once dirname(__FILE__) . '/../mind3rd/API/classes/scientia/Darwin.php';
|
||||||
require_once dirname(__FILE__) . '/../mind3rd/API/cortex/Lexer/Lexer.php';
|
require_once dirname(__FILE__) . '/../mind3rd/API/cortex/Lexer/Lexer.php';
|
||||||
require_once dirname(__FILE__) . '/../mind3rd/API/cortex/canonic/Canonic.php';
|
require_once dirname(__FILE__) . '/../mind3rd/API/cortex/canonic/Canonic.php';
|
||||||
require_once dirname(__FILE__) . '/../mind3rd/API/cortex/syntaxer/Syntaxer.php';
|
require_once dirname(__FILE__) . '/../mind3rd/API/cortex/syntaxer/Syntaxer.php';
|
||||||
|
|||||||
@@ -47,6 +47,7 @@
|
|||||||
<input type='button' value='commit project demo_en' onclick="commit()"/>
|
<input type='button' value='commit project demo_en' onclick="commit()"/>
|
||||||
<input type='button' value='show queries' onclick="showQueries()"/>
|
<input type='button' value='show queries' onclick="showQueries()"/>
|
||||||
<input type='button' value='generate db' onclick="genDB()"/>
|
<input type='button' value='generate db' onclick="genDB()"/>
|
||||||
|
<input type='button' value='generate docs' onclick="genDocs()"/>
|
||||||
<input type='button' value='logoff' onclick="logoff()"/>
|
<input type='button' value='logoff' onclick="logoff()"/>
|
||||||
<pre><div id='result' style='border:solid 1px #777;'></div></pre>
|
<pre><div id='result' style='border:solid 1px #777;'></div></pre>
|
||||||
</body>
|
</body>
|
||||||
@@ -245,6 +246,21 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
function genDocs()
|
||||||
|
{
|
||||||
|
setLoading();
|
||||||
|
$.ajax({
|
||||||
|
type:'POST',
|
||||||
|
url:'../../',
|
||||||
|
data:{
|
||||||
|
program:'generate',
|
||||||
|
what: 'sql'
|
||||||
|
},
|
||||||
|
success: function(retQ){
|
||||||
|
document.getElementById('result').innerHTML= retQ;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function logoff()
|
function logoff()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ class mysql implements DBMS{
|
|||||||
public function createPrimaryKeys()
|
public function createPrimaryKeys()
|
||||||
{
|
{
|
||||||
return "
|
return "
|
||||||
<object>CONSTRAINT</object> <element><fkname></element> <object>PRIMARY KEY</object> (<element><propertienames></element>)
|
<object>CONSTRAINT</object> <element><fkname></element> <object>PRIMARY KEY</object> (<element><propertiesnames></element>)
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ class mysql implements DBMS{
|
|||||||
{
|
{
|
||||||
return "
|
return "
|
||||||
<keyword>ALTER</keyword> <object>TABLE</object> <tablename>
|
<keyword>ALTER</keyword> <object>TABLE</object> <tablename>
|
||||||
<keyword>ADD</keyword> <object>PRIMARY KEY</object> (<propertienames>);
|
<keyword>ADD</keyword> <object>PRIMARY KEY</object> (<propertiesnames>);
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ class pgsql implements DBMS{
|
|||||||
public function createPrimaryKeys()
|
public function createPrimaryKeys()
|
||||||
{
|
{
|
||||||
return "
|
return "
|
||||||
<object>CONSTRAINT</object> <element><fkname></element> <object>PRIMARY KEY</object> (<element><propertienames></element>)
|
<object>CONSTRAINT</object> <element><fkname></element> <object>PRIMARY KEY</object> (<element><propertiesnames></element>)
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,7 +154,7 @@ class pgsql implements DBMS{
|
|||||||
{
|
{
|
||||||
return "
|
return "
|
||||||
<keyword>ALTER</keyword> <object>TABLE</object> <tablename>
|
<keyword>ALTER</keyword> <object>TABLE</object> <tablename>
|
||||||
<keyword>ADD</keyword> <object>PRIMARY KEY</object> (<propertienames>);
|
<keyword>ADD</keyword> <object>PRIMARY KEY</object> (<propertiesnames>);
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ class sqlite implements DBMS{
|
|||||||
public function createPrimaryKeys()
|
public function createPrimaryKeys()
|
||||||
{
|
{
|
||||||
return "
|
return "
|
||||||
<object>CONSTRAINT</object> <element><fkname></element> <object>PRIMARY KEY</object> (<element><propertienames></element>)
|
<object>CONSTRAINT</object> <element><fkname></element> <object>PRIMARY KEY</object> (<element><propertiesnames></element>)
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ class sqlite implements DBMS{
|
|||||||
{
|
{
|
||||||
return "
|
return "
|
||||||
<keyword>ALTER</keyword> <object>TABLE</object> <tablename>
|
<keyword>ALTER</keyword> <object>TABLE</object> <tablename>
|
||||||
<keyword>ADD</keyword> <object>PRIMARY KEY</object> (<propertienames>);
|
<keyword>ADD</keyword> <object>PRIMARY KEY</object> (<propertiesnames>);
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* @author felipe
|
* @author felipe
|
||||||
*/
|
*/
|
||||||
class En {
|
class En implements l10n{
|
||||||
private $messages= Array();
|
private $messages= Array();
|
||||||
|
|
||||||
public $name= 'en';
|
public $name= 'en';
|
||||||
@@ -49,6 +49,9 @@ class En {
|
|||||||
$this->messages['additionalCounterCol'] = "This field was automatically added to allow an insertion of a new tuple using repeated values for the other keys.";
|
$this->messages['additionalCounterCol'] = "This field was automatically added to allow an insertion of a new tuple using repeated values for the other keys.";
|
||||||
$this->messages['commitChanged'] = Mind::message("VCS: Commited to version %s", '[Ok]', false);
|
$this->messages['commitChanged'] = Mind::message("VCS: Commited to version %s", '[Ok]', false);
|
||||||
$this->messages['commitUnchanged'] = Mind::message("VCS: Nothing to commit. Still in version %s", '[Ok]', false);
|
$this->messages['commitUnchanged'] = Mind::message("VCS: Nothing to commit. Still in version %s", '[Ok]', false);
|
||||||
|
$this->messages['theosDBQrFail'] = Mind::message("Theos: A problem occurred in the following query\n", '[Fail]', false);
|
||||||
|
$this->messages['theosDBQrFailAbort'] = Mind::message("Theos: All the queries will be aborted", '[Fail]', false);
|
||||||
|
$this->messages['theosDBQrOk'] = Mind::message("Theos: Database created successfuly", '[Ok]', false);
|
||||||
|
|
||||||
$this->messages['http_invalid_requisition'] = <<<MESSAGE
|
$this->messages['http_invalid_requisition'] = <<<MESSAGE
|
||||||
Invalid HTTP requisition.
|
Invalid HTTP requisition.
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* @author felipe
|
* @author felipe
|
||||||
*/
|
*/
|
||||||
class pt {
|
class pt implements l10n{
|
||||||
private $messages= Array();
|
private $messages= Array();
|
||||||
|
|
||||||
public $name= 'pt';
|
public $name= 'pt';
|
||||||
@@ -56,6 +56,9 @@ class pt {
|
|||||||
$this->messages['additionalCounterCol'] = "Campo adicionado automaticamente, a ser usado como diferencial para cada tupla, a fim de possibilizar um novo registro utilizando as mesmas demais chaves.";
|
$this->messages['additionalCounterCol'] = "Campo adicionado automaticamente, a ser usado como diferencial para cada tupla, a fim de possibilizar um novo registro utilizando as mesmas demais chaves.";
|
||||||
$this->messages['commitChanged'] = Mind::message("VCS: Consignado para versão %s", '[Ok]', false);
|
$this->messages['commitChanged'] = Mind::message("VCS: Consignado para versão %s", '[Ok]', false);
|
||||||
$this->messages['commitUnchanged'] = Mind::message("VCS: Nada a consignar. Ainda na versão %s", '[Ok]', false);
|
$this->messages['commitUnchanged'] = Mind::message("VCS: Nada a consignar. Ainda na versão %s", '[Ok]', false);
|
||||||
|
$this->messages['theosDBQrFail'] = Mind::message("Theos: Ocorreu um problema durante a execução da query abaixo:\n", '[Fail]', false);
|
||||||
|
$this->messages['theosDBQrFailAbort'] = Mind::message("Theos: Todas as queries serão abortadas", '[Fail]', false);
|
||||||
|
$this->messages['theosDBQrOk'] = Mind::message("Theos: Base de dados gerada com sucesso", '[Ok]', false);
|
||||||
|
|
||||||
$this->messages['http_invalid_requisition'] = <<<MESSAGE
|
$this->messages['http_invalid_requisition'] = <<<MESSAGE
|
||||||
Requisição HTTP inválida.
|
Requisição HTTP inválida.
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To change this template, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Lobe;
|
||||||
|
/**
|
||||||
|
* Description of Neuron
|
||||||
|
*
|
||||||
|
* @author felipe
|
||||||
|
*/
|
||||||
|
abstract class Neuron {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To change this template, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
namespace Lobe\DB;
|
||||||
|
/**
|
||||||
|
* Description of DBGen
|
||||||
|
*
|
||||||
|
* @author Felipe Nascimento de Moura <felipenmoura@gmail.com>
|
||||||
|
*/
|
||||||
|
class db extends \Lobe\Neuron implements \neuron{
|
||||||
|
|
||||||
|
private $dbData= false;
|
||||||
|
|
||||||
|
public function __construct(Array $data)
|
||||||
|
{
|
||||||
|
$projectData= \Mind::$currentProject;
|
||||||
|
$this->generateDatabase($projectData);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function generateDatabase(Array $projectData)
|
||||||
|
{
|
||||||
|
$ar= Array(
|
||||||
|
'driver'=>$projectData['database_drive'],
|
||||||
|
'dbName'=>$projectData['database_name'],
|
||||||
|
'host' =>$projectData['database_addr'],
|
||||||
|
'port' =>$projectData['database_port'],
|
||||||
|
'user' =>$projectData['database_user'],
|
||||||
|
'pwd' =>$projectData['database_pwd']
|
||||||
|
);
|
||||||
|
$this->dbData= $ar;
|
||||||
|
$this->dbal= new \MindDBAL($ar);
|
||||||
|
\DQB\QueryFactory::$showHeader= false;
|
||||||
|
\DQB\QueryFactory::setUp($ar['driver']);
|
||||||
|
\DQB\QueryFactory::buildQuery('*');
|
||||||
|
$qrs= \DQB\QueryFactory::getCompleteQuery(false, true, 'array');
|
||||||
|
|
||||||
|
$this->dbal->begin();
|
||||||
|
foreach($qrs as $qr)
|
||||||
|
{
|
||||||
|
$exec = $this->dbal->execute($qr);
|
||||||
|
|
||||||
|
if($exec === false)
|
||||||
|
{
|
||||||
|
\Mind::write('theosDBQrFail');
|
||||||
|
echo $qr."\n";
|
||||||
|
\Mind::write('theosDBQrFailAbort');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->dbal->commit();
|
||||||
|
\Mind::write('theosDBQrOk');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To change this template, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
namespace Lobe\sql;
|
||||||
|
/**
|
||||||
|
* Description of sql
|
||||||
|
*
|
||||||
|
* @author Felipe Nascimento de Moura <felipenmoura@gmail.com>
|
||||||
|
*/
|
||||||
|
class sql extends \Lobe\Neuron implements \neuron{
|
||||||
|
|
||||||
|
public function __construct(Array $data)
|
||||||
|
{
|
||||||
|
$projectData= \Mind::$currentProject;
|
||||||
|
\DQB\QueryFactory::$showHeader= true;
|
||||||
|
\DQB\QueryFactory::setUp(\Mind::$currentProject['database_drive']);
|
||||||
|
\DQB\QueryFactory::buildQuery('*');
|
||||||
|
$qrs= \DQB\QueryFactory::getCompleteQuery(false, true, 'string');
|
||||||
|
|
||||||
|
$file= \theos\ProjectFileManager::createFile('docs/create.sql');
|
||||||
|
\fwrite($file, $qrs);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -20,7 +20,7 @@ class Query {
|
|||||||
|
|
||||||
const TABLE_NAME = '/<tablename(\/)?>/';
|
const TABLE_NAME = '/<tablename(\/)?>/';
|
||||||
const PROPS = '/<properties(\/)?>/';
|
const PROPS = '/<properties(\/)?>/';
|
||||||
const PROPS_NAME = '/<propertienames(\/)?>/';
|
const PROPS_NAME = '/<propertiesnames(\/)?>/';
|
||||||
const PROP_NAME = '/<propertyname(\/)?>/';
|
const PROP_NAME = '/<propertyname(\/)?>/';
|
||||||
const PROP_TYPE = '/<propertytype(\/)?>/';
|
const PROP_TYPE = '/<propertytype(\/)?>/';
|
||||||
const PROP_SIZE = '/<propertysize(\/)?>/';
|
const PROP_SIZE = '/<propertysize(\/)?>/';
|
||||||
|
|||||||
@@ -83,4 +83,5 @@
|
|||||||
}
|
}
|
||||||
return rmdir($dir);
|
return rmdir($dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To change this template, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description of MindException
|
||||||
|
*
|
||||||
|
* @author felipe
|
||||||
|
*/
|
||||||
|
class MindException extends Exception{
|
||||||
|
}
|
||||||
@@ -8,7 +8,7 @@ namespace theos;
|
|||||||
/**
|
/**
|
||||||
* Description of DBGen
|
* Description of DBGen
|
||||||
*
|
*
|
||||||
* @author felipe
|
* @author Felipe Nascimento de Moura <felipenmoura@gmail.com>
|
||||||
*/
|
*/
|
||||||
class DBGen{
|
class DBGen{
|
||||||
|
|
||||||
@@ -38,13 +38,14 @@ class DBGen{
|
|||||||
|
|
||||||
if($exec === false)
|
if($exec === false)
|
||||||
{
|
{
|
||||||
echo "ERROR: a problem occurred in the following query\n";
|
Mind::write('theosDBQrFail');
|
||||||
echo "All the queries will be aborted...\n";
|
echo $qr."\n";
|
||||||
echo $qr."\n\n";
|
Mind::write('theosDBQrFailAbort');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->dbal->commit();
|
$this->dbal->commit();
|
||||||
echo "Database created successfuly\n";
|
Mind::write('theosDBQrOk');
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -13,12 +13,17 @@ namespace theos;
|
|||||||
class Gosh {
|
class Gosh {
|
||||||
public $bdGen= null;
|
public $bdGen= null;
|
||||||
|
|
||||||
public function generate()
|
public function generate($data)
|
||||||
{
|
{
|
||||||
$this->dbGen->generateDatabase(\Mind::$currentProject);
|
//$this->dbGen->generateDatabase(\Mind::$currentProject);
|
||||||
|
$program = strtolower(array_shift($data));
|
||||||
|
$program = 'Lobe\\'.$program.'\\'.$program;
|
||||||
|
if(\class_exists($program))
|
||||||
|
new $program($data);
|
||||||
|
else
|
||||||
|
throw new \MindException("Invalid lobe program: ".$program);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function __construct() {
|
public function __construct(){
|
||||||
$this->dbGen= new DBGen;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To change this template, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
namespace theos;
|
||||||
|
/**
|
||||||
|
* Description of ProjectFileManager
|
||||||
|
*
|
||||||
|
* @author felipe
|
||||||
|
*/
|
||||||
|
final class ProjectFileManager {
|
||||||
|
|
||||||
|
private static function filterURI($uri, $allowSlashes=false)
|
||||||
|
{
|
||||||
|
$uri= \urlencode(\utf8_encode($uri));
|
||||||
|
if($allowSlashes)
|
||||||
|
$uri= preg_replace('/%2F/', '/', $uri);
|
||||||
|
|
||||||
|
while(false !== \strpos('..', $uri))
|
||||||
|
{
|
||||||
|
$uri= str_replace('..', '', $uri);
|
||||||
|
}
|
||||||
|
$uri= preg_replace('/^\\|\//', '', $uri);
|
||||||
|
return $uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function mountURI($uri= '', $allowSlashes= false)
|
||||||
|
{
|
||||||
|
$tmpURI = \Mind::$currentProject['path']."/";
|
||||||
|
$tmpURI.= self::filterURI($uri, $allowSlashes);
|
||||||
|
return $tmpURI;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function createDir()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function fixDirectory($uri)
|
||||||
|
{
|
||||||
|
if(file_exists($uri))
|
||||||
|
return true;
|
||||||
|
if(!file_exists(dirname($uri)))
|
||||||
|
self::fixDirectory(dirname($uri));
|
||||||
|
mkdir(filterURI($uri));
|
||||||
|
\chmod($uri, 0777);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function createFile($uri)
|
||||||
|
{
|
||||||
|
self::fixDirectory(dirname($uri));
|
||||||
|
$uri= self::mountURI($uri, true);
|
||||||
|
return fopen($uri, 'wb+');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -15,6 +15,20 @@
|
|||||||
* property
|
* property
|
||||||
* keyword
|
* keyword
|
||||||
* comment
|
* comment
|
||||||
|
*
|
||||||
|
* Possible tags for template's usage:
|
||||||
|
* defaultvalue
|
||||||
|
* propertyname
|
||||||
|
* propertytype
|
||||||
|
* propertysize
|
||||||
|
* propertydetails
|
||||||
|
* options
|
||||||
|
* tablename
|
||||||
|
* constraintname
|
||||||
|
* referencetablename
|
||||||
|
* referencecolumnname
|
||||||
|
* fkname
|
||||||
|
* propertiesnames
|
||||||
*
|
*
|
||||||
* @author Felipe Nascimento de Moura <felipenmoura@gmail.com>
|
* @author Felipe Nascimento de Moura <felipenmoura@gmail.com>
|
||||||
* @package DBMS
|
* @package DBMS
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* This file is part of TheWebMind 3rd generation.
|
||||||
|
*
|
||||||
|
* @author Felipe Nascimento de Moura <felipenmoura@gmail.com>
|
||||||
|
* @license licenses/mind3rd.license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interface for l10n
|
||||||
|
*
|
||||||
|
* @author Felipe Nascimento de Moura <felipenmoura@gmail.com>
|
||||||
|
*/
|
||||||
|
interface l10n {
|
||||||
|
public function getMessage($msg);
|
||||||
|
public function __construct();
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To change this template, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Felipe Nascimento de Moura <felipenmoura@gmail.com>
|
||||||
|
*/
|
||||||
|
interface neuron {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -12,20 +12,28 @@
|
|||||||
*/
|
*/
|
||||||
class Generate extends MindCommand implements program
|
class Generate extends MindCommand implements program
|
||||||
{
|
{
|
||||||
private $nameSpace= false;
|
public $what;
|
||||||
public $autoCommit= false;
|
public $param;
|
||||||
|
public $detail;
|
||||||
|
public $optional;
|
||||||
|
public $extra;
|
||||||
|
|
||||||
public function configure()
|
public function configure()
|
||||||
{
|
{
|
||||||
$this->setName('generate')
|
$this->setName('generate')
|
||||||
->setDescription('Commits the analyzed content to a new version')
|
->setDescription('Commits the analyzed content to a new version')
|
||||||
->setRestrict(true)
|
->setRestrict(true)
|
||||||
->setDefinition(Array(
|
|
||||||
new InputArgument('what', InputArgument::REQUIRED, 'What to create')))
|
|
||||||
->setHelp(<<<EOT
|
->setHelp(<<<EOT
|
||||||
This command will increase the current version and also will persist the currently analyzed structure into the system's knowledge base.
|
This command will increase the current version and also will persist the currently analyzed structure into the system's knowledge base.
|
||||||
EOT
|
EOT
|
||||||
);
|
)
|
||||||
|
->setDefinition(Array(
|
||||||
|
new InputArgument('what', InputArgument::REQUIRED, 'What to create'),
|
||||||
|
new InputArgument('param', InputArgument::OPTIONAL, 'A param for that command'),
|
||||||
|
new InputArgument('detail', InputArgument::OPTIONAL, 'A detail for that command'),
|
||||||
|
new InputArgument('optional', InputArgument::OPTIONAL, 'An optional argument'),
|
||||||
|
new InputArgument('extra', InputArgument::OPTIONAL, 'Extra data to pass'),
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function execute(Console\Input\InputInterface $input,
|
public function execute(Console\Input\InputInterface $input,
|
||||||
@@ -33,6 +41,11 @@ EOT
|
|||||||
{
|
{
|
||||||
if(!parent::execute($input, $output))
|
if(!parent::execute($input, $output))
|
||||||
return false;
|
return false;
|
||||||
|
$this->what= $input->getArgument('what');
|
||||||
|
$this->param= $input->getArgument('param');
|
||||||
|
$this->detail= $input->getArgument('detail');
|
||||||
|
$this->optional= $input->getArgument('optional');
|
||||||
|
$this->extra= $input->getArgument('extra');
|
||||||
Mind::write('thinking');
|
Mind::write('thinking');
|
||||||
$this->runAction();
|
$this->runAction();
|
||||||
}
|
}
|
||||||
@@ -42,6 +55,11 @@ EOT
|
|||||||
GLOBAL $_REQ;
|
GLOBAL $_REQ;
|
||||||
if(!parent::HTTPExecute())
|
if(!parent::HTTPExecute())
|
||||||
return false;
|
return false;
|
||||||
|
$this->what = $_REQ['data']['what'];
|
||||||
|
$this->param = (isset($_REQ['data']['param']))? $_REQ['data']['param']: false;
|
||||||
|
$this->detail = (isset($_REQ['data']['detail']))? $_REQ['data']['detail']: false;
|
||||||
|
$this->optional= (isset($_REQ['data']['optional']))? $_REQ['data']['optional']: false;
|
||||||
|
$this->extra = (isset($_REQ['data']['extra']))? $_REQ['data']['extra']: false;
|
||||||
$this->runAction();
|
$this->runAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,7 +71,13 @@ EOT
|
|||||||
Mind::write('currentProjectRequiredTip');
|
Mind::write('currentProjectRequiredTip');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
Mind::$gosh->generate();
|
Mind::$gosh->generate(Array(
|
||||||
|
$this->what,
|
||||||
|
$this->param,
|
||||||
|
$this->detail,
|
||||||
|
$this->optional,
|
||||||
|
$this->extra
|
||||||
|
));
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
_MINDSRC_.'/mind3rd/API/cortex/analyst/',
|
_MINDSRC_.'/mind3rd/API/cortex/analyst/',
|
||||||
_MINDSRC_.'/mind3rd/API/languages/',
|
_MINDSRC_.'/mind3rd/API/languages/',
|
||||||
_MINDSRC_.'/mind3rd/API/DBMS/',
|
_MINDSRC_.'/mind3rd/API/DBMS/',
|
||||||
|
_MINDSRC_.'/mind3rd/API/Lobe/',
|
||||||
_MINDSRC_.'/mind3rd/API/'
|
_MINDSRC_.'/mind3rd/API/'
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|||||||
Referência em uma Nova Issue
Bloquear um usuário