File indexing completed on 2024-12-22 05:33:32

0001 <?php
0002 
0003 /**
0004  *  ocs-webserver
0005  *
0006  *  Copyright 2016 by pling GmbH.
0007  *
0008  *    This file is part of ocs-webserver.
0009  *
0010  *    This program is free software: you can redistribute it and/or modify
0011  *    it under the terms of the GNU Affero General Public License as
0012  *    published by the Free Software Foundation, either version 3 of the
0013  *    License, or (at your option) any later version.
0014  *
0015  *    This program is distributed in the hope that it will be useful,
0016  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
0017  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0018  *    GNU Affero General Public License for more details.
0019  *
0020  *    You should have received a copy of the GNU Affero General Public License
0021  *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0022  *
0023  * Created: 30.11.2018
0024  */
0025 class LoginController extends Local_Controller_Action_DomainSwitch
0026 {
0027 
0028     public function setthemeAction()
0029     {
0030         $this->_helper->layout()->disableLayout();
0031         //$this->_helper->viewRenderer->setNoRender(true);
0032 
0033     }
0034 
0035     public function setAction()
0036     {
0037         $this->_helper->layout()->disableLayout();
0038         //$this->_helper->viewRenderer->setNoRender(true);
0039 
0040     }
0041 
0042     public function fpAction()
0043     {
0044         $this->_helper->layout()->disableLayout();
0045         $this->_helper->viewRenderer->setNoRender(true);
0046 
0047         $fp = stripslashes(trim($this->getParam('fp')));
0048         $ip4 = filter_var(stripslashes(trim($this->getParam('ipv4'))), FILTER_VALIDATE_IP);
0049         $ip6 = filter_var(stripslashes(trim($this->getParam('ipv6'))), FILTER_VALIDATE_IP);
0050         $hash = sha1($fp.$ip4.$ip6);
0051         $request_ip = $this->getRequest()->getClientIp();
0052         $namespace = new Zend_Session_Namespace();
0053 
0054         if ($namespace->stat_hash === $hash) {
0055             $this->_helper->json(array('status' => 'ok'));
0056 
0057             return;
0058         }
0059 
0060         $namespace->client_fp = $fp;
0061         $namespace->stat_fp = $fp;
0062         $namespace->stat_ipv4 = $ip4 ? $ip4 : null;
0063         $namespace->stat_ipv6 = $ip6 ? $ip6 : null;
0064         $namespace->stat_hash = $hash;
0065         $namespace->stat_request_ip = $request_ip;
0066         $namespace->stat_valid = true;
0067 
0068 //        foreach ($namespace->getIterator()->getArrayCopy() as $key=>$item) {
0069 //            Zend_Registry::get('logger')->debug(print_r($key, true).' => '.print_r($item,true));
0070 //        };
0071 
0072         $this->_helper->json(array('status' => 'ok'));
0073     }
0074     
0075 }