Вход Регистрация
Файл: apwa/includes/gallery/misc.php
Строк: 75
<?php
/**
*
* @package phpBB Gallery
* @version $Id$
* @copyright (c) 2007 nickvergessen nickvergessen@gmx.de http://www.flying-bits.org
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/

if (!defined('IN_PHPBB'))
{
    exit;
}

class 
phpbb_gallery_misc
{
    static public function 
display_captcha($mode)
    {
        static 
$gallery_display_captcha;

        if (isset(
$gallery_display_captcha[$mode]))
        {
            return 
$gallery_display_captcha[$mode];
        }

        global 
$config$user;

        
$gallery_display_captcha[$mode] = ($user->data['user_id'] == ANONYMOUS) && phpbb_gallery_config::get('captcha_' $mode) && (version_compare($config['version'], '3.0.5''>'));

        return 
$gallery_display_captcha[$mode];
    }

    static public function 
not_authorised($backlink$loginlink ''$login_explain '')
    {
        global 
$user;

        if (!
$user->data['is_registered'] && $loginlink)
        {
            if (
$login_explain && isset($user->lang[$login_explain]))
            {
                
$login_explain $user->lang[$login_explain];
            }
            else
            {
                
$login_explain '';
            }
            
login_box($loginlink$login_explain);
        }
        else
        {
            
meta_refresh(3$backlink);
            
trigger_error('NOT_AUTHORISED');
        }
    }

    
/**
    * Marks a album as read
    *
    * borrowed from phpBB3
    * @author: phpBB Group
    * @function: markread
    */
    
static public function markread($mode$album_id false)
    {
        global 
$db$user;

        
// Sorry, no guest support!
        
if ($user->data['user_id'] == ANONYMOUS)
        {
            return;
        }

        if (
$mode == 'all')
        {
            if (
$album_id === false || !sizeof($album_id))
            {
                
// Mark all albums read (index page)
                
$sql 'DELETE FROM ' GALLERY_ATRACK_TABLE '
                    WHERE user_id = ' 
$user->data['user_id'];
                
$db->sql_query($sql);

                
phpbb_gallery::$user->update_data(array(
                        
'user_lastmark'        => time(),
                ));
            }

            return;
        }
        else if (
$mode == 'albums')
        {
            
// Mark album read
            
if (!is_array($album_id))
            {
                
$album_id = array($album_id);
            }

            
$sql 'SELECT album_id
                FROM ' 
GALLERY_ATRACK_TABLE "
                WHERE user_id = 
{$user->data['user_id']}
                    AND " 
$db->sql_in_set('album_id'$album_id);
            
$result $db->sql_query($sql);

            
$sql_update = array();
            while (
$row $db->sql_fetchrow($result))
            {
                
$sql_update[] = $row['album_id'];
            }
            
$db->sql_freeresult($result);

            if (
sizeof($sql_update))
            {
                
$sql 'UPDATE ' GALLERY_ATRACK_TABLE '
                    SET mark_time = ' 
time() . "
                    WHERE user_id = 
{$user->data['user_id']}
                        AND " 
$db->sql_in_set('album_id'$sql_update);
                
$db->sql_query($sql);
            }

            if (
$sql_insert array_diff($album_id$sql_update))
            {
                
$sql_ary = array();
                foreach (
$sql_insert as $a_id)
                {
                    
$sql_ary[] = array(
                        
'user_id'    => (int) $user->data['user_id'],
                        
'album_id'    => (int) $a_id,
                        
'mark_time'    => time()
                    );
                }

                
$db->sql_multi_insert(GALLERY_ATRACK_TABLE$sql_ary);
            }

            return;
        }
        else if (
$mode == 'album')
        {
            if (
$album_id === false)
            {
                return;
            }

            
$sql 'UPDATE ' GALLERY_ATRACK_TABLE '
                SET mark_time = ' 
time() . "
                WHERE user_id = 
{$user->data['user_id']}
                    AND album_id = 
$album_id";
            
$db->sql_query($sql);

            if (!
$db->sql_affectedrows())
            {
                
$db->sql_return_on_error(true);

                
$sql_ary = array(
                    
'user_id'        => (int) $user->data['user_id'],
                    
'album_id'        => (int) $album_id,
                    
'mark_time'        => time(),
                );

                
$db->sql_query('INSERT INTO ' GALLERY_ATRACK_TABLE ' ' $db->sql_build_array('INSERT'$sql_ary));

                
$db->sql_return_on_error(false);
            }

            return;
        }
    }
}
Онлайн: 0
Реклама