|
1
|
|
|
<?php |
|
2
|
|
|
/** |
|
3
|
|
|
* TDMDownload |
|
4
|
|
|
* |
|
5
|
|
|
* You may not change or alter any portion of this comment or credits |
|
6
|
|
|
* of supporting developers from this source code or any supporting source code |
|
7
|
|
|
* which is considered copyrighted (c) material of the original comment or credit authors. |
|
8
|
|
|
* This program is distributed in the hope that it will be useful, |
|
9
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
10
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
11
|
|
|
* |
|
12
|
|
|
* @copyright Gregory Mage (Aka Mage) |
|
13
|
|
|
* @license GNU GPL 2 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html) |
|
14
|
|
|
* @author Gregory Mage (Aka Mage) |
|
15
|
|
|
*/ |
|
16
|
|
|
|
|
17
|
|
|
if (!defined("XOOPS_ROOT_PATH")) { |
|
18
|
|
|
die("XOOPS root path not defined"); |
|
19
|
|
|
} |
|
20
|
|
|
|
|
21
|
|
|
class TDMDownloads_mod extends XoopsObject |
|
22
|
|
|
{ |
|
23
|
|
|
// constructor |
|
24
|
|
|
public function __construct() |
|
25
|
|
|
{ |
|
26
|
|
|
$this->initVar("requestid",XOBJ_DTYPE_INT,null,false,11); |
|
27
|
|
|
$this->initVar("lid",XOBJ_DTYPE_INT,null,false,11); |
|
28
|
|
|
$this->initVar("cid",XOBJ_DTYPE_INT,null,false,5); |
|
29
|
|
|
$this->initVar("title",XOBJ_DTYPE_TXTBOX, null, false); |
|
30
|
|
|
$this->initVar("url",XOBJ_DTYPE_TXTBOX, null, false); |
|
31
|
|
|
$this->initVar("homepage",XOBJ_DTYPE_TXTBOX, null, false); |
|
32
|
|
|
$this->initVar("version",XOBJ_DTYPE_TXTBOX, null, false); |
|
33
|
|
|
$this->initVar("size",XOBJ_DTYPE_TXTBOX, null, false); |
|
34
|
|
|
$this->initVar("platform",XOBJ_DTYPE_TXTBOX, null, false); |
|
35
|
|
|
$this->initVar("logourl",XOBJ_DTYPE_TXTBOX, null, false); |
|
36
|
|
|
$this->initVar("description",XOBJ_DTYPE_TXTAREA, null, false); |
|
37
|
|
|
// Pour autoriser le html |
|
38
|
|
|
$this->initVar('dohtml', XOBJ_DTYPE_INT, 1, false); |
|
39
|
|
|
$this->initVar("modifysubmitter",XOBJ_DTYPE_INT,null,false,11); |
|
40
|
|
|
} |
|
41
|
|
|
|
|
42
|
|
|
public function TDMDownloads_mod($lid) |
|
|
|
|
|
|
43
|
|
|
{ |
|
44
|
|
|
$this->__construct(); |
|
45
|
|
|
} |
|
46
|
|
|
public function get_new_enreg() |
|
47
|
|
|
{ |
|
48
|
|
|
global $xoopsDB; |
|
49
|
|
|
$new_enreg = $xoopsDB->getInsertId(); |
|
50
|
|
|
|
|
51
|
|
|
return $new_enreg; |
|
52
|
|
|
} |
|
53
|
|
|
public function getForm($lid, $erreur, $donnee = array(), $action = false) |
|
54
|
|
|
{ |
|
55
|
|
|
global $xoopsDB, $xoopsModule, $xoopsModuleConfig, $xoopsUser; |
|
56
|
|
|
if ($action === false) { |
|
57
|
|
|
$action = $_SERVER['REQUEST_URI']; |
|
58
|
|
|
} |
|
59
|
|
|
$groups = is_object($xoopsUser) ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS; |
|
60
|
|
|
$gperm_handler = xoops_gethandler('groupperm'); |
|
61
|
|
|
$perm_upload = ($gperm_handler->checkRight('tdmdownloads_ac', 32, $groups, $xoopsModule->getVar('mid'))) ? true : false ; |
|
62
|
|
|
//appel des class |
|
63
|
|
|
$downloads_Handler = xoops_getModuleHandler('tdmdownloads_downloads', 'TDMDownloads'); |
|
64
|
|
|
$downloadscat_Handler = xoops_getModuleHandler('tdmdownloads_cat', 'TDMDownloads'); |
|
|
|
|
|
|
65
|
|
|
|
|
66
|
|
|
$view_downloads = $downloads_Handler->get($lid); |
|
67
|
|
|
include_once(XOOPS_ROOT_PATH."/class/xoopsformloader.php"); |
|
68
|
|
|
|
|
69
|
|
|
// affectation des variables |
|
70
|
|
|
if ($erreur == true) { |
|
71
|
|
|
$d_title = $donnee['title']; |
|
72
|
|
|
$d_cid = $donnee['cid']; |
|
73
|
|
|
$d_homepage = $donnee['homepage']; |
|
74
|
|
|
$d_version = $donnee['version']; |
|
75
|
|
|
$d_size = $donnee['size']; |
|
|
|
|
|
|
76
|
|
|
$d_platform = $donnee['platform']; |
|
77
|
|
|
$d_description = $donnee['description']; |
|
78
|
|
|
} else { |
|
79
|
|
|
$d_title = $view_downloads->getVar('title'); |
|
80
|
|
|
$d_cid = $view_downloads->getVar('cid'); |
|
81
|
|
|
$d_homepage = $view_downloads->getVar('homepage'); |
|
82
|
|
|
$d_version = $view_downloads->getVar('version'); |
|
83
|
|
|
$d_size = $view_downloads->getVar('size'); |
|
84
|
|
|
$d_platform = $view_downloads->getVar('platform'); |
|
85
|
|
|
$d_description = $view_downloads->getVar('description', 'e'); |
|
86
|
|
|
} |
|
87
|
|
|
|
|
88
|
|
|
//nom du formulaire |
|
89
|
|
|
$title = sprintf(_AM_TDMDOWNLOADS_FORMEDIT); |
|
90
|
|
|
|
|
91
|
|
|
//cr�ation du formulaire |
|
92
|
|
|
$form = new XoopsThemeForm($title, 'form', $action, 'post', true); |
|
93
|
|
|
$form->setExtra('enctype="multipart/form-data"'); |
|
94
|
|
|
//titre |
|
95
|
|
|
$form->addElement(new XoopsFormText(_AM_TDMDOWNLOADS_FORMTITLE, 'title', 50, 255, $d_title), true); |
|
96
|
|
|
// fichier |
|
97
|
|
|
$fichier = new XoopsFormElementTray(_AM_TDMDOWNLOADS_FORMFILE,'<br /><br />'); |
|
98
|
|
|
$url = $view_downloads->getVar('url'); |
|
99
|
|
|
$formurl = new XoopsFormText(_AM_TDMDOWNLOADS_FORMURL, 'url', 75, 255, $url); |
|
100
|
|
|
$fichier->addElement($formurl,false); |
|
101
|
|
|
if ($perm_upload == true) { |
|
|
|
|
|
|
102
|
|
|
$fichier->addElement(new XoopsFormFile(_AM_TDMDOWNLOADS_FORMUPLOAD , 'attachedfile', $xoopsModuleConfig['maxuploadsize']), false); |
|
103
|
|
|
} |
|
104
|
|
|
$form->addElement($fichier); |
|
105
|
|
|
|
|
106
|
|
|
//cat�gorie |
|
107
|
|
|
$downloadscat_Handler = xoops_getModuleHandler('tdmdownloads_cat', 'TDMDownloads'); |
|
108
|
|
|
$categories = TDMDownloads_MygetItemIds('tdmdownloads_submit', 'TDMDownloads'); |
|
109
|
|
|
$criteria = new CriteriaCompo(); |
|
110
|
|
|
$criteria->setSort('cat_weight ASC, cat_title'); |
|
111
|
|
|
$criteria->setOrder('ASC'); |
|
112
|
|
|
if ($xoopsUser) { |
|
113
|
|
|
if ( !$xoopsUser->isAdmin($xoopsModule->mid()) ) { |
|
114
|
|
|
$criteria->add(new Criteria('cat_cid', '(' . implode(',', $categories) . ')','IN')); |
|
115
|
|
|
} |
|
116
|
|
|
} else { |
|
117
|
|
|
$criteria->add(new Criteria('cat_cid', '(' . implode(',', $categories) . ')','IN')); |
|
118
|
|
|
} |
|
119
|
|
|
$downloadscat_arr = $downloadscat_Handler->getall($criteria); |
|
120
|
|
|
if (count($downloadscat_arr) == 0) { |
|
121
|
|
|
redirect_header('index.php', 2, _NOPERM); |
|
122
|
|
|
} |
|
123
|
|
|
$mytree = new XoopsObjectTree($downloadscat_arr, 'cat_cid', 'cat_pid'); |
|
124
|
|
|
$form->addElement($mytree->makeSelectElement('cid', 'cat_title', '--', $d_cid, true, 0, '', _AM_TDMDOWNLOADS_FORMINCAT), true); |
|
125
|
|
|
|
|
126
|
|
|
//affichage des champs |
|
127
|
|
|
$downloadsfield_Handler = xoops_getModuleHandler('tdmdownloads_field', 'TDMDownloads'); |
|
128
|
|
|
$criteria = new CriteriaCompo(); |
|
129
|
|
|
$criteria->setSort('weight ASC, title'); |
|
130
|
|
|
$criteria->setOrder('ASC'); |
|
131
|
|
|
$downloads_field = $downloadsfield_Handler->getall($criteria); |
|
132
|
|
|
foreach (array_keys($downloads_field) as $i) { |
|
133
|
|
|
if ($downloads_field[$i]->getVar('status_def') == 1) { |
|
134
|
|
|
if ($downloads_field[$i]->getVar('fid') == 1) { |
|
135
|
|
|
//page d'accueil |
|
136
|
|
|
if ($downloads_field[$i]->getVar('status') == 1) { |
|
137
|
|
|
$form->addElement(new XoopsFormText(_AM_TDMDOWNLOADS_FORMHOMEPAGE, 'homepage', 50, 255, $d_homepage)); |
|
138
|
|
|
} else { |
|
139
|
|
|
$form->addElement(new XoopsFormHidden('homepage', '')); |
|
140
|
|
|
} |
|
141
|
|
|
} |
|
142
|
|
|
if ($downloads_field[$i]->getVar('fid') == 2) { |
|
143
|
|
|
//version |
|
144
|
|
|
if ($downloads_field[$i]->getVar('status') == 1) { |
|
145
|
|
|
$form->addElement(new XoopsFormText(_AM_TDMDOWNLOADS_FORMVERSION, 'version', 10, 255, $d_version)); |
|
146
|
|
|
} else { |
|
147
|
|
|
$form->addElement(new XoopsFormHidden('version', '')); |
|
148
|
|
|
} |
|
149
|
|
|
} |
|
150
|
|
|
if ($downloads_field[$i]->getVar('fid') == 3) { |
|
151
|
|
|
//taille du fichier |
|
152
|
|
|
/*if ($downloads_field[$i]->getVar('status') == 1) { |
|
153
|
|
|
$form->addElement(new XoopsFormText(_AM_TDMDOWNLOADS_FORMSIZE, 'size', 10, 255, $d_size)); |
|
154
|
|
|
} else { |
|
155
|
|
|
$form->addElement(new XoopsFormHidden('size', '')); |
|
156
|
|
|
}*/ |
|
157
|
|
|
|
|
158
|
|
|
if ($downloads_field[$i]->getVar('status') == 1) { |
|
159
|
|
|
$size_value_arr = explode(' ', $view_downloads->getVar('size')); |
|
160
|
|
|
$size_value = $size_value_arr[0]; |
|
161
|
|
|
if ($erreur == false) { |
|
162
|
|
|
$type_value = $size_value_arr[1]; |
|
163
|
|
|
} else { |
|
164
|
|
|
$type_value = $donnee['type_size']; |
|
165
|
|
|
} |
|
166
|
|
|
$aff_size = new XoopsFormElementTray(_AM_TDMDOWNLOADS_FORMSIZE,''); |
|
167
|
|
|
$aff_size->addElement(new XoopsFormText('', 'size', 10, 255, $size_value)); |
|
168
|
|
|
$type = new XoopsFormSelect('', 'type_size', $type_value); |
|
169
|
|
|
//$type_arr = array('[o]' => _AM_TDMDOWNLOADS_BYTES, '[Ko]' => _AM_TDMDOWNLOADS_KBYTES, '[Mo]' => _AM_TDMDOWNLOADS_MBYTES, '[Go]' => _AM_TDMDOWNLOADS_GBYTES, '[To]' => _AM_TDMDOWNLOADS_TBYTES); |
|
170
|
|
|
$type_arr = array(_AM_TDMDOWNLOADS_BYTES => '['._AM_TDMDOWNLOADS_BYTES.']', _AM_TDMDOWNLOADS_KBYTES => '['._AM_TDMDOWNLOADS_KBYTES.']', _AM_TDMDOWNLOADS_MBYTES => '['._AM_TDMDOWNLOADS_MBYTES.']', _AM_TDMDOWNLOADS_GBYTES => '['._AM_TDMDOWNLOADS_GBYTES.']', _AM_TDMDOWNLOADS_TBYTES => '['._AM_TDMDOWNLOADS_TBYTES.']'); |
|
171
|
|
|
$type->addOptionArray($type_arr); |
|
172
|
|
|
$aff_size->addElement($type); |
|
173
|
|
|
$form->addElement($aff_size); |
|
174
|
|
|
|
|
175
|
|
|
} else { |
|
176
|
|
|
$form->addElement(new XoopsFormHidden('size', '')); |
|
177
|
|
|
$form->addElement(new XoopsFormHidden('type_size', '')); |
|
178
|
|
|
} |
|
179
|
|
|
} |
|
180
|
|
|
if ($downloads_field[$i]->getVar('fid') == 4) { |
|
181
|
|
|
//plateforme |
|
182
|
|
|
if ($downloads_field[$i]->getVar('status') == 1) { |
|
183
|
|
|
$platformselect = new XoopsFormSelect(_AM_TDMDOWNLOADS_FORMPLATFORM, 'platform', explode('|',$d_platform), 5, true); |
|
184
|
|
|
$platform_array = explode('|',$xoopsModuleConfig['platform']); |
|
185
|
|
|
foreach ($platform_array as $platform) { |
|
186
|
|
|
$platformselect->addOption("$platform", $platform); |
|
187
|
|
|
} |
|
188
|
|
|
$form->addElement($platformselect, false); |
|
189
|
|
|
//$form->addElement(new XoopsFormText(_AM_TDMDOWNLOADS_FORMPLATFORM, 'platform', 50, 255, $d_platform)); |
|
190
|
|
|
} else { |
|
191
|
|
|
$form->addElement(new XoopsFormHidden('platform', '')); |
|
192
|
|
|
} |
|
193
|
|
|
} |
|
194
|
|
|
} else { |
|
195
|
|
|
$contenu = ''; |
|
196
|
|
|
$nom_champ = 'champ' . $downloads_field[$i]->getVar('fid'); |
|
197
|
|
|
$downloadsfielddata_Handler = xoops_getModuleHandler('tdmdownloads_fielddata', 'TDMDownloads'); |
|
198
|
|
|
$criteria = new CriteriaCompo(); |
|
199
|
|
|
$criteria->add(new Criteria('lid', $view_downloads->getVar('lid'))); |
|
200
|
|
|
$criteria->add(new Criteria('fid', $downloads_field[$i]->getVar('fid'))); |
|
201
|
|
|
$downloadsfielddata = $downloadsfielddata_Handler->getall($criteria); |
|
202
|
|
|
foreach (array_keys($downloadsfielddata) as $j) { |
|
203
|
|
|
if ($erreur == true) { |
|
204
|
|
|
$contenu = $donnee[$nom_champ]; |
|
205
|
|
|
} else { |
|
206
|
|
|
$contenu = $downloadsfielddata[$j]->getVar('data'); |
|
207
|
|
|
} |
|
208
|
|
|
} |
|
209
|
|
|
if ($downloads_field[$i]->getVar('status') == 1) { |
|
210
|
|
|
$form->addElement(new XoopsFormText($downloads_field[$i]->getVar('title'), $nom_champ, 50, 255, $contenu)); |
|
211
|
|
|
} else { |
|
212
|
|
|
$form->addElement(new XoopsFormHidden($nom_champ, '')); |
|
213
|
|
|
} |
|
214
|
|
|
} |
|
215
|
|
|
} |
|
216
|
|
|
//description |
|
217
|
|
|
$editor_configs=array(); |
|
218
|
|
|
$editor_configs["name"] ="description"; |
|
219
|
|
|
$editor_configs["value"] = $d_description; |
|
220
|
|
|
$editor_configs["rows"] = 20; |
|
221
|
|
|
$editor_configs["cols"] = 60; |
|
222
|
|
|
$editor_configs["width"] = "100%"; |
|
223
|
|
|
$editor_configs["height"] = "400px"; |
|
224
|
|
|
$editor_configs["editor"] = $xoopsModuleConfig['editor']; |
|
225
|
|
|
$form->addElement( new XoopsFormEditor(_AM_TDMDOWNLOADS_FORMTEXTDOWNLOADS, "description", $editor_configs), true); |
|
226
|
|
|
//image |
|
227
|
|
|
if ($xoopsModuleConfig['useshots']) { |
|
228
|
|
|
$uploaddir = XOOPS_ROOT_PATH . '/uploads/TDMDownloads/images/shots/' . $view_downloads->getVar('logourl'); |
|
229
|
|
|
$downloadscat_img = $view_downloads->getVar('logourl') ? $view_downloads->getVar('logourl') : 'blank.gif'; |
|
230
|
|
|
$uploadirectory='/uploads/TDMDownloads/images/shots'; |
|
231
|
|
|
if (!is_file($uploaddir)) { |
|
232
|
|
|
$downloadscat_img = 'blank.gif'; |
|
233
|
|
|
} |
|
234
|
|
|
$imgtray = new XoopsFormElementTray(_AM_TDMDOWNLOADS_FORMIMG,'<br />'); |
|
235
|
|
|
$imgpath=sprintf(_AM_TDMDOWNLOADS_FORMPATH, $uploadirectory ); |
|
236
|
|
|
$imageselect= new XoopsFormSelect($imgpath, 'logo_img',$downloadscat_img); |
|
237
|
|
|
$topics_array = XoopsLists :: getImgListAsArray( XOOPS_ROOT_PATH . $uploadirectory ); |
|
238
|
|
|
foreach ($topics_array as $image) { |
|
239
|
|
|
$imageselect->addOption("$image", $image); |
|
240
|
|
|
} |
|
241
|
|
|
$imageselect->setExtra( "onchange='showImgSelected(\"image3\", \"logo_img\", \"" . $uploadirectory . "\", \"\", \"" . XOOPS_URL . "\")'" ); |
|
242
|
|
|
$imgtray->addElement($imageselect,false); |
|
243
|
|
|
$imgtray -> addElement( new XoopsFormLabel( '', "<br /><img src='" . XOOPS_URL . "/" . $uploadirectory . "/" . $downloadscat_img . "' name='image3' id='image3' alt='' />" ) ); |
|
244
|
|
|
$fileseltray= new XoopsFormElementTray('','<br />'); |
|
245
|
|
|
if ($perm_upload == true) { |
|
|
|
|
|
|
246
|
|
|
$fileseltray->addElement(new XoopsFormFile(_AM_TDMDOWNLOADS_FORMUPLOAD , 'attachedimage', $xoopsModuleConfig['maxuploadsize']), false); |
|
247
|
|
|
} |
|
248
|
|
|
$imgtray->addElement($fileseltray); |
|
249
|
|
|
$form->addElement($imgtray); |
|
250
|
|
|
} |
|
251
|
|
|
$form->addElement(new XoopsFormCaptcha(), true); |
|
252
|
|
|
$form->addElement(new XoopsFormHidden('lid', $lid)); |
|
253
|
|
|
//pour enregistrer le formulaire |
|
254
|
|
|
$form->addElement(new XoopsFormHidden('op', 'save')); |
|
255
|
|
|
//bouton d'envoi du formulaire |
|
256
|
|
|
$form->addElement(new XoopsFormButton('', 'submit', _SUBMIT, 'submit')); |
|
257
|
|
|
|
|
258
|
|
|
return $form; |
|
259
|
|
|
} |
|
260
|
|
|
} |
|
261
|
|
|
|
|
262
|
|
|
class TDMDownloadstdmdownloads_modHandler extends XoopsPersistableObjectHandler |
|
263
|
|
|
{ |
|
264
|
|
|
public function __construct(&$db) |
|
265
|
|
|
{ |
|
266
|
|
|
parent::__construct($db, "tdmdownloads_mod", 'tdmdownloads_mod', 'requestid', 'lid'); |
|
267
|
|
|
} |
|
268
|
|
|
} |
|
269
|
|
|
|
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.