123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <?php
- ////////////////////////////////////////////////////////////////////////////////
- // Copyright (C) ReloadCMS Development Team //
- // http://reloadcms.sf.net //
- // //
- // This program is distributed in the hope that it will be useful, //
- // but WITHOUT ANY WARRANTY, without even the implied warranty of //
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. //
- // //
- // This product released under GNU General Public License v2 //
- ////////////////////////////////////////////////////////////////////////////////
- define('DOWNLOADS_DATAFILE', DF_PATH . 'downloads.dat');
- class linksdb {
- var $file = '';
- var $data = array();
- public function __construct($file) {
- $this->file = $file;
- if (is_readable($file) && $data = unserialize(file_get_contents($file)))
- $this->data = $data;
- else
- $this->data = array();
- }
- function createCategory($name, $desc, $level = 0) {
- if (empty($name))
- return false;
- $this->data[] = array('name' => $name, 'desc' => $desc, 'files' => array(), 'accesslevel' => $level);
- return true;
- }
- function updateCategory($id, $name, $desc, $level = 0) {
- if (empty($name))
- return false;
- if (empty($this->data[$id]))
- return false;
- $this->data[$id]['name'] = $name;
- $this->data[$id]['desc'] = $desc;
- $this->data[$id]['accesslevel'] = $level;
- return true;
- }
- function deleteCategory($id) {
- if (!isset($this->data[$id]))
- return false;
- unset($this->data[$id]);
- return true;
- }
- function createFile($cid, $name, $desc, $link, $size, $author) {
- if (empty($name))
- return false;
- if (empty($this->data[$cid]))
- return false;
- $this->data[$cid]['files'][] = array('name' => $name, 'desc' => $desc, 'link' => $link, 'size' => $size, 'date' => rcms_get_time(), 'author' => $author, 'count' => 0);
- return true;
- }
- function updateFile($cid, $fid, $name, $desc, $link, $size, $author) {
- if (empty($name))
- return false;
- if (empty($this->data[$cid]))
- return false;
- if (empty($this->data[$cid]['files'][$fid]))
- return false;
- $this->data[$cid]['files'][$fid]['name'] = $name;
- $this->data[$cid]['files'][$fid]['desc'] = $desc;
- $this->data[$cid]['files'][$fid]['link'] = $link;
- $this->data[$cid]['files'][$fid]['size'] = $size;
- $this->data[$cid]['files'][$fid]['author'] = $author;
- return true;
- }
- function deleteFile($cid, $fid) {
- if (empty($this->data[$cid]))
- return false;
- unset($this->data[$cid]['files'][$fid]);
- return true;
- }
- function getLastFiles($cnt) {
- global $system;
- $files = array();
- foreach ($this->data as $cid => $cdata) {
- if (@$cdata['accesslevel'] <= @$system->user['accesslevel'] || $system->checkForRight('-any-')) {
- foreach ($cdata['files'] as $fid => $fdata) {
- $files[$cid . '.' . $fid] = $fdata['date'];
- }
- }
- }
- natsort($files);
- $files = array_slice($files, -10);
- $return = array();
- foreach ($files as $id => $date) {
- $return[] = explode('.', $id);
- }
- return $return;
- }
- function close() {
- $res = array();
- foreach ($this->data as $key => $value)
- if (!empty($value))
- $res[$key] = $value;
- if (!($data = serialize($res)))
- return false;
- if (!(file_write_contents($this->file, $data)))
- return false;
- $this->file = '';
- $this->data = array();
- return true;
- }
- }
- ?>
|