aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/common.inc.php1
-rw-r--r--include/functions.inc.php14
-rw-r--r--include/functions_category.inc.php11
-rw-r--r--include/functions_session.inc.php20
4 files changed, 40 insertions, 6 deletions
diff --git a/include/common.inc.php b/include/common.inc.php
index 6e8bbf697..83e1bf30d 100644
--- a/include/common.inc.php
+++ b/include/common.inc.php
@@ -147,6 +147,7 @@ SELECT id
// which upgrades need to be applied?
if (count(array_diff($existing, $applied)) > 0)
{
+ ob_start();// buffer output so that cookies work
echo
'<p>'
.'Some database upgrades are missing, '
diff --git a/include/functions.inc.php b/include/functions.inc.php
index d49317d22..49f1b44bd 100644
--- a/include/functions.inc.php
+++ b/include/functions.inc.php
@@ -974,6 +974,20 @@ SELECT '.$conf['user_fields']['email'].'
}
/**
+ * returns the $str in current language if possible or $str enclosed
+ * in special chars
+ */
+function get_lang($str)
+{
+ global $lang;
+ if ( isset($lang[$str]) )
+ {
+ return $lang[$str];
+ }
+ return '@@'.$str.'@@';
+}
+
+/**
* which upgrades are available ?
*
* @return array
diff --git a/include/functions_category.inc.php b/include/functions_category.inc.php
index 370ab48e6..9e0e16a1d 100644
--- a/include/functions_category.inc.php
+++ b/include/functions_category.inc.php
@@ -321,13 +321,14 @@ SELECT galleries_url
// returns an array of image orders available for users/visitors
function get_category_preferred_image_orders()
{
- global $lang, $conf;
+ global $conf;
return array(
array('Default', '', true),
- array($lang['best_rated_cat'], 'average_rate DESC', $conf['rate']),
- array($lang['most_visited_cat'], 'hit DESC', true),
- array($lang['Creation date'], 'date_creation DESC', true),
- array($lang['Availability date'], 'date_available DESC', true)
+ array(get_lang('best_rated_cat'), 'average_rate DESC', $conf['rate']),
+ array(get_lang('most_visited_cat'), 'hit DESC', true),
+ array(get_lang('Creation date'), 'date_creation DESC', true),
+ array(get_lang('Availability date'), 'date_available DESC', true),
+ array(get_lang('File name'), 'file ASC', true)
);
}
diff --git a/include/functions_session.inc.php b/include/functions_session.inc.php
index 4ec814a5f..03a6dd155 100644
--- a/include/functions_session.inc.php
+++ b/include/functions_session.inc.php
@@ -69,7 +69,25 @@ if (isset($conf['session_save_handler'])
ini_set('session.use_only_cookies', $conf['session_use_only_cookies']);
ini_set('session.use_trans_sid', intval($conf['session_use_trans_sid']));
ini_set('session.name', $conf['session_name']);
- ini_set('session.cookie_path', dirname($_SERVER['PHP_SELF']));
+ ini_set('session.cookie_path', cookie_path() );
+}
+
+// cookie_path returns the path to use for the PhpWebGallery cookie.
+// If PhpWebGallery is installed on :
+// http://domain.org/meeting/gallery/category.php
+// cookie_path will return : "/meeting/gallery"
+function cookie_path()
+{
+ if ( isset($_SERVER['REDIRECT_URL']) )
+ { // mod_rewrite is activated for upper level directories. we must set the
+ // cookie to the path shown in the browser otherwise it will be discarded.
+ $scr = $_SERVER['REDIRECT_URL'];
+ }
+ else
+ {
+ $scr = $_SERVER['PHP_SELF'];
+ }
+ return substr($scr,0,strrpos( $scr,'/'));
}
/**