Вход Регистрация
Файл: upload/module/user/include/component/ajax/ajax.class.php
Строк: 639
<?php
/**
 * [PHPFOX_HEADER]
 */

defined('PHPFOX') or exit('NO DICE!');

/**
 *
 *
 * @copyright        [PHPFOX_COPYRIGHT]
 * @author          Raymond Benc
 * @package          Module_User
 * @version         $Id: ajax.class.php 4413 2012-06-28 10:54:17Z Miguel_Espinoza $
 */
class User_Component_Ajax_Ajax extends Phpfox_Ajax
{
    public function 
setCoverPhoto()
    {
        
Phpfox::getService('user.process')->updateCoverPhoto($this->get('photo_id'));
        
$this->call('window.location.href = '' . Phpfox::getLib('url')->makeUrl('profile', array('coverupdate' => '1')) . '';');
    }    
    
    public function 
removeLogo()
    {
        
Phpfox::getService('user.process')->removeLogo();
        
$this->call('window.location.href = '' . Phpfox::getLib('url')->makeUrl('profile', array('newcoverphoto' => '1')) . '';');
    }    
    
    public function 
updateCoverPosition()
    {
        
Phpfox::getService('user.process')->updateCoverPosition($this->get('position'));
        
$this->call('window.location.href = '' . Phpfox::getLib('url')->makeUrl('profile', array('newcoverphoto' => '1')) . '';');
    }
    
    public function 
lostPassword($aArgs)
    {
        
$this->call('$("#emailProcess").html(""); $("#jsLostPasswordForm_msg").message("' Phpfox::getPhrase('user.your_password_has_been_sent_to_your_email') . '", "valid").slideDown("slow");');
    }

    public function 
login()
    {
        
Phpfox::getBlock('user.login-ajax');
    }

    public function 
search()
    {
        
$sId $this->get('id');
        
$aValue $this->get('val');
        if (!isset(
$aValue[$sId]))
        {
            return 
false;
        }
        
$sValue $aValue[$sId][0];
        
$sOld $this->get('old');

        if (
strpos($sValue','))
        {
            
$aValues explode(','$sValue);
            
$iCnt = (count($aValues) - 1);
            
$sValue trim($aValues[$iCnt]);
        }

        if (
trim($sValue) == '')
        {
            
$this->call("oInlineSearch.close('" $this->get('id') . "');");
            return 
false;
        }

        
$aRows Phpfox::getService('user')->getInlineSearch($sValue$sOld);

        if (
count($aRows))
        {
            
Phpfox::getLib('template')->assign(array(
                    
'aRows' => $aRows,
                    
'sJsId' => $this->get('id'),
                    
'sSearch' => $this->get('value'),
                    
'bIsUser' => true
                
)
            )->
getLayout('inline-search');

            
$this->call("oInlineSearch.display('" $this->get('id') . "', '" $this->getContent() . "');");
        }
    }
    
