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}\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 .= '