fix: php 5 errors and warnings

improve: put back update remote site from local listing.xml functionality
(allow_url_fopen is false on several ISPs)

git-svn-id: http://piwigo.org/svn/trunk@1107 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
rvelices
2006-03-28 01:26:37 +00:00
parent 51a4de797c
commit 7690f9bb8b
8 changed files with 136 additions and 53 deletions
+70 -23
View File
@@ -6,9 +6,9 @@
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | last update : $Date: 2006-01-31 21:46:26 -0500 (Tue, 31 Jan 2006) $
// | last modifier : $Author: rvelices $
// | revision : $Revision: 1020 $
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | This program is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
@@ -111,21 +111,24 @@ SELECT COUNT(id) AS count
{
if ($is_remote)
{
$clf_url = $url.'create_listing_file.php';
$clf_url.= '?action=test';
$clf_url.= '&version='.PHPWG_VERSION;
if ($lines = @file($clf_url))
if ( ! isset($_POST['no_check']) )
{
$first_line = strip_tags($lines[0]);
if (!preg_match('/^PWG-INFO-2:/', $first_line))
$clf_url = $url.'create_listing_file.php';
$clf_url.= '?action=test';
$clf_url.= '&version='.PHPWG_VERSION;
if ($lines = @file($clf_url))
{
array_push($page['errors'],
l10n('site_err').' : '.$first_line);
$first_line = strip_tags($lines[0]);
if (!preg_match('/^PWG-INFO-2:/', $first_line))
{
array_push($page['errors'],
l10n('site_err').' : '.$first_line);
}
}
else
{
array_push($page['errors'], l10n('site_err_remote_file_not_found') );
}
}
else
{
array_push($page['errors'], l10n('site_err_remote_file_not_found') );
}
}
else
@@ -210,11 +213,24 @@ $template->assign_vars( array(
// | remote sites list |
// +-----------------------------------------------------------------------+
if ( is_file(PHPWG_ROOT_PATH.'listing.xml') )
{
$xml_content = getXmlCode(PHPWG_ROOT_PATH.'listing.xml');
$local_listing_site_url = getAttribute(
getChild($xml_content, 'informations'),
'url'
);
if ( !url_is_remote($local_listing_site_url) )
{
$local_listing_site_url = null;
}
}
$query = '
SELECT s.*, COUNT(c.id) AS nb_categories, SUM(c.nb_images) AS nb_images
FROM '.SITES_TABLE.' AS s LEFT JOIN '.CATEGORIES_TABLE.' AS c
ON s.id=c.site_id
GROUP BY s.id'.
FROM '.SITES_TABLE.' AS s LEFT JOIN '.CATEGORIES_TABLE.' AS c
ON s.id=c.site_id
GROUP BY s.id'.
';';
$result = pwg_query($query);
@@ -254,12 +270,43 @@ while ($row = mysql_fetch_array($result))
);
}
if ($row['id'] != 1)
{
$template->assign_block_vars( 'sites.site.delete',
array('U_DELETE' => $base_url.'delete') );
}
if ($row['id'] != 1)
{
$template->assign_block_vars( 'sites.site.delete',
array('U_DELETE' => $base_url.'delete') );
}
if ( isset($local_listing_site_url) and
$row['galleries_url']==$local_listing_site_url )
{
$local_listing_site_id = $row['id'];
$template->assign_block_vars( 'local_listing',
array(
'URL' => $local_listing_site_url,
)
);
$template->assign_block_vars( 'local_listing.update',
array(
'U_SYNCHRONIZE' => $update_url.'&local_listing=1'
)
);
}
}
if ( isset($local_listing_site_url) and !isset($local_listing_site_id) )
{
$template->assign_block_vars( 'local_listing',
array(
'URL' => $local_listing_site_url,
)
);
$template->assign_block_vars( 'local_listing.create',
array('NAME' => $local_listing_site_url)
);
}
$template->assign_var_from_handle('ADMIN_CONTENT', 'site_manager');
?>
+22 -13
View File
@@ -6,9 +6,9 @@
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | last update : $Date: 2005-12-03 17:03:58 -0500 (Sat, 03 Dec 2005) $
// | last modifier : $Author: plg $
// | revision : $Revision: 967 $
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | This program is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
@@ -31,12 +31,13 @@ class RemoteSiteReader
{
var $site_url;
var $listing_url;
var $site_dirs;
var $site_files;
var $insert_attributes;
var $update_attributes;
function RemoteSiteReader($url)
function RemoteSiteReader($url, $listing_url)
{
$this->site_url = $url;
$this->insert_attributes = array(
@@ -45,6 +46,15 @@ function RemoteSiteReader($url)
$this->update_attributes = array(
'representative_ext', 'has_high', 'filesize', 'width', 'height'
);
if (!isset($listing_url))
{
$this->listing_url = $this->site_url.'/listing.xml';
}
else
{
$this->listing_url = $listing_url;
}
}
/**
@@ -55,24 +65,23 @@ function RemoteSiteReader($url)
function open()
{
global $errors;
$listing_file = $this->site_url.'/listing.xml';
if (@fopen($listing_file, 'r'))
if (@fopen($this->listing_url, 'r'))
{
$this->site_dirs = array();
$this->site_files = array();
$xml_content = getXmlCode($listing_file);
$xml_content = getXmlCode($this->listing_url);
$info_xml_element = getChild($xml_content, 'informations');
if (getAttribute($info_xml_element , 'phpwg_version') != PHPWG_VERSION)
{
array_push(
$errors,
array(
'path' => $listing_file,
'path' => $this->listing_url,
'type' => 'PWG-ERROR-VERSION'
)
);
return false;
}
@@ -80,9 +89,9 @@ function open()
$this->update_attributes,
explode(',', getAttribute($info_xml_element, 'metadata'))
);
$this->build_structure($xml_content, '', 0);
return true;
}
else
@@ -90,7 +99,7 @@ function open()
array_push(
$errors,
array(
'path' => $listing_file,
'path' => $this->listing_url,
'type' => 'PWG-ERROR-NOLISTING'
)
);
+14 -8
View File
@@ -6,9 +6,9 @@
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | last update : $Date: 2005-12-03 17:03:58 -0500 (Sat, 03 Dec 2005) $
// | last modifier : $Author: plg $
// | revision : $Revision: 967 $
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | This program is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
@@ -86,7 +86,13 @@ $infos = array();
if ($site_is_remote)
{
include_once(PHPWG_ROOT_PATH.'admin/site_reader_remote.php');
$site_reader = new RemoteSiteReader($site_url);
$local_listing = null;
if ( isset($_GET['local_listing'])
and $_GET['local_listing'] )
{
$local_listing = PHPWG_ROOT_PATH.'listing.xml';
}
$site_reader = new RemoteSiteReader($site_url, $local_listing);
}
else
{
@@ -431,7 +437,7 @@ SELECT IF(MAX(id)+1 IS NULL, 1, MAX(id)+1) AS next_element_id
'type' => 'PWG-UPDATE-1'
)
);
continue;
}
@@ -453,12 +459,12 @@ SELECT IF(MAX(id)+1 IS NULL, 1, MAX(id)+1) AS next_element_id
: null,
'path' => $path,
);
array_push(
$inserts,
$insert
);
array_push(
$insert_links,
array(
@@ -724,7 +730,7 @@ if (isset($_POST['submit']) and preg_match('/^metadata/', $_POST['sync'])
}
}
$update_fields = $site_reader->get_update_attributes();
$update_fields = array_merge($update_fields, 'date_metadata_update');
$update_fields = array_merge($update_fields, array('date_metadata_update'));
$fields =
array(
'primary' => array('id'),
+5 -5
View File
@@ -5,9 +5,9 @@
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
// | last update : $Date: 2006-01-27 02:11:43 +0100 (ven, 27 jan 2006) $
// | last modifier : $Author: rvelices $
// | revision : $Revision: 1014 $
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | This program is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
@@ -181,7 +181,7 @@ class CalendarBase
{
$nav_bar .= '<span class="'.$class_prefix.'">';
$url = duplicate_index_url(
array('chronology_date'=>array_merge($date_components,$item)),
array('chronology_date'=>array_merge($date_components,array($item))),
array( 'start' )
);
$nav_bar .= '<a href="'.$url.'">';
@@ -207,7 +207,7 @@ class CalendarBase
{
$nav_bar .= '<span class="'.$class_prefix.'">';
$url = duplicate_index_url(
array('chronology_date'=>array_merge($date_components,'any')),
array('chronology_date'=>array_merge($date_components,array('any'))),
array( 'start' )
);
$nav_bar .= '<a href="'.$url.'">';
+1
View File
@@ -301,6 +301,7 @@ $lang['remote_site_clean'] = 'clean';
$lang['remote_site_clean_hint'] = 'remove remote listing.xml file';
$lang['remote_site_generate'] = 'generate listing';
$lang['remote_site_generate_hint'] = 'generate file listing.xml on remote site';
$lang['remote_site_local_create'] = 'Create this site';
$lang['remote_site_local_found'] = 'A local listing.xml file has been found for ';
$lang['remote_site_local_update'] = 'read local listing.xml and update';
$lang['remote_site_test'] = 'test';
+1
View File
@@ -301,6 +301,7 @@ $lang['remote_site_clean'] = 'nettoyer';
$lang['remote_site_clean_hint'] = 'supprimer le fichier listing.xml distant';
$lang['remote_site_generate'] = 'générer le listing';
$lang['remote_site_generate_hint'] = 'générer le fichier listing.xml sur le site distant';
$lang['remote_site_local_create'] = 'Créer ce site';
$lang['remote_site_local_found'] = 'Un fichier listing.xml local a été trouvé pour ';
$lang['remote_site_local_update'] = 'lire le listing.xml local et mettre à jour';
$lang['remote_site_test'] = 'tester';
+5 -3
View File
@@ -27,7 +27,6 @@
define('PHPWG_ROOT_PATH','./');
include_once(PHPWG_ROOT_PATH.'include/common.inc.php');
include_once(PHPWG_ROOT_PATH.'include/functions_rate.inc.php');
include(PHPWG_ROOT_PATH.'include/section_init.inc.php');
// Check Access and exit when user status is not ok
@@ -165,6 +164,7 @@ UPDATE '.CATEGORIES_TABLE.'
}
case 'rate' :
{
include_once(PHPWG_ROOT_PATH.'include/functions_rate.inc.php');
rate_picture($page['image_id'], $_GET['rate']);
redirect($url_self);
}
@@ -756,8 +756,10 @@ if (isset($_GET['slideshow']))
include(PHPWG_ROOT_PATH.'include/picture_rate.inc.php');
include(PHPWG_ROOT_PATH.'include/picture_comment.inc.php');
include(PHPWG_ROOT_PATH.'include/picture_metadata.inc.php');
if ($metadata_showable and isset($_GET['metadata']))
{
include(PHPWG_ROOT_PATH.'include/picture_metadata.inc.php');
}
//------------------------------------------------------------ log informations
pwg_log( 'picture', $title_img, $picture['current']['file'] );
+18 -1
View File
@@ -1,4 +1,4 @@
<!-- $Id: remote_site.tpl 980 2005-12-10 15:24:53Z chrisaga $ -->
<!-- $Id$ -->
<div class="titrePage">
<ul class="categoryActions">
<li><a href="{U_HELP}" onclick="popuphelp(this.href); return false;" title="{lang:Help}"><img src="{themeconf:icon_dir}/help.png" class="button" alt="(?)"></a></li>
@@ -16,6 +16,23 @@
</div>
<!-- END remote_output -->
<!-- BEGIN local_listing -->
{lang:remote_site_local_found} {local_listing.URL}
<!-- BEGIN create -->
<form action="" method="post">
<p>
{lang:remote_site_local_create}:
<input type="hidden" name="no_check" value="1"/>
<input type="hidden" name="galleries_url" value="{local_listing.URL}" />
<input type="submit" name="submit" value="{lang:submit}"/>
</p>
</form>
<!-- END create -->
<!-- BEGIN update -->
<a href="{local_listing.update.U_SYNCHRONIZE}" title="{lang:remote_site_local_update}">{lang:site_synchronize}</a>
<!-- END update -->
<!-- END local_listing -->
<!-- BEGIN sites -->
<table border="1" cellpadding="0" cellspacing="0">
<!-- BEGIN site -->