    public function 
showUserName()
    {
        
Phpfox_Ajax::error(false);
        
        
$aVal $this->get('val');        
        
        
$aVal['user_name'] = str_replace(' ''_'$aVal['user_name']);
        
        if (
Phpfox::getLib('validator')->verify('username'$aVal['user_name']))
        {
            
Phpfox::getService('user.validate')->user($aVal['user_name']);

            if (
Phpfox_Error::isPassed())
            {
                
$this->call('$('#js_signup_user_name').html('<span style="color:green; font-weight:bold;">' . htmlentities(addslashes($aVal['user_name'])) . '</span>');');

                
return true;
            }
        }        

        
$aErrors Phpfox_Error::get();

        
$this->call('$('#js_signup_user_name').html('<span style="color:red; font-weight:bold;">' . htmlentities(addslashes($aVal['user_name'])) . '</span>');');
    
}

    public function 
searchUserName($aVal null)
    {
        
Phpfox_Ajax::error(false);
        
        if (
$aVal === null)
        
$aVal $this->get('val');        
        
        
$aVal['user_name'] = str_replace(' ''_'$aVal['user_name']);
    
        if (
Phpfox::getLib('validator')->verify('username'$aVal['user_name']))
        {
            
Phpfox::getService('user.validate')->user($aVal['user_name']);

            if (
Phpfox_Error::isPassed())
            {
                
$this->call('$('#js_user_url_name').html('<span style="color:green; font-weight:bold;">' . htmlentities(addslashes($aVal['user_name'])) . '</span>');');
                
$this->html('#js_user_name_error_message''');

                return 
true;
            }
        }        

        
$aErrors Phpfox_Error::get();

        
$this->call('$('#js_user_url_name').html('<span style="color:red; font-weight:bold;">' . htmlentities(addslashes($aVal['user_name'])) . '</span>');');

        
return false;
    }
    
    public function 
clearStatus()
    {
        
Phpfox::getService('user.process')->clearStatus(Phpfox::getUserId());
        
        
$this->call('var sParsed = $("<div/>").html('' . Phpfox::getPhrase('core.what_is_on_your_mind') . '').text();$("#js_global_status_input").val(sParsed);$("#js_status_input").val(sParsed);');
        
$this->hide('#js_update_user_status_button')
            ->
show('#js_current_user_status')
            ->
hide('.user_status_update_ajax')
            ->
html('.js_actual_user_status_' Phpfox::getUserId(), '')
            ->
html('.js_actual_user_status_bar_' Phpfox::getUserId(), '');
    }
    
    public function 
updateStatus()
    {
        
Phpfox::isUser(true);
        
        
$aVals = (array) $this->get('val');        
        
        if (isset(
$aVals['user_status']) && ($iId Phpfox::getService('user.process')->updateStatus($aVals)))
        {
            ((
$sPlugin Phpfox_Plugin::get('user.component_ajax_updatestatus')) ? eval($sPlugin) : false);
            
            
Phpfox::getService('feed')->processAjax($iId);        
        }
        else 
        {
            
$this->call('$Core.activityFeedProcess(false);');
        }
    }
    
    public function 
mainBrowse()
    {
        
Phpfox::getComponent('user.browse', array(), 'controller');
        
        
$this->remove('.js_pager_view_more_link');
        
$this->append('#js_view_more_users'$this->getContent(false));
        
$this->call('$Core.loadInit();');                
    }
    
    public function 
browse()
    {
        
Phpfox::getBlock('user.browse', array('input' => $this->get('input')));
        
$this->call('<script type="text/javascript">$('#TB_ajaxWindowTitle').html('' . Phpfox::getPhrase('user.search_for_members', array('phpfox_squote' => true)) . '');</script>');    
    
}
    
    public function 
browseAjax()
    {        
        
Phpfox::getBlock('user.browse', array('page' => $this->get('page'), 'find' => $this->get('find'), 'input' => $this->get('input'), 'is_search' => true));
        
        
$this->call('$('#js_user_search_content').html('' . $this->getContent() . ''); updateCheckBoxes();');
    
}

    
/**
     * Shows the deleteUser block, does not perform  the actual delete
     */
    
public function deleteUser()
    {
        
Phpfox::isUser(true);
        
Phpfox::getUserParam('admincp.has_admin_access'true);
        
Phpfox::getUserParam('user.can_delete_others_account'true);
        
$iUser = (int)$this->get('iUser');
        
Phpfox::getBlock('user.admincp.deleteUser', array('iUser' => $iUser));
    }

    
/**
     * Deletes a feedback from the admin panel
     */
    
public function deleteFeedback()
    {
        
Phpfox::isUser(true);
        
$iFeedback = (int)$this->get('iFeedback');
        if (
Phpfox::getService('user.cancellations.process')->deleteFeedback($iFeedback))
        {
            
$this->call('$("#js_feedback_'.$iFeedback.'").remove();');
        }
        else
        {
            
$this->alert(Phpfox::getPhrase('user.we_found_a_problem_with_your_request_please_try_again'));
        }
    }

    public function 
confirmedDelete()
    {
        
Phpfox::isUser(true);
        
Phpfox::getUserParam('admincp.has_admin_access'true);
        
$iUser = (int)$this->get('iUser');
        
        if (!
Phpfox::getService('user')->isAdminUser($iUser))
        {        
            
Phpfox::getService('user.auth')->setUserId($iUser);
            
Phpfox::massCallback('onDeleteUser'$iUser);
            
Phpfox::getService('user.auth')->setUserId(null);
            
$this->call('$("#js_user_'.$iUser.'").remove();');
            
$this->setMessage('User ' $iUser ' deleted.');
        }
        else 
        {
            
Phpfox_Error::set(Phpfox::getPhrase('user.you_are_unable_to_delete_a_site_administrator'));
        }
    }
    
    public function 
getRegistrationStep()
    {        
        
$this->error(false);
        
        
$aVals $this->get('val');        
                
        
$oValid Phpfox::getLib('validator')->set(array('sFormName' => 'js_form''aParams' => Phpfox::getService('user.register')->getValidation($this->get('step'))));        
        
        if (
$this->get('step') == '1')
        {
            if (!
Phpfox::getParam('user.profile_use_id') && !Phpfox::getParam('user.disable_username_on_sign_up'))
            {
                
$aVals['user_name'] = str_replace(' ''_'$aVals['user_name']);
                
Phpfox::getService('user.validate')->user($aVals['user_name']);
            }        
            
            
Phpfox::getService('user.validate')->email($aVals['email']);
        }
        
        if (
$oValid->isValid($aVals))
        {        
            if (
$this->get('last'))
            {
                
$this->call('$('#js_form').submit();');
            
}
            else 
            {
                ((
$sPlugin Phpfox_Plugin::get('user.component_ajax_getregistrationstep_pass')) ? eval($sPlugin) : false);
                
                if (!isset(
$bSkipAjaxProcess))
                {
                    
$this->template()->assign(array(
                            
'aTimeZones' => Phpfox::getService('core')->getTimeZones(),
                            
'aPackages' => Phpfox::isModule('subscribe') ? Phpfox::getService('subscribe')->getPackages(true) : null// two tickets with this problem
                            
'aSettings' => Phpfox::getService('custom')->getForEdit(array('user_main''user_panel''profile_panel'), nullnulltrue),
                            
'sDobStart' => Phpfox::getParam('user.date_of_birth_start'),
                            
'sDobEnd' => Phpfox::getParam('user.date_of_birth_end'),
                            
'bIsBlockSignUp' => (isset($aVals['block_signup']) ? true false)
                        )
                    )->
getTemplate('user.block.register.step' . ($this->get('step') + 1));
                
                    
$this->val('#js_registration_submit'html_entity_decode(Phpfox::getPhrase('user.continue'), null'UTF-8'));
                    
$this->call('$Core.registration.updateForm('' . $this->getContent() . '');');
                    if (
$this->get('next'))
                    {
                        
$this->call('$Core.registration.showCaptcha();');
                    }
                }
            }
        }
        else 
        {
            
$sErrors '';
            foreach (
Phpfox_Error::get() as $sError)
            {
                
$sErrors .= '<div class="error_message">' $sError '</div>';
            }
            
            if (
$this->get('step') == '1')
            {
                
$this->call('$('#js_register_accept').show();');
            
}
            
            
$this->call('$('#js_registration_process').hide();$('#js_registration_holder').show();')->html('#js_signup_error_message', $sErrors);
        
}
        
        
$this->call('$Core.loadInit();');
    }
    
    public function 
getNew()
    {
        
Phpfox::getBlock('user.new');
        
        
$this->html('#' $this->get('id'), $this->getContent(false));
        
$this->call('$('#' . $this->get('id') . '').parents('.block:first').find('.bottom li a').attr('href', '' . Phpfox::getLib('url')->makeUrl('user.browse', array('sort' => 'joined')) . '');');
    
}    
    
    public function 
getAccountSettings()
    {
        
Phpfox::getBlock('user.setting');
        
        
$this->hide('#js_basic_info_data')
            ->
hide('#js_user_basic_info')
            ->
show('#js_user_basic_edit_link')
            ->
html('#js_basic_info_form'$this->getContent(false))
            ->
show('#js_basic_info_form');
    }
    
    public function 
updateAccountSettings()
    {        
        
$aValidation = array(                    
            
'country_iso' => Phpfox::getPhrase('user.select_current_location')                    
        );    

        if (
Phpfox::getUserParam('user.can_edit_gender_setting'))
        {
            
$aValidation['gender'] = Phpfox::getPhrase('user.select_your_gender');
        }
        
        if (
Phpfox::getUserParam('user.can_edit_dob'))
        {
            
$aValidation['month'] = Phpfox::getPhrase('user.select_month_of_birth');
            
$aValidation['day'] = Phpfox::getPhrase('user.select_day_of_birth');
            
$aValidation['year'] = Phpfox::getPhrase('user.select_year_of_birth');
        }    
        
        
$oValid Phpfox::getLib('validator')->set(array('sFormName' => 'js_form''aParams' => $aValidation));
        
        if (!
$oValid->isValid($this->get('val')))
        {
            
$this->hide('#js_updating_basic_info_load')->show('#js_updating_basic_info');
            
            return 
false;                
        }
        
        if (
Phpfox::getService('user.process')->updateSimple(Phpfox::getUserId(), $this->get('val')))
        {
                    
        }        
        
        if (
Phpfox::getService('custom.process')->updateFields(Phpfox::getUserId(), Phpfox::getUserId(), $this->get('custom')))
        {
            
        }
        
        
Phpfox::getBlock('profile.info');
        
        
$this->hide('#js_updating_basic_info_load')->show('#js_updating_basic_info');
        
$this->hide('#js_basic_info_form')
            ->
html('#js_basic_info_data'$this->getContent(false))
            ->
show('#js_basic_info_data')
            ->
call('$Core.rate.init({display: false, error_message: '' . Phpfox::getPhrase('user.you_cannot_rate_your_own_profile', array('phpfox_squote' => true)) . ''});');
    }
    
    public function 
updateFooterBar()
    {
        
Phpfox::isUser(true);
        
Phpfox::getService('user.process')->updateFooterBar(Phpfox::getUserId(), $this->get('type_id'));        
    }
    
    public function 
hideBlock()
    {
        
Phpfox::getService('user.process')->hideBlock($this->get('block_id'));
    }

    public function 
verifyUsername()
    {
        if (!
Phpfox::getParam('user.suggest_usernames_on_registration'))
        {
            return 
false;
        }
                
        
$aUser = array('user_name' => $this->get('user_name'));
        
        
$aUser['user_name'] = str_replace(' ''_'$aUser['user_name']);
        
        
Phpfox::getLib('validator')->verify('username'$aUser['user_name']);        
        
        if (!
Phpfox_Error::isPassed())
        {            
            return 
false;
        }        
        
        if (
$this->searchUserName($aUser))
        {
            
// this username is valid
            
$this->html('#js_verify_username''<div class="valid_message">' Phpfox::getPhrase('user.this_username_is_available') . '</div>')->show('#js_verify_username');
        }
        else
        {        
            
// get X suggestions as usernames and check them            
            
$iFailedTries 0;
            
$aValidNames = array();            
            
// filter the username so it only allows a-z, A-Z, numbers, dash (-) and underscore (_)
            
$sValidUsername '';
            if (
strlen($aUser['user_name']) > 0)
            {
                for(
$i 0$i strlen($aUser['user_name']); $i++)
                {
                    if(
preg_match('/[-a-zA-Z0-9_]/i'$aUser['user_name'][$i]) !== false)
                    {
                        
$sValidUsername .= $aUser['user_name'][$i];
                    }
                }
            }
            
$aSuggestedNames Phpfox::getParam('user.usernames_to_suggest');
            
$aSuggestedNames[] = $sValidUsername;
            
            
// check user.validate --> eregi("[a-zA-Z] use this to get the valid part of the username and generate the new usernames
            
$iRand rand(100999);
            while ( 
count($aValidNames) < Phpfox::getParam('user.how_many_usernames_to_suggest'))
            {
                
$sTry $aSuggestedNames[array_rand($aSuggestedNames)] . $iRand;
                if (
Phpfox::getLib('validator')->verify('username'$sTry)
                    && 
Phpfox::getLib('parse.input')->allowTitle($sTry'Username is already in use.')
                    && 
Phpfox::getService('ban')->check('username'$sTry)    
                )
                {
                    
$aValidNames[] = $sTry;
                    
$iRand rand(100999);
                }
                elseif (
$iFailedTries 2)
                {
                    
// missed once, we increment the random value
                    
$iRand rand(1009999);
                    
$iFailedTries++;
                }
                else
                {
                    
// ok now its too many
                    
break;
                }                
            }            
            
            
Phpfox::getBlock('user.signup-error', array('aNames' => $aValidNames));
            
            
$this->html('#js_verify_username'$this->getContent(false))->show('#js_verify_username');            
        }
    }
    
    public function 
loadCustomField()
    {
        
Phpfox::getBlock('user.custom');    
        
        
$this->html('#js_custom_field_holder'$this->getContent(false));
    }    
    
    public function 
changePicture()
    {
        
Phpfox::getBlock('user.photo');    
    }    
    
    public function 
block()
    {
        
Phpfox::getBlock('user.block');
    }
    
    public function 
processBlock()
    {        
        if (
Phpfox::getService('user.block.process')->add($this->get('user_id')))
        {
            
$this->setMessage(Phpfox::getPhrase('user.user_successfully_blocked'));
        }
    }
    
    public function 
unBlock()
    {
        if (
Phpfox::getService('user.block.process')->delete($this->get('user_id')))
        {
            
$this->setMessage(Phpfox::getPhrase('user.user_successfully_unblocked'));
        }        
    }

    
/**
     * Handles featuring and unfeaturing a user, permissions are checked on the service itself
     * @param int $iUser
     */
    
public function feature()
    {
        
$iUser intval($this->get('user_id'));
        
$bFeature $this->get('feature');
        if (
$bFeature == || $bFeature == 0)
        {
            if (
$bFeature == && (Phpfox::getService('user.featured.process')->feature($iUser))) // trying to feature
            
{
                if (
$this->get('type') != '1')
                {
                    
$sNewHtml '<a href="#" onclick="$.ajaxCall('user.feature', 'user_id='.$iUser.'&feature=0'); return false;">' Phpfox::getPhrase('user.unfeature_user');
                    
$this->call('$(".js_feature_'.$iUser.'").html("'.$sNewHtml.'");');
                }

                return 
true;
            }
            elseif(
$bFeature == && (Phpfox::getService('user.featured.process')->unfeature($iUser)))            
            {
                if (
$this->get('type') != '1')
                {
                    
$sNewHtml '<a href="#" onclick="$.ajaxCall('user.feature', 'user_id='.$iUser.'&feature=1'); return false;">' Phpfox::getPhrase('user.feature_user');
                    
$this->call('$(".js_feature_'.$iUser.'").html("'.$sNewHtml.'");');
                }                

                if (
$this->get('view') == 'featured')
                {
                    
$this->hide('#js_parent_user_' $iUser);
                }                
                
                return 
true;
            }
            
            
        }
// else potential hack attempt        
        
        
$this->alert(Phpfox::getPhrase('user.an_error_occured_and_this_operation_was_not_completed')); // potential hack attempt
        
        
return false;
    }

    
/**
     * Changes the order of a fetured member
     */
    
public function setFeaturedOrder()
    {        
        if (
Phpfox::getService('user.featured.process')->updateOrder($this->get('val')))
        {
            
        }
    }

    
/**
     * Verifies a username so the user can log in.
     */
    
public function verifyEmail()
    {
        
$iUser $this->get('iUser');
        
$bVerified Phpfox::getService('user.verify.process')->adminVerify($iUser);
        if (
$bVerified == true)
        {
            
$this->call('$(".js_verify_email_'.$iUser.'").hide("slow", function(){$(this).remove();});');
            
//$this->call('$("#js_user_'.$iUser.'").hide("slow", function(){$(this).remove();});');
        
}
        else
        {
            
$this->alert(Phpfox::getPhrase('user.an_error_occured_and_this_user_could_not_be_verified'));
        }
    }

    
/**
     * Sends an email to the user_id with with the verification  link
     */
    
public function verifySendEmail()
    {
        
$iUser $this->get('iUser');
        
$bSent Phpfox::getService('user.verify.process')->sendMail($iUser);
        if (
$bSent)
        {
            
$this->alert(Phpfox::getPhrase('user.verification_email_sent'));
            return 
true;
        }

        
$this->alert(Phpfox::getPhrase('user.an_error_occured_and_the_email_could_not_be_sent'));
        return 
false;
    }
    
    public function 
cropPhoto()
    {        
        
$aPostVals $this->get('val');
        
        if (empty(
$aPostVals['w']))
        {            
            
$this->show('#js_photo_preview_ajax')->html('#js_photo_preview_ajax''');
            
            return 
Phpfox_Error::set(Phpfox::getPhrase('photo.select_an_area_on_your_photo_to_crop'));
        }        
        
        if (
$this->get('in_process'))
        {
            
$oImage Phpfox::getLib('image');
            
$sFileName $this->get('in_process');
            
$aImages = array();
            if ((
$sPhotos $this->get('photos')))
            {
                
$aImages unserialize(base64_decode(urldecode($this->get('photos'))));    
            }
            
            
$iNotCompleted 0;
            foreach(
Phpfox::getParam('user.user_pic_sizes') as $iSize)
            {
                if (isset(
$aImages[sprintf($sFileName'_' $iSize)]))
                {
                    continue;
                }
                
                
$oImage->createThumbnail(Phpfox::getParam('core.dir_user') . sprintf($sFileName''), Phpfox::getParam('core.dir_user') . sprintf($sFileName'_' $iSize), $iSize$iSize);
                
$oImage->createThumbnail(Phpfox::getParam('core.dir_user') . sprintf($sFileName''), Phpfox::getParam('core.dir_user') . sprintf($sFileName'_' $iSize '_square'), $iSize$iSizefalse);
                
                
$aImages[sprintf($sFileName'_' $iSize)] = true;
                
                
$iNotCompleted++;
                
                
$this->call('p('Processing photo' . sprintf($sFileName, '_' . $iSize) . '');');
                
                break;
            }

            
$sValues '';
            foreach (
$this->get('val') as $sKey => $mValue)
            {
                
$sValues .= '&val[' .$sKey ']=' urlencode($mValue);
            }                
            
            if (
$iNotCompleted)
            {
                
$this->call('$.ajaxCall('user.cropPhoto', 'js_disable_ajax_restart=true&photos=' . urlencode(base64_encode(serialize($aImages))) . '&in_process=' . $this->get('in_process') . '&file=' . $this->get('in_process') . '' . $sValues . '');');
            }
            else 
            {
                
$oFile Phpfox::getLib('file');
                
                
$iServerId Phpfox::getLib('request')->getServer('PHPFOX_SERVER_ID');
                
                
$this->call('p('Completed resizing photos.');');
                
                if (
Phpfox::getUserBy('user_image') != '')
                {            
                    if (
file_exists(Phpfox::getParam('core.dir_user') . sprintf(Phpfox::getUserBy('user_image'), '')))
                    {
                        
$oFile->unlink(Phpfox::getParam('core.dir_user') . sprintf(Phpfox::getUserBy('user_image'), ''));
                        foreach(
Phpfox::getParam('user.user_pic_sizes') as $iSize)
                        {
                            if (
file_exists(Phpfox::getParam('core.dir_user') . sprintf(Phpfox::getUserBy('user_image'), '_' $iSize)))
                            {
                                
$oFile->unlink(Phpfox::getParam('core.dir_user') . sprintf(Phpfox::getUserBy('user_image'), '_' $iSize));
                            }
                            
                            if (
file_exists(Phpfox::getParam('core.dir_user') . sprintf(Phpfox::getUserBy('user_image'), '_' $iSize '_square')))
                            {
                                
$oFile->unlink(Phpfox::getParam('core.dir_user') . sprintf(Phpfox::getUserBy('user_image'), '_' $iSize '_square'));
                            }                    
                        }
                    }
                }                

                
$sFileName $this->get('file');
                
                
Phpfox::getLib('database')->update(Phpfox::getT('user'), array('user_image' => $sFileName'server_id' => $iServerId), 'user_id = ' Phpfox::getUserId());

                (
Phpfox::isModule('feed') ? Phpfox::getService('feed.process')->delete('user_photo'Phpfox::getUserId()) : null);
                (
Phpfox::isModule('feed') ? Phpfox::getService('feed.process')->add('user_photo'Phpfox::getUserId(), serialize(array('destination' => $sFileName'server_id' => $iServerId))) : null);                
                
                
$this->call('$.ajaxCall('user.cropPhoto', 'crop=true&js_disable_ajax_restart=true' . $sValues . '');');
            }
            
            return;
        }
        
        
$aVals $this->get('val');
        
        if ((isset(
$aVals['skip_croping']) || (!isset($aVals['skip_croping']))))
        {
            
$this->call('p('Cropping photo.');');
            if (
Phpfox::getService('user.process')->cropPhoto($this->get('val')))
            {        
                
/*
                if ($this->get('crop'))
                {
                 * 
                 */
                    
Phpfox::addMessage(Phpfox::getPhrase('user.profile_photo_successfully_updated'));
                    
                    
$this->call('window.location.href = '' . Phpfox::getLib('url')->makeUrl('user.photo') . '';');    
                
/*
                }
                else 
                {
                    $this->show('#js_photo_preview_ajax')->html('#js_photo_preview_ajax', '<span class="valid_message">' . Phpfox::getPhrase('user.done') . '</span>', '.fadeOut(5000)');
                    $sImageAvatar = Phpfox::getLib('image.helper')->display(array(
                            'server_id' => Phpfox::getUserBy('server_id'),
                            'title' => Phpfox::getUserBy('full_name'),
                            'path' => 'core.url_user',
                            'file' => Phpfox::getUserBy('user_image'),
                            'suffix' => '_75_square',
                            'max_width' => 75,
                            'max_height' => 75,
                            'no_default' => true,
                            'time_stamp' => true,
                            'class' => 'border'        
                        )
                    );
                    $this->html('#js_user_avatar', $sImageAvatar);    
                }            
                 * 
                 */
            
}
            else 
            {
                
$this->show('#js_photo_preview_ajax')->html('#js_photo_preview_ajax''');
            }
        }
    }
    
    public function 
changePassword()
    {
        
Phpfox::getBlock('user.password');
    }
    
    public function 
updatePassword()
    {
        
$this->error(false);
        
        if (
Phpfox::getService('user.process')->updatePassword($this->get('val')))
        {
            
Phpfox::addMessage(Phpfox::getPhrase('user.password_successfully_updated'));
            
            
$this->call('window.location.href = '' . Phpfox::getLib('url')->makeUrl('user.setting') . '';');
        }
        else 
        {
            
$this->html('#js_progress_cache_loader''<div class="error_message">' implode(''Phpfox_Error::get()) . '</div>');
        }
    }
    
    public function 
checkSpaceUsage()
    {
        
$this->error(false);
        if (
Phpfox::getService('user.space')->isAllowedToUpload(Phpfox::getUserId()))
        {
            
        }
        else 
        {
            
$this->html('#js_progress_cache_loader''<div class="error_message">' implode(''Phpfox_Error::get()) . '</div>');
            
$this->hide('#' $this->get('holder'));
            
$this->show('#js_progress_cache_loader');
        }
    }    
    
    public function 
browseMethod()
    {
        if (
$this->get('type') == 'advanced')
        {
            
$this->show('#js_user_browse_advanced');
        }
        else 
        {
            
$this->hide('#js_user_browse_advanced')->val('.js_custom_search''');
        }
    }
    
    public function 
ban()
    {
        if (
Phpfox::getService('user.process')->ban($this->get('user_id'), $this->get('type')))
        {
            if (
$this->get('type') == 1)
            {
                
Phpfox::addMessage(Phpfox::getPhrase('profile.this_user_has_been_banned'));
            }
            else
            {
                
Phpfox::addMessage(Phpfox::getPhrase('ban.this_user_has_been_unbanned'));
            }
            
$this->call("window.location.reload(true);");
            
/*$this->html('#js_ban_' . $this->get('user_id'), ($this->get('type') ?
                    '<a href="#" onclick="$.ajaxCall('user.ban', 'user_id=' . $this->get('user_id') . '&amp;type=0'); return false;">' . Phpfox::getPhrase('user.un_ban_user') . '</a>'
                    :
                    '<a href="'.Phpfox::getLib('url')->makeUrl('admincp.user.ban', array('user'=> $this->get('user_id'))) . '">' . Phpfox::getPhrase('user.ban_user') . '</a>'));
            $this->html('#user_status_' . $this->get('user_id'), '');*/
        
}
    }
    
    public function 
getSettings()
    {
        
Phpfox::isUser(true);
        
Phpfox::getUserParam('admincp.has_admin_access'true);
        
Phpfox::getBlock('user.admincp.setting');
        
        
$this->html('#js_module_title'$this->get('module_id'));
        
$this->html('#js_setting_block'$this->getContent(false));
        
$this->show('#content_editor_text');
        
        
$this->addClass('.table_clear''table_hover_action');
        
$this->call('$.scrollTo(0);');
        
$this->call('$Core.loadInit();');
    }
    
    public function 
updateSettings()
    {
        
Phpfox::isUser(true);
        
Phpfox::getUserParam('admincp.has_admin_access'true);
        
        
$aVals $this->get('val');
        foreach (
$this->get('param') as $iId => $sVar)
        {
            
$aVals['param'][$iId] = $sVar;
        }
        
        if (
Phpfox::getService('user.group.setting.process')->update($this->get('id'), $aVals))
        {
            
$this->slideUp('#global_ajax_message');
        }
    }
    
    public function 
deleteGroupIcon()
    {
        
Phpfox::isUser(true);
        
Phpfox::getUserParam('admincp.has_admin_access'true);
        
        if (
Phpfox::getService('user.group.setting.process')->deleteIcon($this->get('group_id')))
        {
            
        }        
    }
    
    public function 
processUploadedImage()
    {
        
    }
    
    public function 
userPending()
    {
        
Phpfox::isAdmin(true);
        
        if ((
$aUser Phpfox::getService('user.process')->userPending($this->get('user_id'), $this->get('type'))))
        {            
            
$this->remove('.js_user_pending_' $this->get('user_id'));
            if (
$this->get('type') == '1')
            {
                
$this->html('#js_user_pending_group_' $this->get('user_id'), $aUser['user_group_title']);
                if (
$this->get('return') == true)
                { 
// early return
                    
return true;
                }
                
$this->alert(Phpfox::getPhrase('user.user_successfully_approved'));
            }
            else 
            {
                
$this->html('#js_user_pending_group_' $this->get('user_id'), Phpfox::getPhrase('user.not_approved'));
                if (
$this->get('return') == true)
                { 
// early return
                    
return true;
                }
                
$this->alert(Phpfox::getPhrase('user.user_successfully_denied'));
            }
            return 
true;
        }
        return 
false;
    }

    
/**
     * Shows the "pop up" when denying a user from the adminCP
     */
    
public function showDenyUser()
    {
        
Phpfox::isAdmin(true);        
        
$iUser = (int)$this->get('iUser');
        
Phpfox::getBlock('user.admincp.denyUser', array('iUser' => $iUser));
    }
    
    public function 
denyUser()
    {
        
$sMessage $this->get('sMessage');
        
$sSubject $this->get('sSubject');
        
$iUser $this->get('iUser');
        
$bReturn = (bool)$this->get('doReturn');
        
        
$this->set(array('user_id' => $iUser'type' => 2));
        if (!empty(
$bReturn) && $bReturn == true)
        {
            
$this->set('return'true);
        
            
$this->userPending();
            return 
true;
        }

        
        
// send the email
        
Phpfox::getLib('mail')->to($iUser)
                ->
subject($sSubject)
                ->
message($sMessage)
                ->
send();
        
        if (
$this->userPending())
        {
            
$this->call('$("#sFeedbackDeny").html("'.Phpfox::getPhrase('user.user_successfully_denied').'").show();');
            
$this->call('setTimeout("tb_remove();",2000);');
        }
    }
    
    public function 
tooltip()
    {                
        
Phpfox::getBlock('user.tooltip');
        
        
$this->html('#js_user_tool_tip_cache_' $this->get('user_name'), $this->getContent(false));
        
$this->call('$Core.loadUserToolTip('' . $this->get('user_name') . '');');
    }
    
    public function 
addInactiveJob()
    {
        
$iId Phpfox::getService('user.process')->addInactiveJob($this->get('iDays'), $this->get('iBatchSize'));
        if (
$iId == false)
        {
            
$sErr implode('.'Phpfox_Error::get());
            
$this->alert($sErr);
            return 
false;
        }
        
$this->html('#progress'Phpfox::getPhrase('mail.processing_batch_number',array('number' => 1)));
        
$this->call('startJob('.$iId.');');
        
$this->call('processJob('.$iId.');');
    }
    
    public function 
processJob()
    {
        
$aInfo Phpfox::getService('user.process')->processInactiveJob($this->get('iJobId'));
        if (isset(
$aInfo['iPercentage']) && $aInfo['iPercentage'] < 100)
        {
            
$this->call('setTimeout("processJob('.$this->get('iJobId').')",3000);');
        }
        else
        {
            
$this->call('jobCompleted();');
        }
        
        
$this->html('#progress'Phpfox::getPhrase('mail.batch_number_completed_percentage', array('page_number' => $aInfo['page_number'], 'percentage' => $aInfo['iPercentage'])));
    }

    public function 
getInactiveMembersCount()
    {        
        
$iCount Phpfox::getService('user')->getInactiveMembersCount($this->get('iDays'));
        
$this->html('#progress'Phpfox::getPhrase('user.there_are_a_total_of_icount_inactive_members', array('iCount' => $iCount)));
    }    
}

?>
Онлайн: 1
Реклама