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 declare(strict_types=1); |
||
2 | |||
3 | /* |
||
4 | * You may not change or alter any portion of this comment or credits |
||
5 | * of supporting developers from this source code or any supporting source code |
||
6 | * which is considered copyrighted (c) material of the original comment or credit authors. |
||
7 | * |
||
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 | |||
13 | /** |
||
14 | * @copyright XOOPS Project (https://xoops.org) |
||
15 | * @license GNU GPL 2.0 or later (https://www.gnu.org/licenses/gpl-2.0.html) |
||
16 | * @author XOOPS Development Team |
||
17 | * @author Pascal Le Boustouller: original author ([email protected]) |
||
18 | * @author Luc Bizet (www.frxoops.org) |
||
19 | * @author jlm69 (www.jlmzone.com) |
||
20 | * @author mamba (www.xoops.org) |
||
21 | */ |
||
22 | |||
23 | use Xmf\Request; |
||
24 | use XoopsModules\Adslight\{ |
||
25 | Helper, |
||
26 | Utility |
||
27 | }; |
||
28 | /** @var Helper $helper */ |
||
29 | require_once __DIR__ . '/header.php'; |
||
30 | //require_once XOOPS_ROOT_PATH . '/modules/adslight/include/gtickets.php'; |
||
31 | |||
32 | /** |
||
33 | * @param $lid |
||
34 | */ |
||
35 | function reportAbuse($lid): void |
||
36 | { |
||
37 | global $xoopsConfig, $xoopsDB, $xoopsTheme; |
||
38 | $helper = Helper::getInstance(); |
||
39 | require_once XOOPS_ROOT_PATH . '/class/xoopsformloader.php'; |
||
40 | require_once XOOPS_ROOT_PATH . '/header.php'; |
||
41 | |||
42 | $lid = (int)$lid; |
||
43 | $idd = $idde = $iddee = ''; |
||
44 | $sql = 'SELECT lid, title, type FROM ' . $xoopsDB->prefix('adslight_listing') . ' WHERE lid=' . $xoopsDB->escape($lid); |
||
45 | $result = $xoopsDB->query($sql); |
||
46 | if (!$xoopsDB->isResultSet($result)) { |
||
47 | \trigger_error("Query Failed! SQL: $sql- Error: " . $xoopsDB->error(), E_USER_ERROR); |
||
48 | } |
||
49 | [$lid, $title, $type] = $xoopsDB->fetchRow($result); |
||
50 | |||
51 | $GLOBALS['xoTheme']->addMeta('meta', 'robots', 'noindex, nofollow'); |
||
52 | |||
53 | echo "<table width='100%' border='0' cellspacing='1' cellpadding='8'><tr class='bg4'><td valign='top'>\n"; |
||
54 | echo '<strong>' . _ADSLIGHT_REPORTSENDTO . " {$lid} </strong>: \" {$type} : {$title} \"<br><br> |
||
55 | <form action=\"report-abuse.php\" method=post> |
||
56 | <input type=\"hidden\" name=\"lid\" value=\"{$lid}\" >"; |
||
57 | if ($GLOBALS['xoopsUser']) { |
||
58 | $idd = $GLOBALS['xoopsUser']->getVar('uname', 'E'); |
||
59 | $idde = $GLOBALS['xoopsUser']->getVar('email', 'E'); |
||
60 | $iddee = $xoopsConfig['adminmail']; |
||
61 | } else { |
||
62 | $iddee = $xoopsConfig['adminmail']; |
||
63 | } |
||
64 | |||
65 | echo " |
||
66 | <table width='99%' class='outer' cellspacing='1'> |
||
67 | <tr> |
||
68 | <td class='head' width='30%'>" . _ADSLIGHT_NAME . " </td> |
||
69 | <td class='even'><input class=\"textbox\" type=\"text\" name=\"yname\" value=\"{$idd}\" ></td> |
||
70 | </tr> |
||
71 | <tr> |
||
72 | <td class='head'>" . _ADSLIGHT_MAIL . " </td> |
||
73 | <td class='even'><input class=\"textbox\" type=\"text\" name=\"ymail\" value=\"{$idde}\" ></td> |
||
74 | </tr> |
||
75 | <tr> |
||
76 | <td class='head'></td> |
||
77 | <td class='even'><input class=\"textbox\" type=\"hidden\" name=\"fmail\" value=\"{$iddee}\"></td> |
||
78 | </tr>"; |
||
79 | |||
80 | if ('1' === $helper->getConfig('adslight_use_captcha')) { |
||
81 | echo "<tr><td class='head'>" . _ADSLIGHT_CAPTCHA . " </td><td class='even'>"; |
||
82 | $jlm_captcha = new \XoopsFormCaptcha(_ADSLIGHT_CAPTCHA, 'xoopscaptcha', false); |
||
83 | echo $jlm_captcha->render(); |
||
84 | echo '</td></tr>'; |
||
85 | } |
||
86 | |||
87 | echo '</table><br> |
||
88 | <input type=hidden name=op value=MailAd> |
||
89 | <input type=submit value=' . _ADSLIGHT_SENDFR . '> |
||
90 | </form> '; |
||
91 | echo '</td></tr></table>'; |
||
92 | } |
||
93 | |||
94 | /** |
||
95 | * @param $lid |
||
96 | * @param $yname |
||
97 | * @param $ymail |
||
98 | * @param $fname |
||
99 | * @param $fmail |
||
100 | */ |
||
101 | function mailAd($lid, $yname, $ymail, $fname, $fmail): void |
||
102 | { |
||
103 | global $xoopsConfig, $xoopsTpl, $xoopsDB, $xoopsModule, $myts; |
||
104 | $helper = Helper::getInstance(); |
||
105 | if ('1' === $helper->getConfig('adslight_use_captcha')) { |
||
106 | xoops_load('xoopscaptcha'); |
||
107 | $xoopsCaptcha = XoopsCaptcha::getInstance(); |
||
108 | if (!$xoopsCaptcha->verify()) { |
||
109 | $helper->redirect('index.php', 2, $xoopsCaptcha->getMessage()); |
||
110 | } |
||
111 | } |
||
112 | |||
113 | $lid = (int)$lid; |
||
114 | $sql = 'SELECT lid, title, expire, type, desctext, tel, price, typeprice, date_created, email, submitter, town, country, photo FROM ' . $xoopsDB->prefix('adslight_listing') . ' WHERE lid=' . $xoopsDB->escape($lid); |
||
115 | $result = $xoopsDB->query($sql); |
||
116 | if (!$xoopsDB->isResultSet($result)) { |
||
117 | \trigger_error("Query Failed! SQL: $sql- Error: " . $xoopsDB->error(), E_USER_ERROR); |
||
118 | } |
||
119 | [$lid, $title, $expire, $type, $desctext, $tel, $price, $typeprice, $date_created, $email, $submitter, $town, $country, $photo] = $xoopsDB->fetchRow($result); |
||
120 | |||
121 | $title = $GLOBALS['xoopsDB']->escape($title); |
||
122 | $expire = $GLOBALS['xoopsDB']->escape($expire); |
||
0 ignored issues
–
show
Unused Code
introduced
by
![]() |
|||
123 | $type = $GLOBALS['xoopsDB']->escape($type); |
||
124 | $desctext = $myts->displayTarea($desctext, 1, 1, 1, 1, 1); |
||
125 | $tel = $GLOBALS['xoopsDB']->escape($tel); |
||
126 | $price = $GLOBALS['xoopsDB']->escape($price); |
||
127 | $typeprice = $GLOBALS['xoopsDB']->escape($typeprice); |
||
128 | $submitter = $GLOBALS['xoopsDB']->escape($submitter); |
||
0 ignored issues
–
show
|
|||
129 | $town = $GLOBALS['xoopsDB']->escape($town); |
||
130 | $country = $GLOBALS['xoopsDB']->escape($country); |
||
131 | |||
132 | $tags = []; |
||
133 | $tags['YNAME'] = stripslashes($yname); |
||
134 | $tags['YMAIL'] = $ymail; |
||
135 | $tags['FNAME'] = stripslashes($fname); |
||
136 | $tags['FMAIL'] = $fmail; |
||
137 | $tags['HELLO'] = _ADSLIGHT_HELLO; |
||
138 | $tags['LID'] = $lid; |
||
139 | $tags['LISTING_NUMBER'] = _ADSLIGHT_LISTING_NUMBER; |
||
140 | $tags['TITLE'] = $title; |
||
141 | $tags['TYPE'] = Utility::getNameType($type); |
||
142 | $tags['DESCTEXT'] = $desctext; |
||
143 | $tags['PRICE'] = $price; |
||
144 | $tags['TYPEPRICE'] = $typeprice; |
||
145 | $tags['TEL'] = $tel; |
||
146 | $tags['TOWN'] = $town; |
||
147 | $tags['COUNTRY'] = $country; |
||
148 | $tags['OTHER'] = _ADSLIGHT_INTERESS . $xoopsConfig['sitename']; |
||
149 | $tags['LISTINGS'] = XOOPS_URL . '/modules/adslight/'; |
||
150 | $tags['LINK_URL'] = XOOPS_URL . '/modules/adslight/viewads.php?lid=' . $lid; |
||
151 | $tags['THINKS_REPORT'] = _ADSLIGHT_REPORTMESSAGE; |
||
152 | $tags['NO_MAIL'] = _ADSLIGHT_NOMAIL; |
||
153 | $tags['YOU_CAN_VIEW_BELOW'] = _ADSLIGHT_YOU_CAN_VIEW_BELOW; |
||
154 | $tags['WEBMASTER'] = _ADSLIGHT_WEBMASTER; |
||
155 | $tags['NO_REPLY'] = _ADSLIGHT_NOREPLY; |
||
156 | $subject = _ADSLIGHT_REPORTSUBJET . ' ' . $xoopsConfig['sitename']; |
||
157 | |||
158 | $xoopsMailer = xoops_getMailer(); |
||
159 | $xoopsMailer->multimailer->isHTML(true); |
||
160 | $xoopsMailer->useMail(); |
||
161 | $xoopsMailer->setTemplateDir(XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname') . '/language/' . $xoopsConfig['language'] . '/mail_template/'); |
||
162 | $xoopsMailer->setTemplate('listing_report_abuse.tpl'); |
||
163 | $xoopsMailer->setFromEmail($ymail); |
||
164 | $xoopsMailer->setToEmails($fmail); |
||
165 | $xoopsMailer->setSubject($subject); |
||
166 | $xoopsMailer->assign($tags); |
||
167 | |||
168 | // $fmail = $xoopsConfig['adminmail']; |
||
169 | // $xoopsMailer->setToEmails($xoopsConfig['adminmail']); |
||
170 | // $idde = $xoopsUserIsAdmin->getVar("adminmail", "E"); |
||
171 | |||
172 | $xoopsMailer->send(); |
||
173 | echo $xoopsMailer->getErrors(); |
||
174 | $helper->redirect('index.php', 3, _ADSLIGHT_REPORTANNSEND); |
||
175 | } |
||
176 | |||
177 | ############################################################## |
||
178 | $yname = Request::getString('yname', '', 'POST'); |
||
179 | $ymail = Request::getString('ymail', '', 'POST'); |
||
180 | $fname = Request::getString('fname', '', 'POST'); |
||
181 | $fmail = Request::getString('fmail', '', 'POST'); |
||
182 | |||
183 | $lid = Request::getInt('lid', 0); |
||
184 | $op = Request::getString('op', ''); |
||
185 | |||
186 | switch ($op) { |
||
187 | case 'ReportAbuse': |
||
188 | require_once XOOPS_ROOT_PATH . '/header.php'; |
||
189 | reportAbuse($lid); |
||
190 | require_once XOOPS_ROOT_PATH . '/footer.php'; |
||
191 | break; |
||
192 | case 'MailAd': |
||
193 | mailAd($lid, $yname, $ymail, $fname, $fmail); |
||
194 | break; |
||
195 | default: |
||
196 | $helper->redirect('index.php', 1, _RETURNANN); |
||
197 | break; |
||
198 | } |
||
199 |