/** * * creates a unique id for a search * @param string $table Database table * @param string $search Search string * @param string $sort Sort criteria */ protected function getCacheTag($table, $search, $sort) { $user = '******'; $authCookies = Zenphoto_Authority::getAuthCookies(); if (!empty($authCookies)) { // some sort of password exists, play it safe and make the tag unique $user = getUserIP(); } return array('item' => $table, 'fields' => implode(', ', $this->fieldList), 'search' => $search, 'sort' => $sort, 'user' => $user); }
/** * Prints the logout link if the user is logged in. * This is for album passwords only, not admin users; * * @param string $before before text * @param string $after after text * @param int $showLoginForm to display a login form * to not display a login form, but just a login link, set to 0 * to display a login form set to 1 * to display a link to a login form in colorbox, set to 2, but you must have colorbox enabled for the theme pages where this link appears.) * @param string $logouttext optional replacement text for "Logout" */ function printUserLogin_out($before = '', $after = '', $showLoginForm = NULL, $logouttext = NULL) { global $_zp_gallery, $__redirect, $_zp_current_admin_obj, $_zp_login_error, $_zp_gallery_page; $excludedPages = array('password.php', 'register.php', 'favorites.php', '404.php'); $logintext = gettext('Login'); if (is_null($logouttext)) { $logouttext = gettext("Logout"); } $params = array("'userlog=0'"); if (!empty($__redirect)) { foreach ($__redirect as $param => $value) { $params[] .= "'" . $param . '=' . urlencode($value) . "'"; } } if (is_null($showLoginForm)) { $showLoginForm = getOption('user_logout_login_form'); } if (is_object($_zp_current_admin_obj)) { if (!$_zp_current_admin_obj->logout_link) { return; } } $cookies = Zenphoto_Authority::getAuthCookies(); if (empty($cookies) || !zp_loggedin()) { if (!in_array($_zp_gallery_page, $excludedPages)) { switch ($showLoginForm) { case 1: ?> <div class="passwordform"> <?php printPasswordForm('', true, false); ?> </div> <?php break; case 2: if (getOption('colorbox_' . $_zp_gallery->getCurrentTheme() . '_' . stripSuffix($_zp_gallery_page)) && zp_has_filter('theme_head', 'colorbox::css')) { ?> <script type="text/javascript"> // <!-- <![CDATA[ $(document).ready(function() { $(".logonlink").colorbox({ inline: true, innerWidth: "400px", href: "#passwordform", close: '<?php echo gettext("close"); ?> ', open: $('#passwordform_enclosure .errorbox').length }); }); // ]]> --> </script> <?php if ($before) { echo '<span class="beforetext">' . html_encodeTagged($before) . '</span>'; } ?> <a href="#" class="logonlink" title="<?php echo $logintext; ?> "><?php echo $logintext; ?> </a> <span id="passwordform_enclosure" style="display:none"> <div class="passwordform"> <?php printPasswordForm('', true, false); ?> </div> </span> <?php if ($after) { echo '<span class="aftertext">' . html_encodeTagged($after) . '</span>'; } } break; default: if ($loginlink = zp_apply_filter('login_link', getCustomPageURL('password'))) { if ($before) { echo '<span class="beforetext">' . html_encodeTagged($before) . '</span>'; } ?> <a href="<?php echo $loginlink; ?> " title="<?php echo $logintext; ?> "><?php echo $logintext; ?> </a> <?php if ($after) { echo '<span class="aftertext">' . html_encodeTagged($after) . '</span>'; } } } } } else { if ($before) { echo '<span class="beforetext">' . html_encodeTagged($before) . '</span>'; } $logoutlink = "javascript:launchScript('" . FULLWEBPATH . "/',[" . implode(',', $params) . "]);"; ?> <a href="<?php echo $logoutlink; ?> " title="<?php echo $logouttext; ?> "><?php echo $logouttext; ?> </a> <?php if ($after) { echo '<span class="aftertext">' . html_encodeTagged($after) . '</span>'; } } }