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.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | /** |
||
3 | * @酒店表单 |
||
4 | * @license http://www.blags.org/ |
||
5 | * @created :2010年05月20日 23时52分 |
||
6 | * @copyright 1997-2010 The Martin Group |
||
7 | * @author Martin <[email protected]> |
||
8 | * */ |
||
9 | if (!defined('XOOPS_ROOT_PATH')) { |
||
10 | return; |
||
11 | } |
||
12 | |||
13 | include_once XOOPS_ROOT_PATH . '/class/xoopsformloader.php'; |
||
14 | |||
15 | /** |
||
16 | * Class form_hotel |
||
17 | */ |
||
18 | class form_hotel extends XoopsThemeForm |
||
19 | { |
||
20 | |||
21 | /** |
||
22 | * form_hotel constructor. |
||
23 | * @param $HotelObj |
||
24 | * @param $HotelCityObj |
||
25 | */ |
||
26 | function __construct(&$HotelObj, &$HotelCityObj) |
||
0 ignored issues
–
show
|
|||
27 | { |
||
28 | global $Ranks; |
||
29 | $this->Ranks = &$Ranks; |
||
30 | $this->Obj = &$HotelObj; |
||
31 | $this->CityObj = &$HotelCityObj; |
||
32 | parent::__construct('酒店信息', "op", xoops_getenv('PHP_SELF') . "?action=save"); |
||
33 | $this->setExtra('enctype="multipart/form-data"'); |
||
34 | |||
35 | $this->createElements(); |
||
36 | $this->createButtons(); |
||
37 | } |
||
38 | |||
39 | /** |
||
40 | * created elements |
||
41 | * @license http://www.blags.org/ |
||
42 | * @created :2010年05月21日 20时40分 |
||
43 | * @copyright 1997-2010 The Martin Group |
||
44 | * @author Martin <[email protected]> |
||
45 | * */ |
||
46 | function createElements() |
||
0 ignored issues
–
show
|
|||
47 | { |
||
48 | global $xoopsDB, $xoopsModuleConfig; |
||
49 | |||
50 | //编辑器 |
||
51 | include_once XOOPS_ROOT_PATH . "/modules/martin/class/xoopsformloader.php"; |
||
52 | include_once MARTIN_ROOT_PATH . '/include/formdatetime.php'; |
||
53 | |||
54 | $this->google_api = $xoopsModuleConfig['google_api']; |
||
55 | |||
56 | $mytree = new XoopsTree($xoopsDB->prefix("martin_hotel_city"), "city_id", "city_parentid"); |
||
57 | // Parent Category |
||
58 | ob_start(); |
||
59 | $mytree->makeMySelBox("city_name", "", $this->CityObj->city_parentid(), 1, 'hotel_city_id'); |
||
60 | //makeMySelBox($title,$order="",$preset_id=0, $none=0, $sel_name="", $onchange="") |
||
61 | $this->addElement(new XoopsFormLabel("区域", ob_get_contents())); |
||
62 | ob_end_clean(); |
||
63 | // City Name |
||
64 | $this->addElement(new XoopsFormText('酒店排序', 'hotel_rank', 11, 11, $this->Obj->hotel_rank()), true); |
||
65 | |||
66 | $this->addElement(new XoopsFormText(_AM_MARTIN_HOTEL_NAME, 'hotel_name', 50, 255, $this->Obj->hotel_name()), true); |
||
67 | |||
68 | $this->addElement(new XoopsFormText('酒店英文名称', 'hotel_enname', 50, 255, $this->Obj->hotel_enname()), true); |
||
69 | |||
70 | $this->addElement(new XoopsFormText('酒店别名', 'hotel_alias', 50, 255, $this->Obj->hotel_alias()), true); |
||
71 | |||
72 | $this->addElement(new XoopsFormText(_AM_MARTIN_HOTEL_KEYWORDS_SEO, 'hotel_keywords', 50, 255, $this->Obj->hotel_keywords()), true); |
||
73 | |||
74 | $this->addElement(new XoopsFormTextArea(_AM_MARTIN_HOTEL_DESC_SEO, 'hotel_description', $this->Obj->hotel_description()), true); |
||
75 | |||
76 | //hotel star |
||
77 | $rankElement = new XoopsFormSelect(_AM_MARTIN_HOTEL_STARS, 'hotel_star', $this->Obj->hotel_star(), 1); |
||
78 | $rankElement->addOptionArray($this->Ranks); |
||
79 | $this->addElement($rankElement, true); |
||
80 | |||
81 | $this->addElement(new XoopsFormText('酒店地址', 'hotel_address', 50, 255, $this->Obj->hotel_address()), true); |
||
82 | |||
83 | $this->addElement(new XoopsFormText('酒店电话', 'hotel_telephone', 50, 255, $this->Obj->hotel_telephone()), true); |
||
84 | |||
85 | $this->addElement(new XoopsFormText('酒店 FAX', 'hotel_keywords', 50, 255, $this->Obj->hotel_keywords()), true); |
||
86 | |||
87 | $this->addElement(new XoopsFormText('酒店特色', 'hotel_characteristic', 50, 255, $this->Obj->hotel_characteristic()), true); |
||
88 | |||
89 | $this->addElement(new XoopsFormText('酒店房间数', 'hotel_room_count', 11, 11, $this->Obj->hotel_room_count()), true); |
||
90 | |||
91 | //$this->addElement( new XoopsFormText(_AM_MARTIN_HOTEL_ROOM_PHOTOS, 'hotel_image', 50, 255, $this->Obj->hotel_image()), true); |
||
92 | |||
93 | //特殊处理 |
||
94 | //酒店地图 |
||
95 | $Coordinate = $this->Obj->hotel_google(); |
||
96 | $google = new XoopsFormElementTray('google 地图'); |
||
97 | $google->addElement(new XoopsFormText('纬度', 'GmapLatitude', 25, 25, $Coordinate[0]), true); |
||
98 | $google->addElement(new XoopsFormText('经度', 'GmapLongitude', 25, 25, $Coordinate[1]), true); |
||
99 | $google->addElement(new XoopsFormLabel("<br><br><font style='background-color:#2F5376;color:#FFFFFF;padding:2px;vertical-align:middle;'>google map:</font><br>", $this->googleMap($Coordinate))); |
||
100 | //$this->addElement($google , true); |
||
101 | |||
102 | //酒店图片 |
||
103 | $Img = new XoopsFormElementTray('酒店图片'); |
||
104 | $Img->addElement(new XoopsFormLabel("", $this->Swfupload())); |
||
105 | |||
106 | $this->addElement($Img); |
||
107 | //特殊处理 |
||
108 | |||
109 | //编辑器 酒店详细信息 |
||
110 | $this->addElement(new XoopsFormTextArea('酒店特别提醒', 'hotel_reminded', $this->Obj->hotel_reminded()), true); |
||
111 | $editor = 'tinymce'; |
||
112 | $hotel_info = $this->Obj->hotel_info(); |
||
113 | $editor_configs = array(); |
||
114 | $editor_configs["name"] = "hotel_info"; |
||
115 | $editor_configs["value"] = $hotel_info; |
||
116 | $editor_configs["rows"] = empty($xoopsModuleConfig["editor_rows"]) ? 35 : $xoopsModuleConfig["editor_rows"]; |
||
117 | $editor_configs["cols"] = empty($xoopsModuleConfig["editor_cols"]) ? 60 : $xoopsModuleConfig["editor_cols"]; |
||
118 | $editor_configs["width"] = empty($xoopsModuleConfig["editor_width"]) ? "100%" : $xoopsModuleConfig["editor_width"]; |
||
119 | $editor_configs["height"] = empty($xoopsModuleConfig["editor_height"]) ? "400px" : $xoopsModuleConfig["editor_height"]; |
||
120 | |||
121 | //$this->addElement(new XoopsFormEditor("酒店详细信息", $editor, $editor_configs, false, $onfailure = null) , true); |
||
122 | $this->addElement(new XoopsFormHidden("hotel_info", $hotel_info), true); |
||
123 | |||
124 | $this->addElement(new XoopsFormRadioYN("酒店编辑状态", 'hotel_status', $this->Obj->hotel_status(), _AM_MARTIN_PUBLISHED, _AM_MARTIN_DRAFT), true); |
||
125 | $this->addElement(new MartinFormDateTime("酒店发布时间", 'hotel_open_time', $size = 15, $this->Obj->hotel_open_time()), true); |
||
126 | |||
127 | $this->addElement(new XoopsFormHidden('hotel_id', $this->Obj->hotel_id())); |
||
128 | } |
||
129 | |||
130 | /** |
||
131 | * @创建按钮 |
||
132 | * @license http://www.blags.org/ |
||
133 | * @created :2010年05月20日 23时52分 |
||
134 | * @copyright 1997-2010 The Martin Group |
||
135 | * @author Martin <[email protected]> |
||
136 | * */ |
||
137 | function createButtons() |
||
0 ignored issues
–
show
|
|||
138 | { |
||
139 | $button_tray = new XoopsFormElementTray('', ''); |
||
140 | // No ID for category -- then it's new category, button says 'Create' |
||
141 | if (!$this->CityObj->city_id()) { |
||
142 | $butt_create = new XoopsFormButton('', '', _SUBMIT, 'submit'); |
||
143 | $butt_create->setExtra('onclick="this.form.elements.op.value=\'addcategory\'"'); |
||
144 | $button_tray->addElement($butt_create); |
||
145 | |||
146 | $butt_clear = new XoopsFormButton('', '', _RESET, 'reset'); |
||
147 | $button_tray->addElement($butt_clear); |
||
148 | |||
149 | $butt_cancel = new XoopsFormButton('', '', _CANCEL, 'button'); |
||
150 | $butt_cancel->setExtra('onclick="history.go(-1)"'); |
||
151 | $button_tray->addElement($butt_cancel); |
||
152 | |||
153 | $this->addElement($button_tray); |
||
154 | } else { |
||
155 | // button says 'Update' |
||
156 | $butt_create = new XoopsFormButton('', '', _EDIT, 'submit'); |
||
157 | $butt_create->setExtra('onclick="this.form.elements.op.value=\'addcategory\'"'); |
||
158 | $button_tray->addElement($butt_create); |
||
159 | |||
160 | $butt_clear = new XoopsFormButton('', '', _RESET, 'reset'); |
||
161 | $button_tray->addElement($butt_clear); |
||
162 | |||
163 | $butt_cancel = new XoopsFormButton('', '', _CANCEL, 'button'); |
||
164 | $butt_cancel->setExtra('onclick="history.go(-1)"'); |
||
165 | $button_tray->addElement($butt_cancel); |
||
166 | |||
167 | $this->addElement($button_tray); |
||
168 | } |
||
169 | } |
||
170 | |||
171 | /** |
||
172 | * @google 地图 |
||
173 | * @license http://www.blags.org/ |
||
174 | * @created :2010年05月24日 19时55分 |
||
175 | * @copyright 1997-2010 The Martin Group |
||
176 | * @author Martin <[email protected]> |
||
177 | * @param $Coordinate |
||
178 | * @return string |
||
179 | */ |
||
180 | function googleMap($Coordinate) |
||
0 ignored issues
–
show
|
|||
181 | { |
||
182 | $str = '<div id="gmap" style="width: 640px; height: 320px;"></div>'; |
||
183 | $str .= '<style type="text/css"> |
||
184 | @import url("http://www.google.com/uds/css/gsearch.css"); |
||
185 | @import url("http://www.google.com/uds/solutions/localsearch/gmlocalsearch.css"); |
||
186 | </style> |
||
187 | <script src="http://maps.google.com/maps?file=api&v=2&key=' . $this->google_api . '" type="text/javascript"></script> |
||
188 | <script type="text/javascript"> |
||
189 | //<![CDATA[ |
||
190 | //得到坐标 |
||
191 | var lat = document.getElementById("GmapLatitude").value; |
||
192 | lat = lat == "" ? 35.86166 : lat; |
||
193 | var lng = document.getElementById("GmapLongitude").value; |
||
194 | lng = lng == "" ? 104.195397 : lng; |
||
195 | |||
196 | function initialize() { |
||
197 | if (GBrowserIsCompatible()) { |
||
198 | var map = new GMap2(document.getElementById("gmap"),{ size: new GSize(800,400) } ); |
||
199 | map.setCenter(new GLatLng(lat,lng), 3); |
||
200 | var customUI = map.getDefaultUI(); |
||
201 | // Remove MapType.G_HYBRID_MAP |
||
202 | customUI.maptypes.hybrid = false; |
||
203 | map.setUI(customUI); |
||
204 | //搜索 |
||
205 | map.enableGoogleBar(); |
||
206 | GEvent.addListener(map,"click", function(overlay,data) { |
||
207 | document.getElementById("GmapLatitude").value = data.lat(); |
||
208 | document.getElementById("GmapLongitude").value = data.lng(); |
||
209 | }); |
||
210 | |||
211 | //锚点 |
||
212 | //得到数据信息 |
||
213 | var hotel_name = ["' . $this->Obj->hotel_name() . '"]; |
||
214 | var message = ["' . $this->Obj->hotel_description() . '"]; |
||
215 | hotel_name = hotel_name == "" ? [_AM_MARTIN_HOTEL_NAME] : hotel_name; |
||
216 | message = message == "" ? [_AM_MARTIN_HOTEL_DESCRIPTION] : message; |
||
217 | |||
218 | function createMarker(latlng, number) { |
||
219 | var marker = new GMarker(latlng); |
||
220 | marker.value = number; |
||
221 | //点击显示 |
||
222 | GEvent.addListener(marker,"click", function() { |
||
223 | var myHtml = "<b><font color=\"blue\">" + hotel_name[number] + "</font></b><br/>" + message[number]; |
||
224 | map.openInfoWindowHtml(latlng, myHtml); |
||
225 | }); |
||
226 | return marker; |
||
227 | } |
||
228 | |||
229 | /*var bounds = map.getBounds(); |
||
230 | var southWest = bounds.getSouthWest(); |
||
231 | var northEast = bounds.getNorthEast(); |
||
232 | var lngSpan = northEast.lng() - southWest.lng(); |
||
233 | var latSpan = northEast.lat() - southWest.lat();*/ |
||
234 | for (var i = 0; i < 1; i++) { |
||
235 | var latlng = new GLatLng(lat,lng); |
||
236 | map.addOverlay(createMarker(latlng, i)); |
||
237 | } |
||
238 | } |
||
239 | } |
||
240 | //window.onunload = GUnload(); |
||
241 | window.onload = function(){initialize();}; |
||
242 | //Event.observe(window, "load",initialize); |
||
243 | google.setOnLoadCallback(initialize); |
||
244 | //]]> |
||
245 | </script> '; |
||
246 | |||
247 | return $str; |
||
248 | } |
||
249 | |||
250 | /** |
||
251 | * swf 多图片上传 |
||
252 | * @license http://www.blags.org/ |
||
253 | * @created :2010年05月24日 19时55分 |
||
254 | * @copyright 1997-2010 The Martin Group |
||
255 | * @author Martin <[email protected]> |
||
256 | * */ |
||
257 | function Swfupload() |
||
0 ignored issues
–
show
|
|||
258 | { |
||
259 | session_start(); |
||
260 | $_SESSION["file_info"] = array(); |
||
261 | |||
262 | $hotel_image = $this->Obj->hotel_image(); |
||
263 | $swf = ' |
||
264 | <link href="../javascript/swfupload/css/default.css" rel="stylesheet" type="text/css" /> |
||
265 | <script type="text/javascript" src="../javascript/swfupload/swfupload.js"></script> |
||
266 | <script type="text/javascript" src="../javascript/swfupload/swfupload.swfobject.js"></script> |
||
267 | <script type="text/javascript" src="../javascript/swfupload/fileprogress.js"></script> |
||
268 | <script type="text/javascript" src="../javascript/swfupload/handlers.js"></script> |
||
269 | <script type="text/javascript"> |
||
270 | var swfu; |
||
271 | SWFUpload.onload = function () { |
||
272 | var settings = { |
||
273 | flash_url : "../javascript/swfupload/swfupload.swf", |
||
274 | flash9_url : "../javascript/swfupload/swfupload_fp9.swf", |
||
275 | upload_url: "upload.php", |
||
276 | post_params: { |
||
277 | "PHPSESSID" : "' . session_id() . '" |
||
0 ignored issues
–
show
|
|||
278 | }, |
||
279 | file_size_limit : "100 MB", |
||
280 | file_types : "*.jpg;*.JPG;*.gif;*.GIF;*.jpeg;*.JPEG;*.png;*.PNG", |
||
281 | file_types_description : "All Files", |
||
282 | file_upload_limit : 0, |
||
283 | //file_queue_limit : 0, |
||
284 | custom_settings : { |
||
285 | progressTarget : "fsUploadProgress", |
||
286 | cancelButtonId : "btnCancel", |
||
287 | showUpload : "ShowTmp" |
||
288 | }, |
||
289 | debug: true, |
||
290 | |||
291 | // Button Settings |
||
292 | button_image_url : "../javascript/swfupload/images/button.png", |
||
293 | button_placeholder_id : "spanButtonPlaceholder", |
||
294 | button_width: 61, |
||
295 | button_height: 22, |
||
296 | //button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT, |
||
297 | |||
298 | // The event handler functions are defined in handlers.js |
||
299 | swfupload_loaded_handler : swfUploadLoaded, |
||
300 | //file_queued_handler : fileQueued, |
||
301 | file_queue_error_handler : fileQueueError, |
||
302 | file_dialog_complete_handler : fileDialogComplete, |
||
303 | upload_start_handler : uploadStart, |
||
304 | upload_progress_handler : uploadProgress, |
||
305 | upload_error_handler : uploadError, |
||
306 | upload_success_handler : uploadSuccess, |
||
307 | upload_complete_handler : uploadComplete, |
||
308 | queue_complete_handler : queueComplete, // Queue plugin event |
||
309 | |||
310 | // SWFObject settings |
||
311 | minimum_flash_version : "9.0.28", |
||
312 | swfupload_pre_load_handler : swfUploadPreLoad, |
||
313 | swfupload_load_failed_handler : swfUploadLoadFailed |
||
314 | }; |
||
315 | swfu = new SWFUpload(settings); |
||
316 | } |
||
317 | </script> |
||
318 | <div id="divSWFUploadUI"> |
||
319 | <div id="ShowTmp"></div> |
||
320 | <div class="fieldset flash" id="fsUploadProgress"> |
||
321 | <span class="legend">图片上传</span> |
||
322 | </div> |
||
323 | <p id="divStatus">0 Files Uploaded</p> |
||
324 | <p> |
||
325 | <span id="spanButtonPlaceholder"></span> |
||
326 | <input id="btnCancel" type="button" value="Cancel All Uploads" disabled="disabled" style="margin-left: 2px; height: 22px; font-size: 8pt;" /> |
||
327 | <br /> |
||
328 | </p> |
||
329 | </div> |
||
330 | <noscript> |
||
331 | <div style="background-color: #FFFF66; border-top: solid 4px |
||
332 |
Adding explicit visibility (
private
,protected
, orpublic
) is generally recommend to communicate to other developers how, and from where this method is intended to be used.