1: <?php defined('_JOOS_CORE') or exit();
2:
3: /**
4: * Работа с вложениями, загрузками, аттачами
5: *
6: * @version 1.0
7: * @package Core\Libraries
8: * @subpackage Attached
9: * @category Libraries
10: * @author Joostina Team <info@joostina.ru>
11: * @copyright (C) 2007-2012 Joostina Team
12: * @license MIT License http://www.opensource.org/licenses/mit-license.php
13: * Информация об авторах и лицензиях стороннего кода в составе Joostina CMS: docs/copyrights
14: *
15: * */
16: class joosAttached extends joosModel
17: {
18: /**
19: * @var int(11) unsigned
20: */
21: public $id;
22: /**
23: * @var timestamp
24: */
25: public $created_at;
26: /**
27: * @var int(11) unsigned
28: */
29: public $user_id;
30: /**
31: * @var varchar(200)
32: */
33: public $file_name;
34: /**
35: * @var varchar(25)
36: */
37: public $file_ext;
38: /**
39: * @var varchar(50)
40: */
41: public $file_mime;
42: /**
43: * @var int(11) unsigned
44: */
45: public $file_size;
46:
47: /*
48: * Constructor
49: */
50: public function __construct()
51: {
52: parent::__construct('#__attached', 'id');
53: }
54:
55: /**
56: * Загрузка данных по номеру файла
57: *
58: * @param int $id - номер файла
59: *
60: * @return joosAttached
61: */
62: public static function file($id)
63: {
64: $file = new self;
65: $file->load($id);
66:
67: return $file;
68: }
69:
70: /**
71: * Добавление информации о файле в базу данных
72: *
73: * @param string $filename полный путь к файлу
74: *
75: * @return self
76: */
77: public static function add($filename)
78: {
79: $filedata = joosFile::file_info($filename);
80:
81: $attached_obj = new self;
82:
83: $attached_obj->user_id = joosCore::user()->id;
84: $attached_obj->file_ext = $filedata['ext'];
85: $attached_obj->file_mime = $filedata['mime'];
86: $attached_obj->file_name = $filedata['name'];
87: $attached_obj->file_size = $filedata['size'];
88:
89: $attached_obj->store();
90:
91: return $attached_obj;
92: }
93:
94: }
95: