aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--admin/include/functions.php18
-rw-r--r--admin/site_manager.php6
-rw-r--r--admin/site_reader_remote.php5
-rw-r--r--admin/template/goto/install.tpl6
4 files changed, 29 insertions, 6 deletions
diff --git a/admin/include/functions.php b/admin/include/functions.php
index a8193d3af..fc11101fc 100644
--- a/admin/include/functions.php
+++ b/admin/include/functions.php
@@ -1948,6 +1948,21 @@ function cat_admin_access($category_id)
*/
function fetchRemote($src, &$dest, $user_agent='Piwigo', $step=0)
{
+ // Try to retrieve data from local file?
+ if (!url_is_remote($src))
+ {
+ $content = @file_get_contents($src);
+ if ($content !== false)
+ {
+ is_resource($dest) ? @fwrite($dest, $content) : $dest = $content;
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
// After 3 redirections, return false
if ($step > 3) return false;
@@ -1964,8 +1979,9 @@ function fetchRemote($src, &$dest, $user_agent='Piwigo', $step=0)
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = @curl_exec($ch);
$header_length = @curl_getinfo($ch, CURLINFO_HEADER_SIZE);
+ $status = @curl_getinfo($ch, CURLINFO_HTTP_CODE);
@curl_close($ch);
- if ($content !== false)
+ if ($content !== false and $status >= 200 and $status < 400)
{
if (preg_match('/Location:\s+?(.+)/', substr($content, 0, $header_length), $m))
{
diff --git a/admin/site_manager.php b/admin/site_manager.php
index b965b26e8..ea7f060cd 100644
--- a/admin/site_manager.php
+++ b/admin/site_manager.php
@@ -44,8 +44,9 @@ function remote_output($url)
{
global $template, $page;
- if($lines = @file($url))
+ if (fetchRemote($url, $result))
{
+ $lines = explode("\r\n", $result);
// cleaning lines from HTML tags
foreach ($lines as $line)
{
@@ -112,8 +113,9 @@ SELECT COUNT(id) AS count
$clf_url = $url.'create_listing_file.php';
$clf_url.= '?action=test';
$clf_url.= '&version='.PHPWG_VERSION;
- if ( ($lines = @file($clf_url)) !== false)
+ if (fetchRemote($clf_url, $result))
{
+ $lines = explode("\r\n", $result);
$first_line = strip_tags($lines[0]);
if (!preg_match('/^PWG-INFO-2:/', $first_line))
{
diff --git a/admin/site_reader_remote.php b/admin/site_reader_remote.php
index 31ae3e792..5c350acf8 100644
--- a/admin/site_reader_remote.php
+++ b/admin/site_reader_remote.php
@@ -48,7 +48,7 @@ function RemoteSiteReader($url, $listing_url)
if (!isset($listing_url))
{
- $this->listing_url = $this->site_url.'/listing.xml';
+ $this->listing_url = $this->site_url.'listing.xml';
}
else
{
@@ -65,11 +65,10 @@ function open()
{
global $errors;
- if (@fopen($this->listing_url, 'r'))
+ if ($xml_content = getXmlCode($this->listing_url))
{
$this->site_dirs = array();
$this->site_files = array();
- $xml_content = getXmlCode($this->listing_url);
$info_xml_element = getChild($xml_content, 'informations');
if (getAttribute($info_xml_element , 'phpwg_version') != PHPWG_VERSION)
{
diff --git a/admin/template/goto/install.tpl b/admin/template/goto/install.tpl
index a0e8eff6f..bea5cddb4 100644
--- a/admin/template/goto/install.tpl
+++ b/admin/template/goto/install.tpl
@@ -145,6 +145,12 @@ TD {
</tr>
</table>
</form>
+{else}
+<p>
+ <br />
+ <input type="button" name="index" value="{'home'|@translate}" onClick="document.location = 'index.php';"/>
+ <input type="button" name="identification" value="{'Identification'|@translate}" onClick="document.location = 'identification.php';"/>
+</p>
{/if}
</div> {* content *}
<div style="text-align: center">{$L_INSTALL_HELP}</div>