This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include
, or for example
via PHP's auto-loading mechanism.
1 | <?php |
||
2 | /** |
||
3 | * Module: WF-Links |
||
4 | * Version: v1.0.3 |
||
5 | * Release Date: 21 June 2005 |
||
6 | * Developer: John N |
||
7 | * Team: WF-Projects |
||
8 | * Licence: GNU |
||
9 | */ |
||
10 | |||
11 | use Xmf\Module\Admin; |
||
12 | use Xmf\Request; |
||
13 | use XoopsModules\Tag\FormTag; |
||
14 | use XoopsModules\Wflinks\{Helper, |
||
15 | Tree, |
||
16 | Utility |
||
17 | }; |
||
18 | |||
19 | require_once __DIR__ . '/admin_header.php'; |
||
20 | |||
21 | $mytree = new Tree($xoopsDB->prefix('wflinks_cat'), 'cid', 'pid'); |
||
22 | |||
23 | $op = \Xmf\Request::getString('op', ''); |
||
24 | $lid = \Xmf\Request::getInt('lid', 0); |
||
25 | |||
26 | /** |
||
27 | * @param int $lid |
||
28 | * @return bool|null |
||
29 | */ |
||
30 | function edit($lid = 0) |
||
31 | { |
||
32 | global $xoopsDB, $myts, $mytree, $imageArray, $xoopsConfig, $xoopsModule, $xoopsUser; |
||
33 | /** @var Helper $helper */ |
||
34 | $helper = Helper::getInstance(); |
||
35 | |||
36 | $sql = 'SELECT * FROM ' . $xoopsDB->prefix('wflinks_links') . ' WHERE lid=' . $lid; |
||
37 | if (!$result = $xoopsDB->query($sql)) { |
||
38 | /** @var \XoopsLogger $logger */ |
||
39 | $logger = \XoopsLogger::getInstance(); |
||
40 | $logger->handleError(E_USER_WARNING, $sql, __FILE__, __LINE__); |
||
41 | |||
42 | return false; |
||
43 | } |
||
44 | $link_array = $xoopsDB->fetchArray($xoopsDB->query($sql)); |
||
45 | |||
46 | $directory = $helper->getConfig('screenshots'); |
||
47 | $lid = $link_array['lid'] ?: 0; |
||
48 | $cid = $link_array['cid'] ?: 0; |
||
49 | $title = $link_array['title'] ? htmlspecialchars($link_array['title']) : ''; |
||
50 | $url = $link_array['url'] ? htmlspecialchars($link_array['url']) : 'http://'; |
||
51 | $publisher = $link_array['publisher'] ? htmlspecialchars($link_array['publisher']) : ''; |
||
52 | $submitter = $link_array['submitter'] ? htmlspecialchars($link_array['submitter']) : ''; |
||
53 | $screenshot = $link_array['screenshot'] ? htmlspecialchars($link_array['screenshot']) : ''; |
||
54 | $descriptionb = $link_array['description'] ? htmlspecialchars($link_array['description']) : ''; |
||
55 | $published = $link_array['published'] ?: time(); |
||
56 | $expired = $link_array['expired'] ?: 0; |
||
57 | $updated = $link_array['updated'] ?: 0; |
||
58 | $offline = $link_array['offline'] ?: 0; |
||
59 | $forumid = $link_array['forumid'] ?: 0; |
||
60 | $ipaddress = $link_array['ipaddress'] ?: 0; |
||
61 | $notifypub = $link_array['notifypub'] ?: 0; |
||
62 | $country = $link_array['country'] ? htmlspecialchars($link_array['country']) : '-'; |
||
63 | $keywords = $link_array['keywords'] ? htmlspecialchars($link_array['keywords']) : ''; |
||
64 | $item_tag = $link_array['item_tag'] ? htmlspecialchars($link_array['item_tag']) : ''; |
||
65 | $googlemap = $link_array['googlemap'] ? htmlspecialchars($link_array['googlemap']) : 'http://maps.google.com'; |
||
66 | $yahoomap = $link_array['yahoomap'] ? htmlspecialchars($link_array['yahoomap']) : 'http://maps.yahoo.com'; |
||
67 | $multimap = $link_array['multimap'] ? htmlspecialchars($link_array['multimap']) : 'http://www.multimap.com'; |
||
68 | $street1 = $link_array['street1'] ? htmlspecialchars($link_array['street1']) : ''; |
||
69 | $street2 = $link_array['street2'] ? htmlspecialchars($link_array['street2']) : ''; |
||
70 | $town = $link_array['town'] ? htmlspecialchars($link_array['town']) : ''; |
||
71 | $state = $link_array['state'] ? htmlspecialchars($link_array['state']) : ''; |
||
72 | $zip = $link_array['zip'] ? htmlspecialchars($link_array['zip']) : ''; |
||
73 | $tel = $link_array['tel'] ? htmlspecialchars($link_array['tel']) : ''; |
||
74 | $mobile = $link_array['mobile'] ? htmlspecialchars($link_array['mobile']) : ''; |
||
75 | $voip = $link_array['voip'] ? htmlspecialchars($link_array['voip']) : ''; |
||
76 | $fax = $link_array['fax'] ? htmlspecialchars($link_array['fax']) : ''; |
||
77 | $email = $link_array['email'] ? htmlspecialchars($link_array['email']) : ''; |
||
78 | $vat = $link_array['vat'] ? htmlspecialchars($link_array['vat']) : ''; |
||
79 | |||
80 | require_once __DIR__ . '/admin_header.php'; |
||
81 | xoops_cp_header(); |
||
82 | xoops_load('XoopsUserUtility'); |
||
83 | |||
84 | if ($lid > 0) { |
||
85 | $_vote_data = Utility::getVoteDetails($lid); |
||
86 | $text_info = "<table style='width:100%;'> |
||
87 | <tr> |
||
88 | <td width='33%' valign='top'> |
||
89 | <div><b>" . _AM_WFL_LINK_ID . ' </b>' . $lid . '</div> |
||
90 | <div><b>' . _AM_WFL_MINDEX_SUBMITTED . ': </b>' . formatTimestamp($link_array['date'], $helper->getConfig('dateformat')) . '</div> |
||
91 | <div><b>' . _AM_WFL_LINK_SUBMITTER . ' </b>' . \XoopsUserUtility::getUnameFromId($submitter) . '</div> |
||
92 | <div><b>' . _AM_WFL_LINK_IP . ' </b>' . $ipaddress . '</div> |
||
93 | <div><b>' . _AM_WFL_PAGERANK . ' </b>' . Utility::pagerank($link_array['url']) . '</div> |
||
94 | <div><b>' . _AM_WFL_HITS . ' </b>' . $link_array['hits'] . "</div> |
||
95 | |||
96 | </td> |
||
97 | <td valign='top'> |
||
98 | <div><b>" . _AM_WFL_VOTE_TOTALRATE . ': </b>' . Request::getInt('rate', 0, 'vote_data') . '</div> |
||
99 | <div><b>' . _AM_WFL_VOTE_USERAVG . ': </b>' . (int)round($_vote_data['avg_rate'], 2) . '</div> |
||
100 | <div><b>' . _AM_WFL_VOTE_MAXRATE . ': </b>' . Request::getInt('min_rate', 0, 'vote_data') . '</div> |
||
101 | <div><b>' . _AM_WFL_VOTE_MINRATE . ': </b>' . Request::getInt('max_rate', 0, 'vote_data') . "</div> |
||
102 | </td> |
||
103 | <td valign='top'> |
||
104 | <div><b>" . _AM_WFL_VOTE_MOSTVOTEDTITLE . ': </b>' . Request::getInt('max_title', 0, 'vote_data') . '</div> |
||
105 | <div><b>' . _AM_WFL_VOTE_LEASTVOTEDTITLE . ': </b>' . Request::getInt('min_title', 0, 'vote_data') . '</div> |
||
106 | <div><b>' . _AM_WFL_VOTE_REGISTERED . ': </b>' . ($_vote_data['rate'] - $_vote_data['null_ratinguser']) . '</div> |
||
107 | <div><b>' . _AM_WFL_VOTE_NONREGISTERED . ': </b>' . Request::getInt('null_ratinguser', 0, 'vote_data') . '</div> |
||
108 | </td> |
||
109 | </tr> |
||
110 | </table>'; |
||
111 | echo "<fieldset style='border: #e8e8e8 1px solid;'><legend style='display: inline; font-weight: bold; color: #0A3760;'>" . _AM_WFL_INFORMATION . "</legend>\n |
||
112 | <div style='padding: 8px;'>" . $text_info . "</div>\n |
||
113 | <!-- <div style='padding: 8px;'><li>" . $imageArray['deleteimg'] . ' ' . _AM_WFL_VOTE_DELETEDSC . "</li></div>\n --> |
||
114 | </fieldset>\n |
||
115 | <br>\n"; |
||
116 | } |
||
117 | unset($_vote_data); |
||
118 | |||
119 | $caption = $lid ? _AM_WFL_LINK_MODIFYFILE : _AM_WFL_LINK_CREATENEWFILE; |
||
120 | $sform = new \XoopsThemeForm($caption, 'storyform', xoops_getenv('SCRIPT_NAME'), 'post', true); |
||
121 | $sform->setExtra('enctype="multipart / form - data"'); |
||
122 | |||
123 | if ('' === $submitter) { |
||
124 | $sform->addElement(new \XoopsFormHidden('submitter', $submitter)); |
||
125 | } |
||
126 | |||
127 | // Link publisher form |
||
128 | if ($publisher) { |
||
129 | $sform->addElement(new \XoopsFormText(_AM_WFL_LINK_PUBLISHER, 'publisher', 70, 255, $publisher)); |
||
130 | //$sform -> addElement( new \XoopsFormHidden( 'publisher', $publisher ) ) ; |
||
131 | } else { |
||
132 | $publisher = $xoopsUser->uname(); |
||
133 | $sform->addElement(new \XoopsFormHidden('publisher', $publisher)); |
||
134 | } |
||
135 | |||
136 | // Link title form |
||
137 | $sform->addElement(new \XoopsFormText(_AM_WFL_LINK_TITLE, 'title', 70, 255, $title), true); |
||
138 | |||
139 | // Link url form |
||
140 | $url_text = new \XoopsFormText('', 'url', 70, 255, $url); |
||
141 | $url_tray = new \XoopsFormElementTray(_AM_WFL_LINK_DLURL, ''); |
||
142 | $url_tray->addElement($url_text, true); |
||
143 | $url_tray->addElement(new \XoopsFormLabel(" <img src='../assets/images/icon/world.png' onClick=\"window.open(document.storyform.url.value,'','');return(false);\" alt='Check URL'>")); |
||
144 | $sform->addElement($url_tray); |
||
145 | |||
146 | // Category form |
||
147 | ob_start(); |
||
148 | $mytree->makeMySelBox('title', 'title', $cid, 0); |
||
149 | $sform->addElement(new \XoopsFormLabel(_AM_WFL_LINK_CATEGORY, ob_get_clean())); |
||
150 | |||
151 | // Link description form |
||
152 | // $editor = Utility::getWysiwygForm( _AM_WFL_LINK_DESCRIPTION, 'descriptionb', $descriptionb, 15, 60 ); |
||
153 | // $sform -> addElement($editor, false); |
||
154 | $optionsTrayNote = new \XoopsFormElementTray(_AM_WFL_LINK_DESCRIPTION, '<br>'); |
||
155 | if (class_exists('XoopsFormEditor')) { |
||
156 | $options['name'] = 'descriptionb'; |
||
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
![]() |
|||
157 | $options['value'] = $descriptionb; |
||
158 | $options['rows'] = 5; |
||
159 | $options['cols'] = '100%'; |
||
160 | $options['width'] = '100%'; |
||
161 | $options['height'] = '200px'; |
||
162 | $descriptionb = new \XoopsFormEditor('', $helper->getConfig('form_options'), $options, $nohtml = false, $onfailure = 'textarea'); |
||
163 | $optionsTrayNote->addElement($descriptionb); |
||
164 | } else { |
||
165 | $descriptionb = new \XoopsFormDhtmlTextArea('', 'descriptionb', $item->getVar('descriptionb', 'e'), '100%', '100%'); |
||
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
166 | $optionsTrayNote->addElement($descriptionb); |
||
167 | } |
||
168 | |||
169 | $sform->addElement($optionsTrayNote, false); |
||
170 | |||
171 | // Meta keywords form |
||
172 | $keywords = new \XoopsFormTextArea(_AM_WFL_KEYWORDS, 'keywords', $keywords, 7, 60, false); |
||
173 | $keywords->setDescription('<small>' . _AM_WFL_KEYWORDS_NOTE . '</small>'); |
||
174 | $sform->addElement($keywords); |
||
175 | |||
176 | // Insert tags if Tag-module is installed |
||
177 | if (Utility::isTagModuleIncluded()) { |
||
178 | require_once XOOPS_ROOT_PATH . '/modules/tag/include/formtag.php'; |
||
179 | $text_tags = new FormTag('item_tag', 70, 255, $link_array['item_tag'], 0); |
||
180 | $sform->addElement($text_tags); |
||
181 | } else { |
||
182 | $sform->addElement(new \XoopsFormHidden('item_tag', $link_array['item_tag'])); |
||
183 | } |
||
184 | |||
185 | // Screenshot |
||
186 | $graph_array = Wflinks\Lists::getListTypeAsArray(XOOPS_ROOT_PATH . '/' . $helper->getConfig('screenshots'), $type = 'images'); |
||
187 | $indeximage_select = new \XoopsFormSelect('', 'screenshot', $screenshot); |
||
188 | $indeximage_select->addOptionArray($graph_array); |
||
189 | $indeximage_select->setExtra("onchange = 'showImgSelected(\"image\", \"screenshot\", \"" . $helper->getConfig('screenshots') . '", "", "' . XOOPS_URL . "\")'"); |
||
190 | $indeximage_tray = new \XoopsFormElementTray(_AM_WFL_LINK_SHOTIMAGE, ' '); |
||
191 | $indeximage_tray->setDescription(sprintf(_AM_WFL_LINK_MUSTBEVALID, '<b>' . $directory . '</b>')); |
||
192 | $indeximage_tray->addElement($indeximage_select); |
||
193 | if (!empty($imgurl)) { |
||
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
194 | $indeximage_tray->addElement(new \XoopsFormLabel('', " <br><br>< img src='" . XOOPS_URL . '/' . $helper->getConfig('screenshots') . '/' . $screenshot . "' name = 'image' id = 'image' alt = '' / > ")); |
||
195 | } else { |
||
196 | $indeximage_tray->addElement(new \XoopsFormLabel('', " <br><br><img src='" . XOOPS_URL . "/uploads/blank.gif' name='image' id='image' alt='' / > ")); |
||
197 | } |
||
198 | $sform->addElement($indeximage_tray); |
||
199 | |||
200 | if ($helper->getConfig('useaddress')) { |
||
201 | $sform->insertBreak(_AM_WFL_LINK_CREATEADDRESS, 'bg3'); |
||
202 | // Google Maps |
||
203 | $googlemap_text = new \XoopsFormText('', 'googlemap', 70, 1024, $googlemap); |
||
204 | $googlemap_tray = new \XoopsFormElementTray(_AM_WFL_LINK_GOOGLEMAP, ''); |
||
205 | $googlemap_tray->addElement($googlemap_text, false); |
||
206 | $googlemap_tray->addElement(new \XoopsFormLabel(" <img src='../assets/images/icon/google_map.png' onClick=\"window.open(document.storyform.googlemap.value,'','');return(false);\" alt='" . _AM_WFL_LINK_CHECKMAP . "'>")); |
||
207 | $sform->addElement($googlemap_tray); |
||
208 | // Yahoo Maps |
||
209 | $yahoomap_text = new \XoopsFormText('', 'yahoomap', 70, 1024, $yahoomap); |
||
210 | $yahoomap_tray = new \XoopsFormElementTray(_AM_WFL_LINK_YAHOOMAP, ''); |
||
211 | $yahoomap_tray->addElement($yahoomap_text, false); |
||
212 | $yahoomap_tray->addElement(new \XoopsFormLabel(" <img src='../assets/images/icon/yahoo_map.png' onClick=\"window.open(document.storyform.yahoomap.value,'','');return(false);\" alt='" . _AM_WFL_LINK_CHECKMAP . "'>")); |
||
213 | $sform->addElement($yahoomap_tray); |
||
214 | // MS Live Maps |
||
215 | $multimap_text = new \XoopsFormText('', 'multimap', 70, 1024, $multimap); |
||
216 | $multimap_tray = new \XoopsFormElementTray(_AM_WFL_LINK_MULTIMAP, ''); |
||
217 | $multimap_tray->addElement($multimap_text, false); |
||
218 | $multimap_tray->addElement(new \XoopsFormLabel(" <img src='../assets/images/icon/multimap.png' onClick=\"window.open(document.storyform.multimap.value,'','');return(false);\" alt='" . _AM_WFL_LINK_CHECKMAP . "'>")); |
||
219 | $sform->addElement($multimap_tray); |
||
220 | |||
221 | // Address |
||
222 | $street1 = new \XoopsFormText(_AM_WFL_STREET1, 'street1', 70, 255, $street1); |
||
223 | $sform->addElement($street1, false); |
||
224 | $street2 = new \XoopsFormText(_AM_WFL_STREET2, 'street2', 70, 255, $street2); |
||
225 | $sform->addElement($street2, false); |
||
226 | $town = new \XoopsFormText(_AM_WFL_TOWN, 'town', 70, 255, $town); |
||
227 | $sform->addElement($town, false); |
||
228 | $state = new \XoopsFormText(_AM_WFL_STATE, 'state', 70, 255, $state); |
||
229 | $sform->addElement($state, false); |
||
230 | $zip = new \XoopsFormText(_AM_WFL_ZIPCODE, 'zip', 25, 25, $zip); |
||
231 | $sform->addElement($zip, false); |
||
232 | $tel = new \XoopsFormText(_AM_WFL_TELEPHONE, 'tel', 25, 25, $tel); |
||
233 | $sform->addElement($tel, false); |
||
234 | $mobile = new \XoopsFormText(_AM_WFL_MOBILE, 'mobile', 25, 25, $mobile); |
||
235 | $sform->addElement($mobile, false); |
||
236 | $voip = new \XoopsFormText(_AM_WFL_VOIP, 'voip', 25, 25, $voip); |
||
237 | $sform->addElement($voip, false); |
||
238 | $fax = new \XoopsFormText(_AM_WFL_FAX, 'fax', 25, 25, $fax); |
||
239 | $sform->addElement($fax, false); |
||
240 | $email = new \XoopsFormText(_AM_WFL_EMAIL, 'email', 25, 60, $email); |
||
241 | $sform->addElement($email, false); |
||
242 | $vat = new \XoopsFormText(_AM_WFL_VAT, 'vat', 25, 25, $vat); |
||
243 | $vat->setDescription(_AM_WFL_VATWIKI); |
||
244 | $sform->addElement($vat, false); |
||
245 | // $sform -> addElement( new \XoopsFormHidden( 'vat', $link_array['vat'] ) ); /* If you don't want to use the VAT form, */ |
||
246 | /* use this line and comment-out the 3 lines above */ |
||
247 | } |
||
248 | |||
249 | // Country form |
||
250 | $country_select = new \XoopsFormSelectCountry(_AM_WFL_COUNTRY, 'country', $country); |
||
251 | $sform->addElement($country_select, false); |
||
252 | |||
253 | // Miscellaneous Link settings |
||
254 | $sform->insertBreak(_AM_WFL_LINK_MISCLINKSETTINGS, 'bg3'); |
||
255 | |||
256 | // Set Publish date |
||
257 | $sform->addElement(new \XoopsFormDateTime(_AM_WFL_LINK_SETPUBLISHDATE, 'was_published', $size = 15, $published)); |
||
258 | |||
259 | if ($lid) { |
||
260 | $sform->addElement(new \XoopsFormHidden('was_published', $published)); |
||
261 | $sform->addElement(new \XoopsFormHidden('was_expired', $expired)); |
||
262 | } |
||
263 | |||
264 | // Set Expire date |
||
265 | $isexpired = ($expired > time()) ? 1 : 0; |
||
266 | $expiredates = ($expired > time()) ? _AM_WFL_LINK_EXPIREDATESET . formatTimestamp($expired, $helper->getConfig('dateformat')) : _AM_WFL_LINK_SETDATETIMEEXPIRE; |
||
267 | $warning = ($published > $expired && $expired > time()) ? _AM_WFL_LINK_EXPIREWARNING : ''; |
||
268 | $expiredate_checkbox = new \XoopsFormCheckBox('', 'expiredateactivate', $isexpired); |
||
269 | $expiredate_checkbox->addOption(1, $expiredates . ' <br> <br> '); |
||
270 | |||
271 | $expiredate_tray = new \XoopsFormElementTray(_AM_WFL_LINK_EXPIREDATE . $warning, ''); |
||
272 | $expiredate_tray->addElement($expiredate_checkbox); |
||
273 | $expiredate_tray->addElement(new \XoopsFormDateTime(_AM_WFL_LINK_SETEXPIREDATE . ' <br> ', 'expired', 15, $expired)); |
||
274 | $expiredate_tray->addElement(new \XoopsFormRadioYN(_AM_WFL_LINK_CLEAREXPIREDATE, 'clearexpire', 0, ' ' . _YES . '', ' ' . _NO . '')); |
||
275 | $sform->addElement($expiredate_tray); |
||
276 | |||
277 | // Set Link offline |
||
278 | $linkstatus_radio = new \XoopsFormRadioYN(_AM_WFL_LINK_FILESSTATUS, 'offline', $offline, ' ' . _YES . '', ' ' . _NO . ''); |
||
279 | $sform->addElement($linkstatus_radio); |
||
280 | |||
281 | // Set Link updated |
||
282 | $up_dated = (0 == $updated) ? 0 : 1; |
||
283 | $link_updated_radio = new \XoopsFormRadioYN(_AM_WFL_LINK_SETASUPDATED, 'up_dated', $up_dated, ' ' . _YES . '', ' ' . _NO . ''); |
||
284 | $sform->addElement($link_updated_radio); |
||
285 | |||
286 | $result = $xoopsDB->query('SELECT COUNT( * ) FROM ' . $xoopsDB->prefix('wflinks_broken') . ' WHERE lid = ' . $lid); |
||
287 | list($broken_count) = $xoopsDB->fetchRow($result); |
||
288 | if ($broken_count > 0) { |
||
289 | $link_updated_radio = new \XoopsFormRadioYN(_AM_WFL_LINK_DELEDITMESS, 'delbroken', 1, ' ' . _YES . '', ' ' . _NO . ''); |
||
290 | $sform->addElement($link_updated_radio); |
||
291 | } |
||
292 | |||
293 | // Select forum |
||
294 | ob_start(); |
||
295 | Wflinks\Lists::getForum($helper->getConfig('selectforum'), $forumid); |
||
296 | $sform->addElement(new \XoopsFormLabel(_AM_WFL_LINK_DISCUSSINFORUM, ob_get_clean())); |
||
297 | |||
298 | //Create News Story |
||
299 | if (Utility::isNewsModuleIncluded()) { |
||
300 | $sform->insertBreak(_AM_WFL_LINK_CREATENEWSSTORY, 'bg3'); |
||
301 | $submitNews_radio = new \XoopsFormRadioYN(_AM_WFL_LINK_SUBMITNEWS, 'submitnews', 0, ' ' . _YES . '', ' ' . _NO . ''); |
||
302 | $sform->addElement($submitNews_radio); |
||
303 | |||
304 | require_once XOOPS_ROOT_PATH . '/class/xoopstopic.php'; |
||
305 | $xt = new \XoopsTopic($xoopsDB->prefix('news_topics')); |
||
306 | ob_start(); |
||
307 | $xt->makeTopicSelBox(1, 0, 'newstopicid'); |
||
308 | $sform->addElement(new \XoopsFormLabel(_AM_WFL_LINK_NEWSCATEGORY, ob_get_clean())); |
||
309 | $sform->addElement(new \XoopsFormText(_AM_WFL_LINK_NEWSTITLE, 'topic_id', 70, 255, ''), false); |
||
310 | } |
||
311 | |||
312 | if ($lid && 0 == $published) { |
||
313 | $approved = (0 == $published) ? 0 : 1; |
||
314 | $approve_checkbox = new \XoopsFormCheckBox(_AM_WFL_LINK_EDITAPPROVE, 'approved', 1); |
||
315 | $approve_checkbox->addOption(1, ' '); |
||
316 | $sform->addElement($approve_checkbox); |
||
317 | } |
||
318 | |||
319 | if ($lid) { |
||
320 | $buttonTray = new \XoopsFormElementTray('', ''); |
||
321 | $buttonTray->addElement(new \XoopsFormHidden('lid', $lid)); |
||
322 | $buttonTray->addElement(new \XoopsFormHidden('status', 2)); |
||
323 | $hidden = new \XoopsFormHidden('op', 'save'); |
||
324 | $buttonTray->addElement($hidden); |
||
325 | |||
326 | $butt_dup = new \XoopsFormButton('', '', _AM_WFL_BMODIFY, 'submit'); |
||
327 | $butt_dup->setExtra('onclick="this . form . elements . op . value = \'save\'"'); |
||
328 | $buttonTray->addElement($butt_dup); |
||
329 | $butt_dupct = new \XoopsFormButton('', '', _AM_WFL_BDELETE, 'submit'); |
||
330 | $butt_dupct->setExtra('onclick="this.form.elements.op.value=\'delete\'"'); |
||
331 | $buttonTray->addElement($butt_dupct); |
||
332 | $butt_dupct2 = new \XoopsFormButton('', '', _AM_WFL_BCANCEL, 'submit'); |
||
333 | $butt_dupct2->setExtra('onclick="this.form.elements.op.value=\'linksConfigMenu\'"'); |
||
334 | $buttonTray->addElement($butt_dupct2); |
||
335 | $sform->addElement($buttonTray); |
||
336 | } else { |
||
337 | $buttonTray = new \XoopsFormElementTray('', ''); |
||
338 | $buttonTray->addElement(new \XoopsFormHidden('status', 1)); |
||
339 | $buttonTray->addElement(new \XoopsFormHidden('notifypub', $notifypub)); |
||
340 | $buttonTray->addElement(new \XoopsFormHidden('op', 'save')); |
||
341 | $buttonTray->addElement(new \XoopsFormButton('', '', _AM_WFL_BSAVE, 'submit')); |
||
342 | $sform->addElement($buttonTray); |
||
343 | } |
||
344 | $sform->display(); |
||
345 | unset($hidden); |
||
346 | require_once __DIR__ . '/admin_footer.php'; |
||
347 | |||
348 | return null; |
||
349 | } |
||
350 | |||
351 | /** |
||
352 | * @param $url |
||
353 | * @param int $timeout |
||
354 | * |
||
355 | * @return float|null|string |
||
356 | */ |
||
357 | function fetchURL($url, $timeout = 2) |
||
358 | { |
||
359 | /** @var Helper $helper */ |
||
360 | $helper = Helper::getInstance(); |
||
361 | $url = urldecode($url); |
||
362 | $url_parsed = parse_url($url); |
||
363 | if (!isset($url_parsed['host'])) { |
||
364 | return ''; |
||
365 | } |
||
366 | |||
367 | $host = $url_parsed['host']; |
||
368 | $host = preg_replace('#http://#', '', $host); |
||
369 | $port = $url_parsed['port'] ?? 80; |
||
370 | // Open the socket |
||
371 | $handle = @fsockopen('http://' . $host, $port, $errno, $errstr, $timeout); |
||
372 | if (!$handle) { |
||
373 | return null; |
||
374 | } |
||
375 | |||
376 | // Set read timeout |
||
377 | stream_set_timeout($handle, $timeout); |
||
378 | for ($i = 0; $i < 1; ++$i) { |
||
379 | // Time the responce |
||
380 | list($usec, $sec) = explode(' ', microtime(true)); |
||
381 | $start = (float)$usec + (float)$sec; |
||
382 | // send somthing |
||
383 | $write = fwrite($handle, "return ping\n"); |
||
384 | if (!$write) { |
||
385 | return ''; |
||
386 | } |
||
387 | fread($handle, 1024); |
||
388 | // Work out if we got a responce and time it |
||
389 | list($usec, $sec) = explode(' ', microtime(true)); |
||
390 | $laptime = ((float)$usec + (float)$sec) - $start; |
||
391 | if ($laptime > $timeout) { |
||
392 | return 'No Reply'; |
||
393 | } |
||
394 | |||
395 | return round($laptime, 3); |
||
396 | } |
||
397 | fclose($handle); |
||
398 | |||
399 | return null; |
||
400 | } |
||
401 | |||
402 | switch (mb_strtolower($op)) { |
||
403 | case 'pingtime': |
||
404 | case 'is_broken': |
||
405 | |||
406 | $_type = ('pingtime' === $op) ? 'is_broken' : 'pingtime'; |
||
407 | |||
408 | $start = \Xmf\Request::getInt('start', 0); |
||
409 | $ping = \Xmf\Request::getInt('ping', 0); |
||
410 | $cid = \Xmf\Request::getInt('cid', 0); |
||
411 | |||
412 | $sql = 'SELECT * FROM ' . $xoopsDB->prefix('wflinks_links'); |
||
413 | if ($cid > 0) { |
||
414 | $sql .= ' WHERE cid=' . $cid; |
||
415 | } |
||
416 | $sql .= ' ORDER BY lid DESC'; |
||
417 | if (!$result = $xoopsDB->query($sql)) { |
||
418 | /** @var \XoopsLogger $logger */ |
||
419 | $logger = \XoopsLogger::getInstance(); |
||
420 | $logger->handleError(E_USER_WARNING, $sql, __FILE__, __LINE__); |
||
421 | |||
422 | return false; |
||
423 | } |
||
424 | $broken_array = $xoopsDB->query($sql, $helper->getConfig('admin_perpage'), $start); |
||
425 | $broken_array_count = $xoopsDB->getRowsNum($result); |
||
426 | |||
427 | $heading = ('pingtime' === $op) ? _AM_WFL_PINGTIMES : _AM_WFL_LISTBROKEN; |
||
428 | |||
429 | require_once __DIR__ . '/admin_header.php'; |
||
430 | xoops_cp_header(); |
||
431 | |||
432 | echo " |
||
433 | <table width='100%' cellspacing='1' cellpadding='2' border='0' class='outer'>\n |
||
434 | <tr>\n |
||
435 | <th class='txtcenter;'>" . _AM_WFL_MINDEX_ID . "</th>\n |
||
436 | <th style='text-align: left;'>" . _AM_WFL_MINDEX_TITLE . "</th>\n |
||
437 | <th class='txtcenter;'>" . _AM_WFL_MINDEX_POSTER . "</th>\n |
||
438 | <th class='txtcenter;'>" . _AM_WFL_MINDEX_PUBLISHED . "</th>\n |
||
439 | <th class='txtcenter;'>" . _AM_WFL_MINDEX_RESPONSE . "</th>\n |
||
440 | <th class='txtcenter;'>PR</th>\n |
||
441 | <th class='txtcenter;'>" . _AM_WFL_MINDEX_ACTION . "</th>\n |
||
442 | </tr>\n |
||
443 | "; |
||
444 | |||
445 | if ($broken_array_count > 0) { |
||
446 | while (false !== ($published = $xoopsDB->fetchArray($broken_array))) { |
||
447 | $_ping_results = fetchURL($published['url']); |
||
448 | |||
449 | if ($_ping_results) { |
||
450 | $_ping_results .= '(s)'; |
||
451 | } else { |
||
452 | $_ping_results = _AM_WFL_LINK_NORESPONSE; |
||
453 | } |
||
454 | |||
455 | $lid = $published['lid']; |
||
456 | $cid = $published['cid']; |
||
457 | $title = "<a href='../singlelink.php?cid=" . $published['cid'] . '&lid=' . $published['lid'] . "'>" . htmlspecialchars(trim($published['title'])) . '</a>'; |
||
458 | |||
459 | $maintitle = urlencode(htmlspecialchars(trim($published['title']))); |
||
460 | $submitter = \XoopsUserUtility::getUnameFromId($published['submitter']); |
||
461 | $publish = formatTimestamp($published['published'], $helper->getConfig('dateformatadmin')); |
||
462 | $status = ($published['published'] > 0) ? $imageArray['online'] : "<a href='newlinks.php'>" . $imageArray['offline'] . '</a>'; |
||
463 | $icon = "<a href='main.php?op=edit&lid=" . $lid . "'>" . $imageArray['editimg'] . '</a> '; |
||
464 | $icon .= "<a href='main.php?op=delete&lid=" . $lid . "'>" . $imageArray['deleteimg'] . '</a>'; |
||
465 | echo "<tr class='txtcenter;'>\n |
||
466 | <td class='head'><small>" . $lid . "</small></td>\n |
||
467 | <td class='even' style='text-align: left;'><small>" . $title . "</small></td>\n |
||
468 | <td class='even'><small>" . $submitter . "</small></td>\n |
||
469 | <td class='even'><small>" . $publish . "</small></td>\n |
||
470 | <td class='even'><small>" . $_ping_results . "</small></td>\n |
||
471 | <td class='even'><small>" . Utility::pagerank($published['url']) . "</small></td>\n |
||
472 | <td class='even'>$icon</td>\n |
||
473 | </tr>\n"; |
||
474 | unset($published); |
||
475 | } |
||
476 | } else { |
||
477 | Utility::getLinkListFooter(); |
||
478 | } |
||
479 | Utility::getLinkListPageNav($broken_array_count, $start, 'art', 'op=' . $op); |
||
480 | require_once __DIR__ . '/admin_footer.php'; |
||
481 | break; |
||
482 | case 'edit': |
||
483 | edit($lid); |
||
484 | break; |
||
485 | case 'save': |
||
486 | $groups = $_POST['groups'] ?? []; |
||
487 | $lid = !empty($_POST['lid']) ? $_POST['lid'] : 0; |
||
488 | $cid = !empty($_POST['cid']) ? $_POST['cid'] : 0; |
||
489 | $urlrating = !empty($_POST['urlrating']) ? $_POST['urlrating'] : 6; |
||
490 | $status = !empty($_POST['status']) ? $_POST['status'] : 2; |
||
491 | $url = ('http://' !== $_POST['url']) ? $myts->addSlashes($_POST['url']) : ''; |
||
492 | $title = $myts->addSlashes(trim($_POST['title'])); |
||
493 | |||
494 | // Get data from form |
||
495 | $screenshot = ('blank.gif' !== $_POST['screenshot']) ? $myts->addSlashes($_POST['screenshot']) : ''; |
||
496 | $descriptionb = $myts->addSlashes(trim($_POST['descriptionb'])); |
||
497 | $country = $myts->addSlashes(trim($_POST['country'])); |
||
498 | $keywords = $myts->addSlashes(trim(mb_substr($_POST['keywords'], 0, $helper->getConfig('keywordlength')))); |
||
499 | $item_tag = $myts->addSlashes(trim($_POST['item_tag'])); |
||
500 | $forumid = (isset($_POST['forumid']) && $_POST['forumid'] > 0) ? Request::getInt('forumid', 0, 'POST') : 0; |
||
501 | if ($helper->getConfig('useaddress')) { |
||
502 | $googlemap = ('http://maps.google.com' !== $_POST['googlemap']) ? $myts->addSlashes($_POST['googlemap']) : ''; |
||
503 | $yahoomap = ('http://maps.yahoo.com' !== $_POST['yahoomap']) ? $myts->addSlashes($_POST['yahoomap']) : ''; |
||
504 | $multimap = ('http://www.multimap.com' !== $_POST['multimap']) ? $myts->addSlashes($_POST['multimap']) : ''; |
||
505 | $street1 = $myts->addSlashes(trim($_POST['street1'])); |
||
506 | $street2 = $myts->addSlashes(trim($_POST['street2'])); |
||
507 | $town = $myts->addSlashes(trim($_POST['town'])); |
||
508 | $state = $myts->addSlashes(trim($_POST['state'])); |
||
509 | $zip = $myts->addSlashes(trim($_POST['zip'])); |
||
510 | $tel = $myts->addSlashes(trim($_POST['tel'])); |
||
511 | $fax = $myts->addSlashes(trim($_POST['fax'])); |
||
512 | $voip = $myts->addSlashes(trim($_POST['voip'])); |
||
513 | $mobile = $myts->addSlashes(trim($_POST['mobile'])); |
||
514 | $email = Utility::convertEmail($myts->addSlashes(trim($_POST['email']))); |
||
515 | $vat = $myts->addSlashes(trim($_POST['vat'])); |
||
516 | } else { |
||
517 | $googlemap = $yahoomap = $multimap = $street1 = $street2 = $town = $state = $zip = $tel = $fax = $voip = $mobile = $email = $vat = ''; |
||
518 | } |
||
519 | |||
520 | $submitter = $xoopsUser->uid(); |
||
521 | $publisher = $myts->addSlashes(trim($_POST['publisher'])); |
||
522 | |||
523 | $published = strtotime($_POST['published']['date']) + $_POST['published']['time']; |
||
524 | $updated = (isset($_POST['was_published']) && 0 == $_POST['was_published']) ? 0 : time(); |
||
525 | if (0 == $_POST['up_dated']) { |
||
526 | $updated = 0; |
||
527 | $status = 1; |
||
528 | } |
||
529 | $offline = (1 == $_POST['offline']) ? 1 : 0; |
||
530 | $approved = (isset($_POST['approved']) && 1 == $_POST['approved']) ? 1 : 0; |
||
531 | $notifypub = (isset($_POST['notifypub']) && 1 == $_POST['notifypub']); |
||
532 | if ($lid) { |
||
533 | $publishdate = $_POST['was_published']; |
||
534 | $expiredate = $_POST['was_expired']; |
||
535 | } else { |
||
536 | $date = time(); |
||
537 | $publishdate = time(); |
||
538 | $expiredate = '0'; |
||
539 | } |
||
540 | if (1 == $approved && empty($publishdate)) { |
||
541 | $publishdate = time(); |
||
542 | } |
||
543 | if (Request::hasVar('expiredateactivate', 'POST')) { |
||
544 | $expiredate = strtotime($_POST['expired']['date']) + $_POST['expired']['time']; |
||
545 | } |
||
546 | if ($_POST['clearexpire']) { |
||
547 | $expiredate = '0'; |
||
548 | } |
||
549 | |||
550 | // Update or insert linkload data into database |
||
551 | if ($lid) { |
||
552 | $sql = 'UPDATE ' |
||
553 | . $xoopsDB->prefix('wflinks_links') |
||
554 | . " SET cid = $cid, title='$title', url='$url', screenshot='$screenshot', publisher='$publisher', status='$status', forumid='$forumid', published='$published', expired='$expiredate', updated='$updated', offline='$offline', description='$descriptionb', urlrating='$urlrating', country='$country', keywords='$keywords', item_tag='$item_tag', googlemap='$googlemap', yahoomap='$yahoomap', multimap='$multimap', street1='$street1', street2='$street2', town='$town', state='$state', zip='$zip', tel='$tel', fax='$fax', voip='$voip', mobile='$mobile', email='$email', vat='$vat' WHERE lid=" |
||
555 | . $lid; |
||
556 | } else { |
||
557 | $date = time(); |
||
558 | $publishdate = time(); |
||
559 | $ipaddress = $_SERVER['REMOTE_ADDR']; |
||
560 | $sql = 'INSERT INTO ' |
||
561 | . $xoopsDB->prefix('wflinks_links') |
||
562 | . ' (lid, cid, title, url, screenshot, submitter, publisher, status, date, hits, rating, votes, comments, forumid, published, expired, updated, offline, description, ipaddress, notifypub, urlrating, country, keywords, item_tag, googlemap, yahoomap, multimap, street1, street2, town, state, zip, tel, fax, voip, mobile, email, vat )'; |
||
563 | $sql .= " VALUES (0, $cid, '$title', '$url', '$screenshot', '$submitter', '$publisher','$status', '$date', 0, 0, 0, 0, '$forumid', '$published', '$expiredate', '$updated', '$offline', '$descriptionb', '$ipaddress', '0', '$urlrating', '$country', '$keywords', '$item_tag', '$googlemap', '$yahoomap', '$multimap', '$street1', '$street2', '$town', '$state', '$zip', '$tel', '$fax', '$voip', '$mobile', '$email', '$vat' )"; |
||
564 | // $newid = $xoopsDB -> getInsertId(); |
||
565 | } |
||
566 | if (!$result = $xoopsDB->queryF($sql)) { |
||
567 | $logger->handleError(E_USER_WARNING, $sql, __FILE__, __LINE__); |
||
568 | |||
569 | return false; |
||
570 | } |
||
571 | |||
572 | $newid = $GLOBALS['xoopsDB']->getInsertId(); |
||
573 | |||
574 | // Add item_tag to Tag-module |
||
575 | if ($lid) { |
||
576 | $tagupdate = Utility::updateTag($lid, $item_tag); |
||
577 | } else { |
||
578 | $tagupdate = Utility::updateTag($newid, $item_tag); |
||
579 | } |
||
580 | |||
581 | // Send notifications |
||
582 | if (!$lid) { |
||
583 | $tags = []; |
||
584 | $tags['LINK_NAME'] = $title; |
||
585 | $tags['LINK_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/singlelink.php?cid=' . $cid . '&lid=' . $newid; |
||
586 | $sql = 'SELECT title FROM ' . $xoopsDB->prefix('wflinks_cat') . ' WHERE cid=' . $cid; |
||
587 | $result = $xoopsDB->query($sql); |
||
588 | $row = $xoopsDB->fetchArray($xoopsDB->query($sql)); |
||
589 | $tags['CATEGORY_NAME'] = $row['title']; |
||
590 | $tags['CATEGORY_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewcat.php?cid=' . $cid; |
||
591 | /** @var \XoopsNotificationHandler $notificationHandler */ |
||
592 | $notificationHandler = xoops_getHandler('notification'); |
||
593 | $notificationHandler->triggerEvent('global', 0, 'new_link', $tags); |
||
594 | $notificationHandler->triggerEvent('category', $cid, 'new_link', $tags); |
||
595 | } |
||
596 | if ($lid && $approved && $notifypub) { |
||
597 | $tags = []; |
||
598 | $tags['LINK_NAME'] = $title; |
||
599 | $tags['LINK_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/singlelink.php?cid=' . $cid . '&lid=' . $lid; |
||
600 | $sql = 'SELECT title FROM ' . $xoopsDB->prefix('wflinks_cat') . ' WHERE cid=' . $cid; |
||
601 | $result = $xoopsDB->query($sql); |
||
602 | $row = $xoopsDB->fetchArray($result); |
||
603 | $tags['CATEGORY_NAME'] = $row['title']; |
||
604 | $tags['CATEGORY_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewcat.php?cid=' . $cid; |
||
605 | $notificationHandler = xoops_getHandler('notification'); |
||
606 | $notificationHandler->triggerEvent('global', 0, 'new_link', $tags); |
||
607 | $notificationHandler->triggerEvent('category', $cid, 'new_link', $tags); |
||
608 | $notificationHandler->triggerEvent('link', $lid, 'approve', $tags); |
||
609 | } |
||
610 | $message = (!$lid) ? _AM_WFL_LINK_NEWFILEUPLOAD : _AM_WFL_LINK_FILEMODIFIEDUPDATE; |
||
611 | $message = ($lid && !$_POST['was_published'] && $approved) ? _AM_WFL_LINK_FILEAPPROVED : $message; |
||
612 | if (\Xmf\Request::getInt('delbroken', 0)) { |
||
613 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('wflinks_broken') . ' WHERE lid=' . $lid; |
||
614 | if (!$result = $xoopsDB->queryF($sql)) { |
||
615 | $logger->handleError(E_USER_WARNING, $sql, __FILE__, __LINE__); |
||
616 | |||
617 | return false; |
||
618 | } |
||
619 | } |
||
620 | if (\Xmf\Request::getInt('submitnews', 0)) { |
||
621 | require_once __DIR__ . '/newstory.php'; |
||
622 | } |
||
623 | redirect_header('main.php', 1, $message); |
||
624 | break; |
||
625 | case 'delete': |
||
626 | if (\Xmf\Request::getInt('confirm', 0)) { |
||
627 | $title = \Xmf\Request::getString('title', '');; |
||
628 | /** @var \XoopsLogger $logger */ |
||
629 | $logger = \XoopsLogger::getInstance(); |
||
630 | |||
631 | // delete link |
||
632 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('wflinks_links') . ' WHERE lid=' . $lid; |
||
633 | if (!$result = $xoopsDB->query($sql)) { |
||
634 | $logger->handleError(E_USER_WARNING, $sql, __FILE__, __LINE__); |
||
635 | |||
636 | return false; |
||
637 | } |
||
638 | |||
639 | // delete from altcat |
||
640 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('wflinks_altcat') . ' WHERE lid=' . $lid; |
||
641 | if (!$result = $xoopsDB->query($sql)) { |
||
642 | $logger->handleError(E_USER_WARNING, $sql, __FILE__, __LINE__); |
||
643 | |||
644 | return false; |
||
645 | } |
||
646 | |||
647 | // delete vote data |
||
648 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('wflinks_votedata') . ' WHERE lid=' . $lid; |
||
649 | if (!$result = $xoopsDB->query($sql)) { |
||
650 | $logger->handleError(E_USER_WARNING, $sql, __FILE__, __LINE__); |
||
651 | |||
652 | return false; |
||
653 | } |
||
654 | |||
655 | // delete comments |
||
656 | xoops_comment_delete($xoopsModule->getVar('mid'), $lid); |
||
657 | redirect_header('main.php', 1, sprintf(_AM_WFL_LINK_FILEWASDELETED, $title)); |
||
658 | } else { |
||
659 | $sql = 'SELECT lid, title, item_tag, url FROM ' . $xoopsDB->prefix('wflinks_links') . ' WHERE lid=' . $lid; |
||
660 | if (!$result = $xoopsDB->query($sql)) { |
||
661 | $logger->handleError(E_USER_WARNING, $sql, __FILE__, __LINE__); |
||
662 | |||
663 | return false; |
||
664 | } |
||
665 | list($lid, $title) = $xoopsDB->fetchRow($result); |
||
666 | $item_tag = $result->fetchArray['item_tag']; |
||
667 | require_once __DIR__ . '/admin_header.php'; |
||
668 | xoops_cp_header(); |
||
669 | |||
670 | xoops_confirm(['op' => 'delete', 'lid' => $lid, 'confirm' => 1, 'title' => $title], 'main.php', _AM_WFL_LINK_REALLYDELETEDTHIS . '<br><br>' . $title, _DELETE); |
||
671 | |||
672 | // Remove item_tag from Tag-module |
||
673 | $tagupdate = Utility::updateTag($lid, $item_tag); |
||
674 | |||
675 | require_once __DIR__ . '/admin_footer.php'; |
||
676 | } |
||
677 | break; |
||
678 | case 'delvote': |
||
679 | $rid = \Xmf\Request::getInt('rid', 0); |
||
680 | $sql = 'DELETE FROM ' . $xoopsDB->prefix('wflinks_votedata') . ' WHERE ratingid=' . $rid; |
||
681 | if (!$result = $xoopsDB->queryF($sql)) { |
||
682 | $logger->handleError(E_USER_WARNING, $sql, __FILE__, __LINE__); |
||
683 | |||
684 | return false; |
||
685 | } |
||
686 | Utility::updateRating($rid); |
||
687 | redirect_header('main.php', 1, _AM_WFL_VOTE_VOTEDELETED); |
||
688 | break; |
||
689 | case 'main': |
||
690 | default: |
||
691 | $start = \Xmf\Request::getInt('start', 0); |
||
692 | $start1 = \Xmf\Request::getInt('start1', 0); |
||
693 | $start2 = \Xmf\Request::getInt('start2', 0); |
||
694 | $start3 = \Xmf\Request::getInt('start3', 0); |
||
695 | $start4 = \Xmf\Request::getInt('start4', 0); |
||
696 | $totalcats = Utility::getTotalCategory(); |
||
697 | |||
698 | $result = $xoopsDB->query('SELECT COUNT(*) FROM ' . $xoopsDB->prefix('wflinks_broken')); |
||
699 | list($totalbrokenlinks) = $xoopsDB->fetchRow($result); |
||
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
700 | $result2 = $xoopsDB->query('SELECT COUNT(*) FROM ' . $xoopsDB->prefix('wflinks_mod')); |
||
701 | list($totalmodrequests) = $xoopsDB->fetchRow($result2); |
||
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
702 | $result3 = $xoopsDB->query('SELECT COUNT(*) FROM ' . $xoopsDB->prefix('wflinks_links') . ' WHERE published = 0'); |
||
703 | list($totalnewlinks) = $xoopsDB->fetchRow($result3); |
||
0 ignored issues
–
show
Comprehensibility
Best Practice
introduced
by
|
|||
704 | $result4 = $xoopsDB->query('SELECT COUNT(*) FROM ' . $xoopsDB->prefix('wflinks_links') . ' WHERE published > 0'); |
||
705 | list($totallinks) = $xoopsDB->fetchRow($result4); |
||
706 | |||
707 | xoops_cp_header(); |
||
708 | |||
709 | $adminObject = Admin::getInstance(); |
||
710 | $adminObject->displayNavigation(basename(__FILE__)); |
||
711 | $adminObject->addItemButton(_MI_WFL_ADD_LINK, 'main.php?op=edit', 'add', ''); |
||
712 | $adminObject->addItemButton(_MI_WFL_ADD_CATEGORY, 'category.php', 'add', ''); |
||
713 | $adminObject->displayButton('left', ''); |
||
714 | |||
715 | // echo " |
||
716 | // <fieldset style='border: #e8e8e8 1px solid;'><legend style='display: inline; font-weight: bold; color: #0A3760;'>" . _AM_WFL_MINDEX_LINKSUMMARY . "</legend>\n |
||
717 | // <div style='padding: 8px;'><small>\n |
||
718 | // <a href='category.php'>" . _AM_WFL_SCATEGORY . "</a><b>" . $totalcats . "</b> | \n |
||
719 | // <a href='main.php'>" . _AM_WFL_SFILES . "</a><b>" . $totallinks . "</b> | \n |
||
720 | // <a href='newlinks.php'>" . _AM_WFL_SNEWFILESVAL . "</a><b>" . $totalnewlinks . "</b> | \n |
||
721 | // <a href='modifications.php'>" . _AM_WFL_SMODREQUEST . "</a><b>" . $totalmodrequests . "</b> | \n |
||
722 | // <a href='brokenlink.php'>" . _AM_WFL_SBROKENSUBMIT . "</a><b>" . $totalbrokenlinks . "</b>\n |
||
723 | // </small></div></fieldset><br>\n |
||
724 | // "; |
||
725 | |||
726 | // if ($totalcats > 0) { |
||
727 | // $sform = new \XoopsThemeForm( _AM_WFL_CCATEGORY_MODIFY, "category", "category.php" ); |
||
728 | // ob_start(); |
||
729 | // $mytree -> makeMySelBox( "title", "title" ); |
||
730 | // $sform -> addElement( new \XoopsFormLabel( _AM_WFL_CCATEGORY_MODIFY_TITLE, ob_get_contents() ) ); |
||
731 | // ob_end_clean(); |
||
732 | // $dup_tray = new \XoopsFormElementTray( '', '' ); |
||
733 | // $dup_tray -> addElement( new \XoopsFormHidden( 'op', 'modCat' ) ); |
||
734 | // $butt_dup = new \XoopsFormButton( '', '', _AM_WFL_BMODIFY, 'submit' ); |
||
735 | // $butt_dup -> setExtra( 'onclick="this.form.elements.op.value=\'modCat\'"' ); |
||
736 | // $dup_tray -> addElement( $butt_dup ); |
||
737 | // $butt_dupct = new \XoopsFormButton( '', '', _AM_WFL_BDELETE, 'submit' ); |
||
738 | // $butt_dupct -> setExtra( 'onclick="this.form.elements.op.value=\'del\'"' ); |
||
739 | // $dup_tray -> addElement( $butt_dupct ); |
||
740 | // $sform -> addElement( $dup_tray ); |
||
741 | // $sform -> display(); |
||
742 | // } |
||
743 | |||
744 | if ($totallinks > 0) { |
||
745 | $sql = 'SELECT * FROM ' . $xoopsDB->prefix('wflinks_links') . ' WHERE published > 0 ORDER BY lid DESC'; |
||
746 | $published_array = $xoopsDB->query($sql, $helper->getConfig('admin_perpage'), $start); |
||
747 | $published_array_count = $xoopsDB->getRowsNum($xoopsDB->query($sql)); |
||
748 | Utility::getLinkListHeader(_AM_WFL_MINDEX_PUBLISHEDLINK); |
||
749 | Utility::getLinkListPageNavLeft($published_array_count, $start, 'art'); |
||
750 | if ($published_array_count > 0) { |
||
751 | while (false !== ($published = $xoopsDB->fetchArray($published_array))) { |
||
752 | Utility::getLinkListBody($published); |
||
753 | } |
||
754 | } else { |
||
755 | Utility::getLinkListFooter(); |
||
756 | } |
||
757 | Utility::getLinkListPageNav($published_array_count, $start, 'art'); |
||
758 | } |
||
759 | require_once __DIR__ . '/admin_footer.php'; |
||
760 | break; |
||
761 | } |
||
762 |