mirror of
https://github.com/e107inc/e107.git
synced 2025-08-06 14:46:56 +02:00
Plugin Builder refinements with input validation
This commit is contained in:
@@ -1565,11 +1565,14 @@ class pluginBuilder
|
|||||||
case 'main-name':
|
case 'main-name':
|
||||||
$help = "The name of your plugin. (Must be written in English)";
|
$help = "The name of your plugin. (Must be written in English)";
|
||||||
$required = true;
|
$required = true;
|
||||||
|
$pattern = "[A-Za-z ]*";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'main-lang':
|
case 'main-lang':
|
||||||
$help = "If you have a language file, enter the LAN_XXX value for the plugin's name";
|
$help = "If you have a language file, enter the LAN_XXX value for the plugin's name";
|
||||||
$required = false;
|
$required = false;
|
||||||
|
$placeholder= " ";
|
||||||
|
$pattern = "[A-Z0-9_]*";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'main-date':
|
case 'main-date':
|
||||||
@@ -1580,36 +1583,41 @@ class pluginBuilder
|
|||||||
case 'main-version':
|
case 'main-version':
|
||||||
$default = '1.0';
|
$default = '1.0';
|
||||||
$required = true;
|
$required = true;
|
||||||
$help = "The version of your plugin";
|
$help = "The version of your plugin. Format: x.x";
|
||||||
|
$pattern = "^[\d]{1,2}\.[\d]{1,2}$";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'main-compatibility':
|
case 'main-compatibility':
|
||||||
$default = '2.0';
|
$default = '2.0';
|
||||||
$required = true;
|
$required = true;
|
||||||
$help = "Compatible with this version of e107";
|
$help = "Compatible with this version of e107";
|
||||||
|
$pattern = "^[\d]{1,2}\.[\d]{1,2}$";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'author-name':
|
case 'author-name':
|
||||||
$default = USERNAME;
|
$default = USERNAME;
|
||||||
$required = true;
|
$required = true;
|
||||||
$help = "Author Name";
|
$help = "Author Name";
|
||||||
|
$pattern = "[A-Za-z \.0-9]*";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'author-url':
|
case 'author-url':
|
||||||
$default = '';
|
$default = '';
|
||||||
$required = true;
|
$required = true;
|
||||||
$help = "Author Website Url";
|
$help = "Author Website Url";
|
||||||
|
$pattern = "https?://.+";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'main-installRequired':
|
//case 'main-installRequired':
|
||||||
return "Installation required: ".$frm->radio_switch($name,'',LAN_YES, LAN_NO);
|
// return "Installation required: ".$frm->radio_switch($name,'',LAN_YES, LAN_NO);
|
||||||
break;
|
//break;
|
||||||
|
|
||||||
case 'summary-summary':
|
case 'summary-summary':
|
||||||
$help = "A short one-line description of the plugin<br />(Must be written in English)";
|
$help = "A short one-line description of the plugin<br />(Must be written in English)";
|
||||||
$required = true;
|
$required = true;
|
||||||
$size = 100;
|
$size = 100;
|
||||||
$placeholder= " ";
|
$placeholder= " ";
|
||||||
|
$pattern = "[A-Za-z \.0-9]*";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'keywords-one':
|
case 'keywords-one':
|
||||||
@@ -1618,6 +1626,7 @@ class pluginBuilder
|
|||||||
$required = true;
|
$required = true;
|
||||||
$size = 20;
|
$size = 20;
|
||||||
$placeholder= " ";
|
$placeholder= " ";
|
||||||
|
$pattern = '^[a-z]*$';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'description-description':
|
case 'description-description':
|
||||||
@@ -1625,6 +1634,7 @@ class pluginBuilder
|
|||||||
$required = true;
|
$required = true;
|
||||||
$size = 100;
|
$size = 100;
|
||||||
$placeholder = " ";
|
$placeholder = " ";
|
||||||
|
$pattern = "[A-Za-z \.0-9]*";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
@@ -1641,6 +1651,7 @@ class pluginBuilder
|
|||||||
|
|
||||||
$req = ($required == true) ? "&required=1" : "";
|
$req = ($required == true) ? "&required=1" : "";
|
||||||
$placeholder = (varset($placeholder)) ? $placeholder : $type;
|
$placeholder = (varset($placeholder)) ? $placeholder : $type;
|
||||||
|
$pat = ($pattern) ? "&pattern=".$pattern : "";
|
||||||
|
|
||||||
switch ($type)
|
switch ($type)
|
||||||
{
|
{
|
||||||
@@ -1649,9 +1660,10 @@ class pluginBuilder
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'description':
|
case 'description':
|
||||||
$text = $frm->textarea($name,$default, 3, 80, $req);
|
$text = $frm->textarea($name,$default, 3, 100, $req); // pattern not supported.
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
case 'category':
|
case 'category':
|
||||||
$options = array(
|
$options = array(
|
||||||
'settings' => 'settings',
|
'settings' => 'settings',
|
||||||
@@ -1669,7 +1681,7 @@ class pluginBuilder
|
|||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
$text = $frm->text($name, $default, $size, 'placeholder='.$placeholder . $req);
|
$text = $frm->text($name, $default, $size, 'placeholder='.$placeholder . $req. $pat);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1684,6 +1696,7 @@ class pluginBuilder
|
|||||||
//print_a($_POST);
|
//print_a($_POST);
|
||||||
$ns = e107::getRender();
|
$ns = e107::getRender();
|
||||||
$mes = e107::getMessage();
|
$mes = e107::getMessage();
|
||||||
|
$tp = e107::getParser();
|
||||||
|
|
||||||
foreach($data as $key=>$val)
|
foreach($data as $key=>$val)
|
||||||
{
|
{
|
||||||
@@ -1692,12 +1705,13 @@ class pluginBuilder
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$newArray['DESCRIPTION_DESCRIPTION'] = strip_tags($tp->toHtml($newArray['DESCRIPTION_DESCRIPTION'],true));
|
||||||
// print_a($newArray);
|
// print_a($newArray);
|
||||||
// print_a($this);
|
// print_a($this);
|
||||||
|
|
||||||
$template = <<<TEMPLATE
|
$template = <<<TEMPLATE
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<e107Plugin name="{MAIN_NAME}" lan="" version="{MAIN_VERSION}" date="{MAIN_DATE}" compatibility="{MAIN_COMPATIBILITY}" installRequired="true" >
|
<e107Plugin name="{MAIN_NAME}" lan="{MAIN_LANG}" version="{MAIN_VERSION}" date="{MAIN_DATE}" compatibility="{MAIN_COMPATIBILITY}" installRequired="true" >
|
||||||
<author name="{AUTHOR_NAME}" url="{AUTHOR_URL}" />
|
<author name="{AUTHOR_NAME}" url="{AUTHOR_URL}" />
|
||||||
<summary lan="">{SUMMARY_SUMMARY}</summary>
|
<summary lan="">{SUMMARY_SUMMARY}</summary>
|
||||||
<description lan="">{DESCRIPTION_DESCRIPTION}</description>
|
<description lan="">{DESCRIPTION_DESCRIPTION}</description>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<e107Plugin name="Blank Plugin" version="2.0" date="2012-08-01" compatibility="2.0" installRequired="true" >
|
<e107Plugin name="Blank Plugin" version="2.0" date="2012-08-01" compatibility="2.0" installRequired="true" >
|
||||||
<author name="e107 Inc." url="http://e107.org" />
|
<author name="e107 Inc." url="http://e107.org" />
|
||||||
<description lang="">A Blank Plugin to help you get started in plugin development</description>
|
<description lan="">A Blank Plugin to help you get started in plugin development</description>
|
||||||
<category>misc</category>
|
<category>misc</category>
|
||||||
<adminLinks>
|
<adminLinks>
|
||||||
<link url='admin_config.php' description='Configure Blank Plugin' icon='images/blank_32.png' iconSmall='images/blank_16.png' primary='true' >Configure Blank</link>
|
<link url='admin_config.php' description='Configure Blank Plugin' icon='images/blank_32.png' iconSmall='images/blank_16.png' primary='true' >Configure Blank</link>
|
||||||
|
Reference in New Issue
Block a user