diff options
-rw-r--r-- | include/common.inc.php | 35 | ||||
-rw-r--r-- | include/config_default.inc.php | 3 | ||||
-rw-r--r-- | include/functions.inc.php | 18 | ||||
-rw-r--r-- | themes/default/template/no_photo_yet.tpl | 64 |
4 files changed, 120 insertions, 0 deletions
diff --git a/include/common.inc.php b/include/common.inc.php index 9a5ccac90..d4ad9ad5c 100644 --- a/include/common.inc.php +++ b/include/common.inc.php @@ -165,6 +165,41 @@ else $template = new Template(PHPWG_ROOT_PATH.'themes', $user['theme'] ); } +// The "No Photo Yet" feature: if you have no photo yet in your gallery, the +// gallery displays only a big box to show you the way for adding your first +// photos +if ( + !isset($conf['no_photo_yet']) // the message disappears at first photo + and !(defined('IN_ADMIN') and IN_ADMIN) // no message inside administration + and script_basename() != 'identification' // keep the ability to login + ) +{ + $query = ' +SELECT + COUNT(*) + FROM '.IMAGES_TABLE.' +;'; + list($nb_photos) = pwg_db_fetch_row(pwg_query($query)); + if (0 == $nb_photos) + { + $template->set_filenames(array('no_photo_yet'=>'no_photo_yet.tpl')); + + $url = $conf['no_photo_yet_url']; + if (substr($url, 0, 4) != 'http') + { + $url = get_root_url().$url; + } + + $template->assign(array('next_step_url' => $url)); + $template->pparse('no_photo_yet'); + exit(); + } + else + { + conf_update_param('no_photo_yet', 'false'); + } +} + if (isset($user['internal_status']['guest_must_be_guest']) and $user['internal_status']['guest_must_be_guest'] === true) diff --git a/include/config_default.inc.php b/include/config_default.inc.php index dcf94dc84..f9be46f4b 100644 --- a/include/config_default.inc.php +++ b/include/config_default.inc.php @@ -765,4 +765,7 @@ $conf['local_data_dir'] = dirname(dirname(__FILE__)).'/_data'; // where should the API add photos? $conf['upload_dir'] = PHPWG_ROOT_PATH.'upload'; + +// where should the user be guided when there is no photo in his gallery yet? +$conf['no_photo_yet_url'] = 'admin.php?page=photos_add'; ?> diff --git a/include/functions.inc.php b/include/functions.inc.php index 7eee41d57..18bad9d0e 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -1060,6 +1060,24 @@ SELECT param, value } } +function conf_update_param($param, $value) +{ + $query = ' +DELETE + FROM '.CONFIG_TABLE.' + WHERE param = "'.$param.'" +;'; + pwg_query($query); + + $query = ' +INSERT + INTO '.CONFIG_TABLE.' + SET param = "'.$param.'" + , value = "'.$value.'" +;'; + pwg_query($query); +} + /** * Prepends and appends a string at each value of the given array. * diff --git a/themes/default/template/no_photo_yet.tpl b/themes/default/template/no_photo_yet.tpl new file mode 100644 index 000000000..1ced9efca --- /dev/null +++ b/themes/default/template/no_photo_yet.tpl @@ -0,0 +1,64 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>Piwigo, {'Welcome'|@translate}</title> +{literal} +<style type="text/css"> +body { +margin: 0; +padding: 0; +background-color:#111; +} + +#global { +position:absolute; +left: 50%; +top: 50%; +width: 700px; +height: 400px; +margin-top: -200px; /* height half */ +margin-left: -350px; /* width half */ + +background-color: #eee; +background: #222222; +border:2px solid #FF3363; +} + +#noPhotoWelcome {font-size:25px; color:#888;text-align:center; letter-spacing:1px; margin-top:30px;} +.bigButton {} + +.bigButton {text-align:center; margin-top:130px;} + +.bigButton a { + background-color:#333; + padding:10px; + text-decoration:none; + margin:0px 5px 0px 5px; + -moz-border-radius:6px; + -webkit-border-radius:6px; + color:#ff7700; + font-size:25px; + letter-spacing:2px; + padding:20px; +} + +.bigButton a:hover { + background-color:#444; + outline:none; + color:#ff3333; +} +</style> +{/literal} + +</head> + +<body> +<div id="global"> +<p id="noPhotoWelcome">{'Welcome to your Piwigo photo gallery!'|@translate}</p> +<div class="bigButton"><a href="{$next_step_url}">{'Add Photos'|@translate}</a></div> +</div> +</body> + +</html> + |