[zi-cvs] packages/com.zzoss.portlet.package.lib Package.php,1.2,1.3
[email protected] Fri, 05 Mar 2004 06:25:27 -0800
| Newsgroups | gmane.comp.php.zzoss.installer.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/zzossinstaller/packages/com.zzoss.portlet.package.lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8129/com.zzoss.portlet.package.lib
Modified Files:
Package.php
Log Message:
new plugin architecture in installer
Index: Package.php
===================================================================
RCS file: /cvsroot/zzossinstaller/packages/com.zzoss.portlet.package.lib/Package.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Package.php 12 Feb 2004 10:36:40 -0000 1.2
--- Package.php 5 Mar 2004 14:25:24 -0000 1.3
***************
*** 40,45 ****
}
! function showActions()
{
$packages_display = $this->registry->getPackagesActions();
$packages_resolve = $this->registry->getPackagesResolve();
--- 40,49 ----
}
! function showActions($type = 'package')
{
+ $this->registry->setPackageType($type);
+ $packages_specified = $this->registry->getApplicationPackages();
+ $this->registry->setPackagesSpecified($packages_specified);
+ $this->registry->registerPackages('downloads');
$packages_display = $this->registry->getPackagesActions();
$packages_resolve = $this->registry->getPackagesResolve();
***************
*** 67,71 ****
<tr>
<td>
! <a title="<?php echo $package_name_full; ?>" href="info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=package&id=<?php echo $pkg_id; ?>&application=<?php echo $_REQUEST['application']; ?>&distribution=<?php echo $_REQUEST['distribution']; ?>" onclick="javascript:window.open('info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=package&id=<?php echo $pkg_id; ?>&application=<?php echo $_REQUEST['application']; ?>&distribution=<?php echo $_REQUEST['distribution']; ?>', 'PackageInformation', 'width=500,height=500,resizable=1,status=0,scrollbars=1,toolbar=0,location=0,directories=0,menubar=0,dependent=0');void(0);javascript:return(false);" target="_blank"><?php
echo $package_name_short;
?></a><br/><?php echo $package['summary']; ?>
--- 71,75 ----
<tr>
<td>
! <a title="<?php echo $package_name_full; ?>" href="info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=<?php echo $type; ?>&id=<?php echo $pkg_id; ?>&application=<?php echo $_REQUEST['application']; ?>&distribution=<?php echo $_REQUEST['distribution']; ?>" onclick="javascript:window.open('info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=<?php echo $type; ?>&id=<?php echo $pkg_id; ?>&application=<?php echo $_REQUEST['application']; ?>&distribution=<?php echo $_REQUEST['distribution']; ?>', 'PackageInformation', 'width=500,height=500,resizable=1,status=0,scrollbars=1,toolbar=0,location=0,directories=0,menubar=0,dependent=0');void(0);javascript:return(false);" target="_blank"><?php
echo $package_name_short;
?></a><br/><?php echo $package['summary']; ?>
***************
*** 100,104 ****
<table class="list">
<tr>
! <th align="left">Package</th>
<th align="center">Version</th>
<th align="center">Action(s)</th>
--- 104,108 ----
<table class="list">
<tr>
! <th align="left"><?php echo ucfirst($type); ?></th>
<th align="center">Version</th>
<th align="center">Action(s)</th>
***************
*** 109,113 ****
} else {
?>
! <div class="warning">No package action selected.</div>
<?php
}
--- 113,117 ----
} else {
?>
! <div class="warning">No <?php echo $type; ?> action selected.</div>
<?php
}
***************
*** 124,127 ****
--- 128,291 ----
return $this->has_downloads;
}
+
+ function showList($type = 'package')
+ {
+ $packages_specified = array();
+ $application_data = $this->registry->getApplication();
+
+ if(isset($application_data["release"][$type.'s'][$type])){
+ $application_data = $application_data["release"][$type.'s'][$type];
+ if(is_array($application_data) && count($application_data)) {
+ foreach($application_data as $key => $val) {
+ $packages_specified[$val["@"]["name"].'-'.$val["@"]["version"]] = $val;
+ }
+ }
+ }
+ $this->registry->setPackageType($type);
+ $this->registry->setPackagesSpecified($packages_specified);
+ $this->registry->registerPackages('downloads');
+ $packages = $this->registry->getPackages();
+ $a = $this->registry->getPackagesActions();
+
+ // loop packages array displaying each package
+ if(is_array($packages) && count($packages)) {
+ ?>
+ <table class="list">
+ <tr>
+ <th align="center"><img src="themes/share/icons/org.kde.icons.crystalsvg/16x16/run.png" border="0" alt="Install" title="Install"></th>
+ <th align="center"><img src="themes/share/icons/org.kde.icons.crystalsvg/16x16/rebuild.png" border="0" alt="Update" title="Update"></th>
+ <th align="center"><img src="themes/share/icons/org.kde.icons.crystalsvg/16x16/trashcan_empty.png" border="0" alt="Remove" title="Remove"></th>
+ <th align="center"> </th>
+ <th align="left"><?php echo ucfirst($type); ?></th>
+ <!-- <th align="center">Distribution</th> -->
+ <th align="left">Available</th>
+ <th align="left">Installed</th>
+ </tr>
+ <?php
+ foreach($packages as $package) {
+ $options = array();
+
+ $options["install"] = '';
+ $options["update"] = '';
+ $options["options"] = '';
+ $options["remove"] = '';
+ $options["install_prefix"] = '';
+ $options["update_prefix"] = '';
+ $options["options_prefix"] = '';
+ $options["remove_prefix"] = '';
+ $options["blank_prefix"] = '';
+ $options["blank"] = '';
+
+ if(is_array($a) && count($a)) {
+ if(!isset($a[$package["id"]]) || $a[$package["id"]] == 'N'){
+ $options["blank"] = ' checked ';
+ } else {
+ switch($a[$package["id"]]) {
+ case 'R':
+ $options["remove"] = ' checked ';
+ break;
+ case 'U':
+ $options["update"] = ' checked ';
+ break;
+ case 'I':
+ $options["install"] = ' checked ';
+ break;
+ }
+ }
+ }
+
+ if(!isset($package["installed"]) || !strlen($package["installed"])) {
+ $package["installed"] = '-';
+ $options["update"] = ' disabled';
+ $options["update_prefix"] = '_disabled';
+ if(!isset($package["_specified"]) || $package["_specified"]) {
+ $options["remove"] = ' disabled';
+ $options["remove_prefix"] = '_disabled';
+ }
+ if($package["install"]["required"] == true) {
+ $options["install"] = ' checked';
+ $options["blank"] = ' disabled';
+ $options["blank_prefix"] = '_disabled';
+ } elseif(!isset($_REQUEST["loadSelection"])) {
+ $options["blank"] = ' checked ';
+ }
+ $modified = true;
+ } else {
+ if($package["installed"] == $package["release"]["version"]) {
+ $modified = false;
+ /*
+ $options["update"] = ' disabled';
+ $options["update_prefix"] = '_disabled';*/
+ $options["install"] = ' disabled';
+ $options["install_prefix"] = '_disabled';
+ if(!isset($_REQUEST["loadSelection"])) {
+ $options["blank"] = ' checked ';
+ }
+ if($package["install"]["required"] == true) {
+ $options["remove"] = ' disabled';
+ $options["remove_prefix"] = '_disabled';
+ }
+ } else {
+ $modified = true;
+ $options["install"] = ' disabled';
+ $options["install_prefix"] = '_disabled';
+ if(!isset($_REQUEST["loadSelection"])) {
+ $options["update"] = ' checked ';
+ }
+ }
+ }
+
+ if($modified){
+ $bgcolor = ' class="highlight"';
+ } else {
+ $bgcolor = '';
+ }
+
+ echo '<tr>';
+ echo '<td align="center" valign="middle"'.$bgcolor.'><input type="radio" name="a'.$options["install_prefix"].'['.$package["id"].']"'.$options["install"].' value="I" title="Install"></td>';
+ echo '<td align="center" valign="middle"'.$bgcolor.'><input type="radio" name="a'.$options["update_prefix"].'['.$package["id"].']"'.$options["update"].' value="U" title="Update"></td>';
+ echo '<td align="center" valign="middle"'.$bgcolor.'><input type="radio" name="a'.$options["remove_prefix"].'['.$package["id"].']"'.$options["remove"].' value="R" title="Remove"></td>';
+ echo '<td align="center" valign="middle"'.$bgcolor.'><input type="radio" name="a'.$options["blank_prefix"].'['.$package["id"].']" '.$options["blank"].' value="N" title="Status Quo"></td>';
+ ?>
+ <td<?php echo $bgcolor; ?>>
+ <?php
+
+ $package_name_full = $package["name"];
+ if(strlen($package_name_full) > 32){
+ $package_name_short = substr($package_name_full, 0, 29).'...';
+ } else {
+ $package_name_short = $package_name_full;
+ }
+
+ ?>
+ <a title="<?php echo $package_name_full.'-'.$package['release']['version']; ?>" href="info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=<?php echo $type; ?>&id=<?php echo $package["id"]; ?>&application=<?php echo $_REQUEST['application']; ?>&distribution=<?php echo $_REQUEST['distribution']; ?>" onclick="javascript:window.open('info.php?mode=<?php echo $_REQUEST['mode']; ?>&type=<?php echo $type; ?>&id=<?php echo $package["id"]; ?>&application=<?php echo $_REQUEST['application']; ?>&distribution=<?php echo $_REQUEST['distribution']; ?>', 'PackageInformation', 'width=500,height=500,resizable=1,status=0,scrollbars=1,toolbar=0,location=0,directories=0,menubar=0,dependent=0');void(0);javascript:return(false);" target="_blank"><?php
+ echo $package_name_short;
+ ?></a><br/><?php
+ echo $package['summary'];
+
+ if($GLOBALS['ZI']['mode'] == 'dev' && isset($package['_specified']) && !$package['_specified']){
+ ?><div class="warning-inline">Not specified by application</div><?php
+ }
+ ?>
+ </td>
+ <?php
+ echo '<td'.$bgcolor.'>'.$package["release"]["version"];
+ ?>
+ <?php
+ if($package["installed"] == '-' && $package["install"]["type"] == 'remote') {
+ echo '<img src="themes/share/icons/org.kde.icons.crystalsvg/16x16/network.png" align="absmiddle" border="0" alt="Download" title="Download">';
+ }
+ echo '</td>';
+
+ echo '<td'.$bgcolor.'>'.$package["installed"].'</td>';
+
+ echo '</tr>';
+ }
+ ?>
+ </table><?php
+ } else {
+ echo '<div class="warning">No '.$type.'s available.</div>';
+ }
+ }
}
?>
\ No newline at end of file
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click