Вход Регистрация
Файл: admin/applications/core/modules_public/ajax/like.php
Строк: 104
<?php
/**
 * @file        like.php     Provides ajax methods for the central like/follow class
 *~TERABYTE_DOC_READY~
 * $Copyright: (c) 2001 - 2011 Invision Power Services, Inc.$
 * $License: http://www.invisionpower.com/company/standards.php#license$
 * $Author: bfarber $
 * @since        -
 * $LastChangedDate: 2011-08-05 20:51:01 -0400 (Fri, 05 Aug 2011) $
 * @version        v3.3.3
 * $Revision: 9373 $
 */

if ( ! defined'IN_IPB' ) )
{
    print 
"<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
    exit();
}

/**
 *
 * @class        public_core_ajax_like
 * @brief        Provides ajax methods for the central like/follow class
 */
class public_core_ajax_like extends ipsAjaxCommand
{
    
/**
     * Main function executed automatically by the controller
     *
     * @param    object        $registry        Registry object
     * @return    @e void
     */
    
public function doExecuteipsRegistry $registry )
    {
        
/* From App */
        
$app    trim$this->request['f_app'] );
        
$area    trim$this->request['f_area'] );
        
$relid    intval$this->request['f_relid'] );
        
        if ( ! 
$app OR ! $area OR empty( $relid ) )
        {
            
trigger_error"Missing data in " __FILE__ ' ' __LINE__ );
        }
        
        
/* Init some data */
        
require_once( IPS_ROOT_PATH 'sources/classes/like/composite.php' );/*noLibHook*/
        
$this->_like classes_like::bootstrap$app$area );
        
        
$this->registry->getClass('class_localization')->loadLanguageFile( array( 'public_like' ), 'core' );
        
        
/* What to do? */
        
switch( $this->request['do'] )
        {
            case 
'setDialogue':
                
$this->_setDialogue$app$area$relid );
                break;
            case 
'save':
                
$this->_save$relid );
                break;
            case 
'unset':
                
$this->_unset$relid );
                break;
            case 
'more':
                
$this->_more$relid );
                break;    
        }
    }
    
    
/**
     * Show more dialogue
     *
     * @param    integer        $relid        Relationship ID
     * @return    @e void
     */
    
protected function _more$relid )
    {               
         
/* Fetch data */
         
return $this->returnHtml$this->_like->render'more'$relid ) );
    }
    
    
/**
     * Do unset like
     *
     * @param    integer        $relid        Relationship ID
     * @return    @e void
     */
    
protected function _unset$relid )
    {
        if( !
$this->memberData['member_id'] )
        {
            return 
$this->returnNull();
        }

        
/* Set data */
         
$this->_like->remove$relid$this->memberData['member_id'] );
         
         
/* Fetch data */
         
return $this->returnHtml$this->_like->render'summary'$relid ) );
    }
    
    
/**
     * Save like
     *
     * @param    integer        $relid        Relationship ID
     * @return    @e void
     */
    
protected function _save$relid )
    {
        if( !
$this->memberData['member_id'] )
        {
            return 
$this->returnNull();
        }

        
$like_notify    intval$this->request['like_notify'] );
        
$like_freq        trim$this->request['like_freq'] );
        
$like_anon        intval$this->request['like_anon'] );

        
/* Set data */
         
$this->_like->add$relid$this->memberData['member_id'], array( 'like_notify_do' => $like_notify'like_notify_freq' => $like_freq ), $like_anon );
         
         
/* Fetch data */
         
return $this->returnHtml$this->_like->render'summary'$relid ) ); 
        
/* This used to force response as UTF-8, but that caused this bug: @link http://community.invisionpower.com/tracker/issue-32255-character-conversion-bug-with-follow-this-x */
    
}
    
    
/**
     * Show set form
     *
     * @param    string        $app        Application
     * @param     string        $area        Area
     * @param    integer        $relid        Relationship ID
     * @return    @e void
     */
    
protected function _setDialogue$app$area$relid )
    {
        if( !
$this->memberData['member_id'] )
        {
            return 
$this->returnNull();
        }

         
$data $this->_like->getDataForSetDialogue$relid );
         
         return 
$this->returnHtml$this->registry->getClass('output')->getTemplate('global_other')->likeSetDialogue$app$area$relid$data ) );
    }
}
Онлайн: 1
Реклама