Added fail-safe mechanism for list of purchased products
authorAlexander Ebert <ebert@woltlab.com>
Tue, 6 Jan 2015 20:59:04 +0000 (21:59 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Tue, 6 Jan 2015 20:59:04 +0000 (21:59 +0100)
com.woltlab.wcf/package.xml
wcfsetup/install/files/acp/templates/pluginStorePurchasedItems.tpl
wcfsetup/install/files/lib/acp/page/PluginStorePurchasedItemsPage.class.php
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml

index 9cc76f323e57eed674ce84ed17d5712742f7f7fd..40451e23e65b850f471e6181ca7a4538c09097c5 100644 (file)
@@ -6,7 +6,7 @@
                <packagedescription language="de"><![CDATA[Freies Web-Framework, das für komplexe Community-Anwendungen entworfen und entwickelt wurde.]]></packagedescription>
                <isapplication>1</isapplication>
                <version>2.1.0 Beta 3</version> <!-- codename: typhoon -->
-               <date>2015-01-13</date>
+               <date>2015-01-07</date>
        </packageinformation>
        
        <authorinformation>
index 289d0945cce508ef59ed78c64a967fcc350f858b..f68cf7f70956869e6871acc1cf3b84002d390093 100644 (file)
@@ -36,6 +36,8 @@
                        <p class="warning">{lang}wcf.acp.pluginStore.purchasedItems.updateServer.missing{/lang}</p>
                {else if $updateServers[$wcfMajorRelease]->isDisabled}
                        <p class="warning">{lang}wcf.acp.pluginStore.purchasedItems.updateServer.disabled{/lang}</p>
+               {else if $updateServers[$wcfMajorRelease]->lastUpdateTime == 0}
+                       <p class="warning">{lang}wcf.acp.pluginStore.purchasedItems.updateServer.requireUpdate{/lang}</p>
                {/if}
                
                <div class="tabularBox tabularBoxTitle marginTop">
@@ -63,6 +65,8 @@
                                                                        <a class="jsButtonPackageUpdate"><span class="icon icon16 fa-refresh jsTooltip" title="{lang}wcf.acp.pluginStore.purchasedItems.status.update{/lang}"></span></a>
                                                                {else if $product[status] == 'upToDate'}
                                                                        <span class="icon icon16 fa-check green jsTooltip" title="{lang}wcf.acp.pluginStore.purchasedItems.status.upToDate{/lang}"></span>
+                                                               {else if $product[status] == 'requireUpdate'}
+                                                                       <span class="icon icon16 fa-ban red jsTooltip" title="{lang}wcf.acp.pluginStore.purchasedItems.status.requireUpdate{/lang}"></span>
                                                                {else}
                                                                        <span class="icon icon16 fa-ban red jsTooltip" title="{lang}wcf.acp.pluginStore.purchasedItems.status.unavailable{/lang}"></span>
                                                                {/if}
index 81847633e78083c1617671abb826db285ed6f285..a310df4eeefbafc6793e45108d841d01f807d36a 100644 (file)
@@ -116,6 +116,10 @@ class PluginStorePurchasedItemsPage extends AbstractPage {
                                        $this->productData[$wcfMajorRelease][$packageUpdateID]['status'] = 'upToDate';
                                }
                        }
+                       
+                       if (isset($this->updateServers[$wcfMajorRelease]) && $this->updateServers[$wcfMajorRelease]->lastUpdateTime == 0) {
+                               $this->productData[$wcfMajorRelease][$packageUpdateID]['status'] = 'requireUpdate';
+                       }
                }
        }
        
index 768abc1a681f0aff6485f626ec2d88521bb60049..18315ad8a4d55666c7e5a9fa3d2b7167017dfa40 100644 (file)
@@ -1265,12 +1265,14 @@ GmbH=Gesellschaft mit beschränkter Haftung]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.button.search"><![CDATA[Erworbene Produkte (Plugin-Store)]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems"><![CDATA[Erworbene Produkte (Plugin-Store)]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.noResults"><![CDATA[Die Suche ergab keine Treffer, entweder haben Sie noch keine Produkte erworben oder diese sind nicht kompatibel.]]></item>
+               <item name="wcf.acp.pluginStore.purchasedItems.status.requireUpdate"><![CDATA[Paket-Server muss abgefragt werden]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.status.update"><![CDATA[Neuere Version verfügbar]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.status.unavailable"><![CDATA[Paket-Server nicht installiert]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.status.upToDate"><![CDATA[Aktuellste Version bereits installiert]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.status.install.confirmMessage"><![CDATA[Möchten Sie das Produkt „{$product[packageName]}“ wirklich installieren?]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.updateServer.disabled"><![CDATA[Der Paket-Server für „{$wcfMajorRelease}“ („http://store.woltlab.com/{$wcfMajorRelease}/“) ist deaktiviert und steht weder für Neuinstallation noch Updates zur Verfügung.]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.updateServer.missing"><![CDATA[Der Paket-Server für „{$wcfMajorRelease}“ ist bei Ihnen nicht eingetragen. Wenn Sie die unten stehenden Pakete installieren möchten, müssen Sie diesen zuvor <a href="{link controller='PackageUpdateServerAdd'}{/link}">hinzufügen</a>.<br />Die Adresse des Servers lautet: „http://store.woltlab.com/{$wcfMajorRelease}/“]]></item>
+               <item name="wcf.acp.pluginStore.purchasedItems.updateServer.requireUpdate"><![CDATA[Der Paket-Server für „{$wcfMajorRelease}“ („http://store.woltlab.com/{$wcfMajorRelease}/“) wurde noch nicht abgefragt, bitte lassen Sie zu erst nach Updates suchen um den Server abzufragen.]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.wcfMajorRelease"><![CDATA[Paket-Server für „{$wcfMajorRelease}“]]></item>
        </category>
        
index d93a56ca237ae5f7c03c97b4665889e75bc8ac19..4822b470dcb0d4c81428f6f2ea1260c9e10c6e8a 100644 (file)
@@ -1267,9 +1267,11 @@ GmbH=Gesellschaft mit beschränkter Haftung]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.status.update"><![CDATA[Newer Version Available]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.status.unavailable"><![CDATA[Update-Server not installed]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.status.upToDate"><![CDATA[You already have the most recent version installed]]></item>
+               <item name="wcf.acp.pluginStore.purchasedItems.status.requireUpdate"><![CDATA[Update-Server must be updated]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.status.install.confirmMessage"><![CDATA[Do you really want to install the product “{$product[packageName]}”?]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.updateServer.disabled"><![CDATA[The Update-Server for “{$wcfMajorRelease}” (“http://store.woltlab.com/{$wcfMajorRelease}/”) is disabled and cannot be used for new installs or updates.]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.updateServer.missing"><![CDATA[The Update-Server for “{$wcfMajorRelease}” does not exist in your installation. If you wish to install the packages below, you must <a href="{link controller='PackageUpdateServerAdd'}{/link}">add it</a>.<br />The server address is: “http://store.woltlab.com/{$wcfMajorRelease}/”]]></item>
+               <item name="wcf.acp.pluginStore.purchasedItems.updateServer.requireUpdate"><![CDATA[The Update-Server for “{$wcfMajorRelease}” has not been queried yet, please search for updates to fetch the package list.]]></item>
                <item name="wcf.acp.pluginStore.purchasedItems.wcfMajorRelease"><![CDATA[Update-Server for “{$wcfMajorRelease}”]]></item>
        </category>