get_files(e_PLUGIN, "^plugin\.php$", "standard", 1))
{
sort($pluginList);
}
foreach ($pluginList as $k => $p)
{
$pluginList[$k]['shortpath'] = substr(str_replace(e_PLUGIN,"",$p['path']),0,-1);
}
function genFileSelect($name,$fl)
{
$ret = "\n";
return $ret;
}
define('TAB_CHAR',chr(9));
define('LAN_XMLGEN_01','Create a plugin.xml file from a plugin.php file');
define('LAN_XMLGEN_02','plugin.xml creation');
define('LAN_XMLGEN_03','Convert');
define('LAN_XMLGEN_04','Select plugin');
define('LAN_XMLGEN_05','No plugin selected - nothing changed');
define('LAN_XMLGEN_06','Processing directory: ');
define('LAN_XMLGEN_07','Conversion successful');
define('LAN_XMLGEN_08','Cannot write to file: ');
define('LAN_XMLGEN_09','Cannot open file for writing: ');
define('LAN_XMLGEN_10','Cannot read ');
define('LAN_XMLGEN_11','Copyright ');
define('LAN_XMLGEN_12','URL to check for updates ');
define('LAN_XMLGEN_13','(optional)');
define('LAN_XMLGEN_14','(Any existing plugin.xml file will be renamed to plugin.bak)');
define('LAN_XMLGEN_15','Cannot rename existing plugin.xml to plugin.bak');
define('LAN_XMLGEN_16','Cannot delete existing plugin.bak');
define('LAN_XMLGEN_17','Installation');
define('LAN_XMLGEN_18','Upgrade');
define('LAN_XMLGEN_19','Uninstallation');
define('LAN_XMLGEN_20','Installation Management');
define('LAN_XMLGEN_21','Installation required');
define('LAN_XMLGEN_22','(Not used if no installation required)');
define('LAN_XMLGEN_23','Yes');
define('LAN_XMLGEN_24','No');
define('LAN_XMLGEN_25','Type');
define('LAN_XMLGEN_26','Function');
define('LAN_XMLGEN_27','Class');
define('LAN_XMLGEN_28','File name');
define('LAN_XMLGEN_29','Function/method name');
define('LAN_XMLGEN_30','When');
define('LAN_XMLGEN_31','Pre');
define('LAN_XMLGEN_32','Post');
define('LAN_XMLGEN_33','Specify file name only - will default to \'.php\' if no extension specified');
define('LAN_XMLGEN_34','Class name');
define('LAN_XMLGEN_35','If specifying a function, leave the class name blank');
define('LAN_XMLGEN_36','');
define('LAN_XMLGEN_37','');
define('LAN_XMLGEN_38','');
$managementOptions = array(
'headings' => array('rowname' => ' ', 'when' => LAN_XMLGEN_30, 'type' => LAN_XMLGEN_25, 'file' => LAN_XMLGEN_28, 'class' => LAN_XMLGEN_34, 'function' => LAN_XMLGEN_29),
'install' => array('rowname' => LAN_XMLGEN_17, 'when' => TRUE, 'type' => TRUE, 'file' => TRUE, 'class' => TRUE, 'function' => TRUE),
'uninstall' => array('rowname' => LAN_XMLGEN_19, 'when' => TRUE, 'type' => TRUE, 'file' => TRUE, 'class' => TRUE, 'function' => TRUE),
'upgrade' => array('rowname' => LAN_XMLGEN_18, 'when' => TRUE, 'type' => TRUE, 'file' => TRUE, 'class' => TRUE, 'function' => TRUE),
'help' => array('rowname' => ' ', 'when' => ' ', 'type' => ' ', 'file' => LAN_XMLGEN_33, 'class' => LAN_XMLGEN_35, 'function' => ' ')
);
$selectOptions = array(
'when' => array('pre' => LAN_XMLGEN_31, 'post' => LAN_XMLGEN_32),
'type' => array('fileFunction' => LAN_XMLGEN_26, 'classFunction' => LAN_XMLGEN_27)
);
// Writes a single value within open tag and close tag
function writeTag($tag,$value,$level=1)
{
if (!$value) return '';
return str_repeat(TAB_CHAR,$level)."<{$tag}>{$value}{$tag}>\n";
}
// Writes a tag with some attributes
function writeTagList($tag,$values,$closeTag = TRUE,$level=1)
{
if (!count($values)) return '';
$ret = str_repeat(TAB_CHAR,$level).'<'.$tag;
foreach ($values as $aname => $aval)
{
if ($aval)
{
$ret .= ' '.$aname.'="'.$aval.'"';
}
}
if ($closeTag) { $ret .= ' /'; }
$ret .= ">\n";
return $ret;
}
function listPrefs($prefList, $arrayPrefList)
{
if (!is_array($prefList)) return '';
$text = '';
foreach ($prefList as $k => $v)
{
if (is_array($v))
{
$text .= TAB_CHAR.TAB_CHAR.''."\n";
foreach ($v as $sk => $sv)
{
$text .= str_repeat(TAB_CHAR,3).' '."\n";
}
$text .= TAB_CHAR.TAB_CHAR."\n";
}
else
{
$text .= TAB_CHAR.TAB_CHAR.''."\n";
}
}
if (!is_array($arrayPrefList)) return $text;
foreach ($arrayPrefList as $k => $v)
{
$text .= TAB_CHAR.TAB_CHAR.''."\n";
}
return $text;
}
function makeXML($pluginDir, $extras=array())
{
if (substr($pluginDir,-1,1) != '/') $pluginDir .= '/';
$sourceFile = $pluginDir.'plugin.php';
$destFile = $pluginDir.'plugin.xml';
$backFile = $pluginDir.'plugin.bak';
$baseFolder = substr($pluginDir,0,-1);
// echo $baseFolder;
$baseFolder = substr($baseFolder,strrpos($baseFolder,'/')+1);
// echo "Transcribing from {$sourceFile} to {$destFile}...
";
$adminText = '';
$mainPrefText = '';
$manageText = '';
$fileText = "\n\n";
$fileText .= '