File indexing completed on 2025-02-09 07:14:35

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: 04.01.2019
0024  */
0025 class Default_Model_DbTable_SuspicionLog extends Zend_Db_Table_Abstract
0026 {
0027 
0028     protected $_name = "suspicion_log";
0029 
0030     /**
0031      * @param Zend_Db_Table_Row_Abstract   $newProject
0032      * @param stdClass                     $authMember
0033      * @param Zend_Controller_Request_Http $getRequest
0034      *
0035      * @return int
0036      * @throws Zend_Db_Adapter_Exception
0037      */
0038     public static function logProject($newProject, $authMember, $getRequest)
0039     {
0040         $suspicious = Default_Model_Spam::hasSpamMarkers($newProject->toArray());
0041         $data = array(
0042             'project_id'   => $newProject->project_id,
0043             'member_id'    => $authMember->member_id,
0044             'http_referer' => $getRequest->getServer('HTTP_REFERER'),
0045             'http_origin'  => $getRequest->getServer('HTTP_ORIGIN'),
0046             'client_ip'    => $getRequest->getClientIp($checkProxy = true),
0047             'user_agent'   => $getRequest->getServer('HTTP_USER_AGENT'),
0048             'suspicious'   => $suspicious ? 1 : 0
0049         );
0050 
0051         return Zend_Db_Table::getDefaultAdapter()->insert('suspicion_log', $data);
0052     }
0053 
0054 }