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

0001 <?php
0002 
0003 /**
0004  * ocs-fileserver
0005  *
0006  * Copyright 2016 by pling GmbH.
0007  *
0008  * This file is part of ocs-fileserver.
0009  *
0010  * ocs-fileserver is free software: you can redistribute it and/or modify
0011  * it under the terms of the GNU Affero General Public License as published by
0012  * the Free Software Foundation, either version 3 of the License, or
0013  * (at your option) any later version.
0014  *
0015  * ocs-fileserver 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 Foobar.  If not, see <http://www.gnu.org/licenses/>.
0022  **/
0023 
0024 class table_files_downloaded_unique extends BaseModel
0025 {
0026 
0027     public function __construct(&$db)
0028     {
0029         parent::__construct($db, $db->getTableConfig());
0030         $this->setName('files_downloaded_unique');
0031         $this->setPrimaryInsert(true);
0032         $this->setInsertIgnore(true);
0033     }
0034 
0035     public function __set($key, $value)
0036     {
0037         $value = $this->_convertArrayToObject($value);
0038         unset($value->id);
0039         if(empty($value->referer)) {
0040             $value->referer = $this->_getReferer();
0041         }
0042         $value->downloaded_timestamp = $this->_getTimestamp();
0043         $value->downloaded_ip = $this->_getIp();
0044         parent::__set($key, $value);
0045     }
0046 
0047     public function deleteByCollectionId($collectionId)
0048     {
0049         $primary = $this->getPrimary();
0050         $this->setPrimary('collection_id');
0051         unset($this->$collectionId);
0052         $this->setPrimary($primary);
0053     }
0054 
0055     public function deleteByFileId($fileId)
0056     {
0057         $primary = $this->getPrimary();
0058         $this->setPrimary('file_id');
0059         unset($this->$fileId);
0060         $this->setPrimary($primary);
0061     }
0062 
0063 }