mirror of
https://github.com/e107inc/e107.git
synced 2025-08-02 12:48:26 +02:00
Fix for type = decimal. Inline editing support added. Html5 validation alerts now display correctly.
This commit is contained in:
@@ -1498,6 +1498,8 @@ class pluginBuilder
|
|||||||
var $pluginName = '';
|
var $pluginName = '';
|
||||||
var $special = array();
|
var $special = array();
|
||||||
var $tableCount = 0;
|
var $tableCount = 0;
|
||||||
|
var $tableList = array();
|
||||||
|
var $createFiles = false;
|
||||||
|
|
||||||
function __construct()
|
function __construct()
|
||||||
{
|
{
|
||||||
@@ -1509,6 +1511,11 @@ class pluginBuilder
|
|||||||
$this->pluginName = $_GET['newplugin'];
|
$this->pluginName = $_GET['newplugin'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(vartrue($_GET['createFiles']))
|
||||||
|
{
|
||||||
|
$this->createFiles = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if(vartrue($_POST['step']) == 3)
|
if(vartrue($_POST['step']) == 3)
|
||||||
{
|
{
|
||||||
@@ -1641,7 +1648,7 @@ class pluginBuilder
|
|||||||
$ret = $dv->getTables($data);
|
$ret = $dv->getTables($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
$text = $frm->open('newplugin-step3','post', e_SELF.'?mode=create&newplugin='.$newplug.'&step=3');
|
$text = $frm->open('newplugin-step3','post', e_SELF.'?mode=create&newplugin='.$newplug.'&createFiles='.$this->createFiles.'&step=3');
|
||||||
|
|
||||||
$text .= "<ul class='nav nav-tabs'>\n";
|
$text .= "<ul class='nav nav-tabs'>\n";
|
||||||
$text .= "<li class='active'><a data-toggle='tab' href='#xml'>Basic Info.</a></li>";
|
$text .= "<li class='active'><a data-toggle='tab' href='#xml'>Basic Info.</a></li>";
|
||||||
@@ -1651,6 +1658,7 @@ class pluginBuilder
|
|||||||
foreach($ret['tables'] as $key=>$table)
|
foreach($ret['tables'] as $key=>$table)
|
||||||
{
|
{
|
||||||
$text .= "<li><a data-toggle='tab' href='#".$table."'>Table: ".$table."</a></li>";
|
$text .= "<li><a data-toggle='tab' href='#".$table."'>Table: ".$table."</a></li>";
|
||||||
|
$this->tableList[] = $table;
|
||||||
}
|
}
|
||||||
$text .= "<li><a data-toggle='tab' href='#preferences'>Preferences</a></li>";
|
$text .= "<li><a data-toggle='tab' href='#preferences'>Preferences</a></li>";
|
||||||
|
|
||||||
@@ -1801,6 +1809,8 @@ class pluginBuilder
|
|||||||
|
|
||||||
$size = 30;
|
$size = 30;
|
||||||
$help = '';
|
$help = '';
|
||||||
|
$pattern = "";
|
||||||
|
$required = false;
|
||||||
|
|
||||||
switch ($info)
|
switch ($info)
|
||||||
{
|
{
|
||||||
@@ -1918,7 +1928,7 @@ class pluginBuilder
|
|||||||
'about' => 'about'
|
'about' => 'about'
|
||||||
);
|
);
|
||||||
|
|
||||||
$text = $frm->selectbox($name, $options,'','required=1', true);
|
$text = $frm->selectbox($name, $options,'','required=1&class=null', true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
@@ -1989,14 +1999,17 @@ TEMPLATE;
|
|||||||
$result = e107::getParser()->simpleParse($template, $newArray);
|
$result = e107::getParser()->simpleParse($template, $newArray);
|
||||||
$path = e_PLUGIN.$this->pluginName."/plugin.xml";
|
$path = e_PLUGIN.$this->pluginName."/plugin.xml";
|
||||||
|
|
||||||
if(file_put_contents($path,$result))
|
|
||||||
|
if($this->createFiles == true)
|
||||||
|
{
|
||||||
|
if(file_put_contents($path,$result) )
|
||||||
{
|
{
|
||||||
$mes->addSuccess("Saved: ".$path);
|
$mes->addSuccess("Saved: ".$path);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$mes->addError("Couldn't Save: ".$path);
|
$mes->addError("Couldn't Save: ".$path);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return htmlentities($result);
|
return htmlentities($result);
|
||||||
|
|
||||||
// $ns->tablerender(LAN_CREATED.": plugin.xml", "<pre style='font-size:80%'>".htmlentities($result)."</pre>");
|
// $ns->tablerender(LAN_CREATED.": plugin.xml", "<pre style='font-size:80%'>".htmlentities($result)."</pre>");
|
||||||
@@ -2018,9 +2031,17 @@ TEMPLATE;
|
|||||||
|
|
||||||
$this->table = $table."_ui";
|
$this->table = $table."_ui";
|
||||||
|
|
||||||
|
$c=0;
|
||||||
|
foreach($modes as $id=>$md)
|
||||||
|
{
|
||||||
|
$tbl = $this->tableList[$c];
|
||||||
|
$defaultMode[$tbl] = $id;
|
||||||
|
$c++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// print_a($defaultMode);
|
||||||
|
|
||||||
$text .= $frm->hidden($this->table.'[pluginName]', $this->pluginName, 15).
|
$text = $frm->hidden($this->table.'[pluginName]', $this->pluginName, 15).
|
||||||
$frm->hidden($this->table.'[table]', $table, 15);
|
$frm->hidden($this->table.'[table]', $table, 15);
|
||||||
|
|
||||||
if($this->tableCount > 1)
|
if($this->tableCount > 1)
|
||||||
@@ -2029,7 +2050,7 @@ TEMPLATE;
|
|||||||
$text .= "
|
$text .= "
|
||||||
<tr>
|
<tr>
|
||||||
<td>Mode</td>
|
<td>Mode</td>
|
||||||
<td>".$frm->selectbox($this->table."[mode]",$modes, '', 'required=1', true)."</td>
|
<td>".$frm->selectbox($this->table."[mode]",$modes, $defaultMode[$table], 'required=1&class=null', true)."</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
";
|
";
|
||||||
@@ -2051,6 +2072,7 @@ TEMPLATE;
|
|||||||
<th>Width</th>
|
<th>Width</th>
|
||||||
<th class='center'>Batch</th>
|
<th class='center'>Batch</th>
|
||||||
<th class='center'>Filter</th>
|
<th class='center'>Filter</th>
|
||||||
|
<th class='center'>Inline</th>
|
||||||
<th class='center e-tip' title='Field is required to be filled'>Validate</th>
|
<th class='center e-tip' title='Field is required to be filled'>Validate</th>
|
||||||
<th class='center e-tip' title='Displayed by Default'>Display</th>
|
<th class='center e-tip' title='Displayed by Default'>Display</th>
|
||||||
<th>HelpTip</th>
|
<th>HelpTip</th>
|
||||||
@@ -2070,14 +2092,15 @@ TEMPLATE;
|
|||||||
<td>".$frm->text($this->table."[fields][".$name."][title]", $this->guess($name, $val,'title'),35, 'required=1')."</td>
|
<td>".$frm->text($this->table."[fields][".$name."][title]", $this->guess($name, $val,'title'),35, 'required=1')."</td>
|
||||||
<td>".$this->fieldType($name, $val)."</td>
|
<td>".$this->fieldType($name, $val)."</td>
|
||||||
<td>".$this->fieldData($name, $val)."</td>
|
<td>".$this->fieldData($name, $val)."</td>
|
||||||
<td>".$frm->text($this->table."[fields][".$name."][width]", $this->guess($name, $val,'width'), 4)."</td>
|
<td>".$frm->text($this->table."[fields][".$name."][width]", $this->guess($name, $val,'width'), 4, 'size=mini')."</td>
|
||||||
<td class='center'>".$frm->checkbox($this->table."[fields][".$name."][batch]", true, $this->guess($name, $val,'batch'))."</td>
|
<td class='center'>".$frm->checkbox($this->table."[fields][".$name."][batch]", true, $this->guess($name, $val,'batch'))."</td>
|
||||||
<td class='center'>".$frm->checkbox($this->table."[fields][".$name."][filter]", true, $this->guess($name, $val,'filter'))."</td>
|
<td class='center'>".$frm->checkbox($this->table."[fields][".$name."][filter]", true, $this->guess($name, $val,'filter'))."</td>
|
||||||
|
<td class='center'>".$frm->checkbox($this->table."[fields][".$name."][inline]", true, $this->guess($name, $val,'inline'))."</td>
|
||||||
<td class='center'>".$frm->checkbox($this->table."[fields][".$name."][validate]", true)."</td>
|
<td class='center'>".$frm->checkbox($this->table."[fields][".$name."][validate]", true)."</td>
|
||||||
<td class='center'>".$frm->checkbox($this->table."[fields][".$name."][fieldpref]", true, $this->guess($name, $val,'fieldpref'))."</td>
|
<td class='center'>".$frm->checkbox($this->table."[fields][".$name."][fieldpref]", true, $this->guess($name, $val,'fieldpref'))."</td>
|
||||||
<td>".$frm->text($this->table."[fields][".$name."][help]",'', 50)."</td>
|
<td>".$frm->text($this->table."[fields][".$name."][help]",'', 50,'size=medium')."</td>
|
||||||
<td>".$frm->text($this->table."[fields][".$name."][readParms]",'', 35)."</td>
|
<td>".$frm->text($this->table."[fields][".$name."][readParms]",'', 20,'size=small')."</td>
|
||||||
<td>".$frm->text($this->table."[fields][".$name."][writeParms]",'', 35).
|
<td>".$frm->text($this->table."[fields][".$name."][writeParms]",'', 20,'size=small').
|
||||||
$frm->hidden($this->table."[fields][".$name."][class]", $this->guess($name, $val,'class')).
|
$frm->hidden($this->table."[fields][".$name."][class]", $this->guess($name, $val,'class')).
|
||||||
$frm->hidden($this->table."[fields][".$name."][thclass]", $this->guess($name, $val,'thclass')).
|
$frm->hidden($this->table."[fields][".$name."][thclass]", $this->guess($name, $val,'thclass')).
|
||||||
"</td>
|
"</td>
|
||||||
@@ -2139,6 +2162,15 @@ TEMPLATE;
|
|||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'decimal':
|
||||||
|
$array = array(
|
||||||
|
"number" => "Text Box",
|
||||||
|
"dropdown" => "DropDown",
|
||||||
|
"method" => "Custom Function",
|
||||||
|
"hidden" => "Hidden",
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'varchar':
|
case 'varchar':
|
||||||
case 'tinytext':
|
case 'tinytext':
|
||||||
$array = array(
|
$array = array(
|
||||||
@@ -2170,7 +2202,7 @@ TEMPLATE;
|
|||||||
// asort($array);
|
// asort($array);
|
||||||
|
|
||||||
$fname = $this->table."[fields][".$name."][type]";
|
$fname = $this->table."[fields][".$name."][type]";
|
||||||
return $frm->selectbox($fname, $array, $this->guess($name, $val),'required=1', true);
|
return $frm->selectbox($fname, $array, $this->guess($name, $val),'required=1&class=null', true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2202,6 +2234,7 @@ TEMPLATE;
|
|||||||
$ret['type'] = 'boolean';
|
$ret['type'] = 'boolean';
|
||||||
$ret['batch'] = false;
|
$ret['batch'] = false;
|
||||||
$ret['filter'] = false;
|
$ret['filter'] = false;
|
||||||
|
$ret['inline'] = false;
|
||||||
$ret['width'] = '5%';
|
$ret['width'] = '5%';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -2214,6 +2247,7 @@ TEMPLATE;
|
|||||||
$ret['batch'] = false;
|
$ret['batch'] = false;
|
||||||
$ret['filter'] = true;
|
$ret['filter'] = true;
|
||||||
$ret['fieldpref'] = true;
|
$ret['fieldpref'] = true;
|
||||||
|
$ret['inline'] = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'name':
|
case 'name':
|
||||||
@@ -2225,6 +2259,7 @@ TEMPLATE;
|
|||||||
$ret['batch'] = false;
|
$ret['batch'] = false;
|
||||||
$ret['filter'] = false;
|
$ret['filter'] = false;
|
||||||
$ret['fieldpref'] = true;
|
$ret['fieldpref'] = true;
|
||||||
|
$ret['inline'] = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'author':
|
case 'author':
|
||||||
@@ -2232,6 +2267,7 @@ TEMPLATE;
|
|||||||
$ret['type'] = 'user';
|
$ret['type'] = 'user';
|
||||||
$ret['batch'] = false;
|
$ret['batch'] = false;
|
||||||
$ret['filter'] = false;
|
$ret['filter'] = false;
|
||||||
|
$ret['inline'] = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'thumb':
|
case 'thumb':
|
||||||
@@ -2241,6 +2277,7 @@ TEMPLATE;
|
|||||||
$ret['type'] = 'image';
|
$ret['type'] = 'image';
|
||||||
$ret['batch'] = false;
|
$ret['batch'] = false;
|
||||||
$ret['filter'] = false;
|
$ret['filter'] = false;
|
||||||
|
$ret['inline'] = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'total':
|
case 'total':
|
||||||
@@ -2250,6 +2287,7 @@ TEMPLATE;
|
|||||||
$ret['type'] = 'number';
|
$ret['type'] = 'number';
|
||||||
$ret['batch'] = false;
|
$ret['batch'] = false;
|
||||||
$ret['filter'] = false;
|
$ret['filter'] = false;
|
||||||
|
$ret['inline'] = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'category':
|
case 'category':
|
||||||
@@ -2258,6 +2296,7 @@ TEMPLATE;
|
|||||||
$ret['batch'] = true;
|
$ret['batch'] = true;
|
||||||
$ret['filter'] = true;
|
$ret['filter'] = true;
|
||||||
$ret['fieldpref'] = true;
|
$ret['fieldpref'] = true;
|
||||||
|
$ret['inline'] = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'type':
|
case 'type':
|
||||||
@@ -2266,6 +2305,7 @@ TEMPLATE;
|
|||||||
$ret['batch'] = true;
|
$ret['batch'] = true;
|
||||||
$ret['filter'] = true;
|
$ret['filter'] = true;
|
||||||
$ret['fieldpref'] = true;
|
$ret['fieldpref'] = true;
|
||||||
|
$ret['inline'] = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'icon':
|
case 'icon':
|
||||||
@@ -2274,6 +2314,7 @@ TEMPLATE;
|
|||||||
$ret['type'] = 'icon';
|
$ret['type'] = 'icon';
|
||||||
$ret['batch'] = false;
|
$ret['batch'] = false;
|
||||||
$ret['filter'] = false;
|
$ret['filter'] = false;
|
||||||
|
$ret['inline'] = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'website':
|
case 'website':
|
||||||
@@ -2283,6 +2324,7 @@ TEMPLATE;
|
|||||||
$ret['type'] = 'url';
|
$ret['type'] = 'url';
|
||||||
$ret['batch'] = false;
|
$ret['batch'] = false;
|
||||||
$ret['filter'] = false;
|
$ret['filter'] = false;
|
||||||
|
$ret['inline'] = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'visibility':
|
case 'visibility':
|
||||||
@@ -2292,12 +2334,14 @@ TEMPLATE;
|
|||||||
$ret['batch'] = true;
|
$ret['batch'] = true;
|
||||||
$ret['filter'] = true;
|
$ret['filter'] = true;
|
||||||
$ret['fieldpref'] = true;
|
$ret['fieldpref'] = true;
|
||||||
|
$ret['inline'] = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'description':
|
case 'description':
|
||||||
$ret['title'] = 'LAN_DESCRIPTION';
|
$ret['title'] = 'LAN_DESCRIPTION';
|
||||||
$ret['type'] = ($val['type'] == 'TEXT') ? 'textarea' : 'text';
|
$ret['type'] = ($val['type'] == 'TEXT') ? 'textarea' : 'text';
|
||||||
$ret['width'] = '40%';
|
$ret['width'] = '40%';
|
||||||
|
$ret['inline'] = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -2307,6 +2351,7 @@ TEMPLATE;
|
|||||||
$ret['filter'] = false;
|
$ret['filter'] = false;
|
||||||
$ret['thclass'] = 'center';
|
$ret['thclass'] = 'center';
|
||||||
$ret['width'] = 'auto';
|
$ret['width'] = 'auto';
|
||||||
|
$ret['inline'] = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2364,7 +2409,7 @@ TEMPLATE;
|
|||||||
unset($_POST['step'],$_POST['xml']);
|
unset($_POST['step'],$_POST['xml']);
|
||||||
|
|
||||||
|
|
||||||
$text .= "\n
|
$text = "\n
|
||||||
// Generated e107 Plugin Admin Area
|
// Generated e107 Plugin Admin Area
|
||||||
|
|
||||||
require_once('../../class2.php');
|
require_once('../../class2.php');
|
||||||
@@ -2447,6 +2492,7 @@ $text .= "
|
|||||||
" ",
|
" ",
|
||||||
"'batch' => '1'",
|
"'batch' => '1'",
|
||||||
"'filter' => '1'",
|
"'filter' => '1'",
|
||||||
|
"'inline' => '1'",
|
||||||
"'validate' => '1'",
|
"'validate' => '1'",
|
||||||
", 'fieldpref' => '1'",
|
", 'fieldpref' => '1'",
|
||||||
"'type' => ''",
|
"'type' => ''",
|
||||||
@@ -2460,6 +2506,7 @@ $text .= "
|
|||||||
" ",
|
" ",
|
||||||
"'batch' => true",
|
"'batch' => true",
|
||||||
"'filter' => true",
|
"'filter' => true",
|
||||||
|
"'inline' => true",
|
||||||
"'validate' => true",
|
"'validate' => true",
|
||||||
"",
|
"",
|
||||||
"'type' => null",
|
"'type' => null",
|
||||||
@@ -2478,7 +2525,7 @@ $text .= "
|
|||||||
|
|
||||||
foreach($vars['fields'] as $k=>$v)
|
foreach($vars['fields'] as $k=>$v)
|
||||||
{
|
{
|
||||||
if($v['fieldpref'] && $k != 'checkboxes' && $k !='options')
|
if(isset($v['fieldpref']) && $k != 'checkboxes' && $k !='options')
|
||||||
{
|
{
|
||||||
$FIELDPREF[] = "'".$k."'";
|
$FIELDPREF[] = "'".$k."'";
|
||||||
}
|
}
|
||||||
@@ -2503,7 +2550,7 @@ class ".$table." extends e_admin_ui
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
protected $prefs = array(
|
protected \$prefs = array(
|
||||||
'pref_type' => array('title'=> 'type', 'type'=>'text', 'data' => 'string', 'validate' => true),
|
'pref_type' => array('title'=> 'type', 'type'=>'text', 'data' => 'string', 'validate' => true),
|
||||||
'pref_folder' => array('title'=> 'folder', 'type' => 'boolean', 'data' => 'integer'),
|
'pref_folder' => array('title'=> 'folder', 'type' => 'boolean', 'data' => 'integer'),
|
||||||
'pref_name' => array('title'=> 'name', 'type' => 'text', 'data' => 'string', 'validate' => 'regex', 'rule' => '#^[\w]+$#i', 'help' => 'allowed characters are a-zA-Z and underscore')
|
'pref_name' => array('title'=> 'name', 'type' => 'text', 'data' => 'string', 'validate' => 'regex', 'rule' => '#^[\w]+$#i', 'help' => 'allowed characters are a-zA-Z and underscore')
|
||||||
@@ -2536,7 +2583,7 @@ class ".$vars['table']."_form_ui extends e_admin_form_ui
|
|||||||
|
|
||||||
foreach($vars['fields'] as $fld=>$val)
|
foreach($vars['fields'] as $fld=>$val)
|
||||||
{
|
{
|
||||||
if($val['type'] != 'method')
|
if(varset($val['type']) != 'method')
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -2597,6 +2644,8 @@ exit;
|
|||||||
$startPHP = chr(60)."?php";
|
$startPHP = chr(60)."?php";
|
||||||
$endPHP = "?>";
|
$endPHP = "?>";
|
||||||
|
|
||||||
|
if($this->createFiles == true)
|
||||||
|
{
|
||||||
if(file_put_contents($generatedFile, $startPHP .$text . $endPHP))
|
if(file_put_contents($generatedFile, $startPHP .$text . $endPHP))
|
||||||
{
|
{
|
||||||
$mes->addSuccess("<a href='".$generatedFile."'>Click Here</a> to vist your generated admin area");
|
$mes->addSuccess("<a href='".$generatedFile."'>Click Here</a> to vist your generated admin area");
|
||||||
@@ -2605,13 +2654,18 @@ exit;
|
|||||||
{
|
{
|
||||||
$mes->addError("Could not write to ".$generatedFile);
|
$mes->addError("Could not write to ".$generatedFile);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$mes->addInfo("No Files have been created. Please Copy & Paste the code below into your files. ");
|
||||||
|
}
|
||||||
|
|
||||||
echo $mes->render();
|
echo $mes->render();
|
||||||
|
|
||||||
$ns->tablerender(ADLAN_98.SEP."Plugin Builder".SEP.LAN_CREATED.": plugin.xml", "<pre style='font-size:80%'>".$xmlText."</pre>");
|
$ns->tablerender(ADLAN_98.SEP."Plugin Builder".SEP." plugin.xml", "<pre style='font-size:80%'>".$xmlText."</pre>");
|
||||||
|
|
||||||
|
|
||||||
$ns->tablerender(LAN_CREATED.": admin_config.php", "<pre style='font-size:80%'>".$text."</pre>");
|
$ns->tablerender("admin_config.php", "<pre style='font-size:80%'>".$text."</pre>");
|
||||||
|
|
||||||
//
|
//
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user