File indexing completed on 2024-06-16 05:27:02

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 class Default_Model_DbTable_ReportProducts extends Local_Model_Table
0024 {
0025 
0026     protected $_name = "reports_project";
0027 
0028     protected $_keyColumnsForRow = array('report_id');
0029 
0030     protected $_key = 'report_id';
0031 
0032     protected $_defaultValues = array(
0033         'report_id'   => null,
0034         'report_type' => null,
0035         'project_id'  => null,
0036         'reported_by' => null,
0037         'text'        => null,
0038         'is_deleted'  => null,
0039         'is_valid'    => null,
0040         'created_at'  => null
0041     );
0042 
0043     public function setDelete($reportId)
0044     {
0045         $updateValues = array(
0046             'is_deleted' => 1,
0047         );
0048 
0049         $this->update($updateValues, 'report_id=' . $reportId);
0050     }
0051 
0052     public function setDeleteByMember($member_id)
0053     {
0054         $updateValues = array(
0055             'is_deleted' => 1,
0056         );
0057 
0058         $this->update($updateValues, 'reported_by=' . $member_id);
0059     }
0060 
0061     public function countMisuseForProject($project_id)
0062     {
0063         $q = $this->select()->where('project_id = ?', $project_id)->where('report_type = ?', 1)->where('is_deleted = ?', 0);
0064 
0065         return count($q->query()->fetchAll());
0066     }
0067 
0068     public function countSpamForProject($project_id)
0069     {
0070         $q = $this->select()->where('project_id = ?', $project_id)->where('report_type = ?', 0)->where('is_deleted = ?', 0);
0071 
0072         return count($q->query()->fetchAll());
0073     }
0074 
0075 
0076 }