$queryforumuser = MYSQL_QUERY("SELECT username FROM forum_users WHERE uid='" . $tradelist['userid'] . "'"); if (!($forumuser = MYSQL_FETCH_ARRAY($queryforumuser))) { continue; } unset($marketlanguage); $marketlanguagelist = explode(",", $tradelist['marketlanguage']); foreach ($marketlanguagelist as $languageid) { $marketlanguage .= "<img src='{$florensia->layer_rel}/flags/png/" . $flolang->lang[$languageid]->flagid . ".png' alt='" . $flolang->lang[$languageid]->languagename . "' title='" . $flolang->lang[$languageid]->languagename . "' border='0'> "; } if ($tradelist['exchange'] != "") { $tradelist['exchange'] = "<tr><td>{$flolang->market_details_info_exchange}</td><td>" . $parser->parse_message($tradelist['exchange'], array("allow_mycode" => 1, "filter_badwords" => 1)) . "</td></tr>"; } else { unset($tradelist['exchange']); } if ($tradelist['exchangegelt']) { $tradelist['exchangegelt'] = "<tr><td>Gelt:</td><td>" . get_geltstring($tradelist['exchangegelt'], $tradelist['itemamount']) . " Gelt</td></tr>"; } else { unset($tradelist['exchangegelt']); } if ($tradelist['exchangetype'] == "sell") { $sellers++; } else { $buyers++; } $marketuserlist .= "\n\t\t\t\t\t\t<div class='subtitle small market_{$tradelist['exchangetype']}' style='font-weight:normal;'>\n\t\t\t\t\t\t\t<table style='width:100%'>\n\t\t\t\t\t\t\t\t<tr><td style='width:150px;'>{$flolang->market_details_info_user}</td><td><a href='{$florensia->forumurl}/user-" . $tradelist['userid'] . ".html' target='_blank'>" . $florensia->escape($forumuser['username']) . "</a> (<a href='" . $florensia->outlink(array("usermarket", $tradelist['userid'], $forumuser['username'])) . "'>" . $flolang->sprintf($flolang->market_details_info_usermarketplace, $florensia->escape($forumuser['username'])) . "</a>)</td></tr>\n\t\t\t\t\t\t\t\t<tr><td>{$flolang->market_details_info_marketlanguage}</td><td>{$marketlanguage}</td></tr>\n\t\t\t\t\t\t\t\t<tr><td>{$flolang->market_details_info_server}</td><td><a href='" . $florensia->outlink(array('statistics', $tradelist['server'])) . "'>" . $tradelist['server'] . "</a></td></tr>\n\t\t\t\t\t\t\t\t<tr><td>{$flolang->market_details_info_character}</td><td><a href='" . $florensia->outlink(array('characterdetails', $tradelist['charname'])) . "'>" . $florensia->escape($tradelist['charname']) . "</a></td></tr>\n\t\t\t\t\t\t\t\t{$tradelist['exchangegelt']}\n\t\t\t\t\t\t\t\t<tr><td>{$flolang->market_details_info_amount}</td><td>" . $tradelist['itemamount'] . "</td></tr>\n\t\t\t\t\t\t\t\t<tr><td>{$flolang->market_details_info_timespan}</td><td>" . date("m.d.", $tradelist['createtime']) . "/" . date("m.d.", $tradelist['timeout']) . "</td></tr>\n\t\t\t\t\t\t\t\t{$tradelist['exchange']}\n\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t"; } if (!$marketuserlist) { $marketuserlist = "<div style='text-align:center' class='bordered small'>{$flolang->market_details_list_noentry}</div>"; } $legend = "\n\t\t\t\t\t<div class='small' style='margin-bottom:10px;'>\n\t\t\t\t\t\t<table style='width:100%'><tr>\n\t\t\t\t\t\t\t\t<td class='market_sell subtitle' style='font-weight:normal; width:50%;'>{$flolang->market_subtitle_sell}: " . $flolang->sprintf($flolang->market_itemdetails_summary_sell, $sellers) . "</td>\n\t\t\t\t\t\t\t\t<td class='market_buy subtitle' style='font-weight:normal;'>{$flolang->market_subtitle_buy}: " . $flolang->sprintf($flolang->market_itemdetails_summary_buy, $buyers) . "</td>\n\t\t\t\t\t\t\t</tr></table>\n\t\t\t\t\t</div>\n\t\t\t\t"; $marketoverview = "\n\t\t\t\t\t<div class='subtitle'>{$flolang->market_title_main}</div>\n\t\t\t\t\t<div class='small bordered' style='margin-bottom:15px;'>{$flolang->market_contactnotice}</div>\n\t\t\t\t\t<div>" . $florensia->adsense(0) . "</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<table style='width:100%'><tr>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t{$legend}\n\t\t\t\t\t\t\t{$marketuserlist}\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td style='width:300px; padding-left:8px;'>{$marketquickform}</td>\n\t\t\t\t\t\t</tr></table>\n\t\t\t\t\t</div>\n\t\t\t\t";
public function shortinfo($settings = array(), $specialattributes = array()) { global $florensia, $stringtable, $flolang, $flouserdata, $floaddition; $flolang->load("item,market"); $defaultsettings = array('namemaxlength' => 0); $settings = array_merge($defaultsettings, $settings); if (!is_array($this->data)) { return ""; } if (isset($this->data[$florensia->get_columnname("lvlland", "item")])) { $details[] = array("key" => $flolang->item_shortinfo_landlvl, "value" => $this->data[$florensia->get_columnname("lvlland", "item")]); } if (isset($this->data[$florensia->get_columnname("landclass", "item")])) { $details[] = array("key" => $flolang->item_shortinfo_class, "value" => join(", ", $florensia->get_classname($this->data[$florensia->get_columnname("landclass", "item")], "land"))); } if (isset($this->data[$florensia->get_columnname("lvlsea", "item")])) { $details[] = array("key" => $flolang->item_shortinfo_sealvl, "value" => $this->data[$florensia->get_columnname("lvlsea", "item")]); } if (isset($this->data[$florensia->get_columnname("seaclass", "item")])) { $details[] = array("key" => $flolang->item_shortinfo_class, "value" => join(", ", $florensia->get_classname($this->data[$florensia->get_columnname("seaclass", "item")], "sea"))); } if (isset($this->data[$florensia->get_columnname("duration", "item")]) && $this->data[$florensia->get_columnname("duration", "item")] != "4294967295") { $details[] = array("key" => $flolang->item_shortinfo_duration, "value" => round($this->data[$florensia->get_columnname("duration", "item")] / 60) . " h"); } if (isset($this->data[$florensia->get_columnname("gender", "item")]) && $this->data[$florensia->get_columnname("gender", "item")] != "4294967295") { if ($this->data[$florensia->get_columnname("gender", "item")] == 1) { $details[] = array("key" => $flolang->item_shortinfo_gender, "value" => "Female"); } else { $details[] = array("key" => $flolang->item_shortinfo_gender, "value" => "Male"); } } $queryitemcategorie = MYSQL_QUERY("SELECT selectby_itemtype FROM flobase_item_categories WHERE name_table='" . $this->data['tableid'] . "'"); $itemcategorie = MYSQL_FETCH_ARRAY($queryitemcategorie); if ($itemcategorie['selectby_itemtype']) { $details[] = array("key" => $flolang->item_shortinfo_itemtype, "value" => $this->get_type($this->data[$florensia->get_columnname("itemtype", "item")])); } if ($this->data['tableid'] == "skillbookitem") { $queryskill = MYSQL_QUERY("SELECT " . $florensia->get_columnname("masterlevel", "skill") . ", " . $florensia->get_columnname("classid", "skill") . " FROM server_skill WHERE " . $florensia->get_columnname("bookid", "skill") . "='" . $this->data[$florensia->get_columnname("description", "item")] . "' AND " . $florensia->get_columnname("skilllevel", "skill") . "!='0' ORDER BY " . $florensia->get_columnname("skilllevel", "skill") . ""); if ($skill = MYSQL_FETCH_ARRAY($queryskill)) { $details[] = array("key" => $flolang->item_shortinfo_skillmaxlvl, "value" => $skill[$florensia->get_columnname("masterlevel", "skill")]); unset($class); $class .= join(", ", $florensia->get_classname($skill[$florensia->get_columnname("classid", "skill")], "land")); $class .= join(", ", $florensia->get_classname($skill[$florensia->get_columnname("classid", "skill")], "sea")); $details[] = array("key" => $flolang->item_shortinfo_class, "value" => $class); } } foreach ($specialattributes as $key => $value) { $details[] = array("key" => "{$key}:", "value" => $value); } $shortinfolink = $florensia->outlink(array("itemdetails", $this->data['itemid'], $this->get_name())); //-------- end normal shortinfo -------------------- unset($exchangestatus); $maxlength = 0; if (intval($settings['marketid'])) { global $parser; $querymarket = MYSQL_QUERY("SELECT userid, itemid, itemamount, exchange, exchangegelt, exchangetype, server, charname, timeout, marketlanguage FROM flobase_usermarket as m, flobase_character as c WHERE id='{$settings['marketid']}' AND m.characterid=c.characterid"); if ($market = MYSQL_FETCH_ARRAY($querymarket)) { unset($marketlanguage); $marketlanguagelist = explode(",", $market['marketlanguage']); foreach ($marketlanguagelist as $languageid) { $marketlanguage .= "<img src='{$florensia->layer_rel}/flags/png/" . $flolang->lang[$languageid]->flagid . ".png' alt='" . $flolang->lang[$languageid]->languagename . "' title='" . $flolang->lang[$languageid]->languagename . "' border='0'> "; } $details2[] = array("key" => $flolang->market_shortinfo_user, "value" => $flouserdata->get_username($market['userid']) . " {$marketlanguage}"); $details2[] = array("key" => "", "value" => "<a href='" . $florensia->outlink(array("usermarket", $market['userid'], $flouserdata->get_username($market['userid'], array('rawoutput' => true)))) . "'>" . $flolang->sprintf($flolang->market_details_info_usermarketplace, $florensia->escape($flouserdata->get_username($market['userid'], array('rawoutput' => true)))) . "</a>"); $details2[] = array("key" => $flolang->market_shortinfo_character, "value" => "<a href='" . $florensia->outlink(array('characterdetails', $market['charname'])) . "'>" . $florensia->escape($market['charname']) . "</a>"); $details2[] = array("key" => $flolang->market_shortinfo_server, "value" => "<a href='" . $florensia->outlink(array('statistics', $market['server'])) . "'>{$market['server']}</a>"); if ($market['exchangegelt']) { $details2[] = array("key" => "Gelt:", "value" => get_geltstring($market['exchangegelt'], $market['itemamount'])); } $details2[] = array("key" => $flolang->market_shortinfo_amount, "value" => $market['itemamount']); $details2[] = array("key" => $flolang->market_shortinfo_until, "value" => date("m.d.", $market['timeout'])); if ($market['exchangetype'] == "sell") { $market_exchangestatus = $flolang->market_shortinfo_exchangetype_sell . " "; } else { $market_exchangestatus = $flolang->market_shortinfo_exchangetype_buy . " "; } $parser_options = array('allow_html' => 0, 'allow_mycode' => 1, 'allow_smilies' => 0, 'allow_imgcode' => 0, 'filter_badwords' => 1); $addinfo = strip_tags($parser->parse_message($market['exchange'], $parser_options)); if (strlen($addinfo) > 0 && !$settings['fullmarketexchange']) { if (strlen($addinfo) > 120) { $details3 = substr($addinfo, 0, 120) . "..."; } else { $details3 = $addinfo; } } $shortinfolink = $florensia->outlink(array("itemdetails", $market['itemid'], $this->get_name()), array(), array("anchor" => "market")); } } elseif ($settings['marketlist']) { $marketlist = array(); $querymarket = MYSQL_QUERY("SELECT id FROM flobase_usermarket WHERE itemid='{$this->data['itemid']}' AND exchangetype='buy'"); if (($buyamount = MYSQL_NUM_ROWS($querymarket)) > 0) { $details2[] = array("key" => " ", "value" => "{$flolang->market_subtitle_buy}:</span> <a href='" . $florensia->outlink(array("itemdetails", $this->data['itemid'], $this->get_name()), array(), array("anchor" => "market")) . "'>" . $flolang->sprintf($flolang->market_itemdetails_summary_buy, $buyamount) . "</a>"); } $querymarket = MYSQL_QUERY("SELECT id FROM flobase_usermarket WHERE itemid='{$this->data['itemid']}' AND exchangetype='sell'"); if (($sellamount = MYSQL_NUM_ROWS($querymarket)) > 0) { $details2[] = array("key" => " ", "value" => "{$flolang->market_subtitle_sell}:</span> <a href='" . $florensia->outlink(array("itemdetails", $this->data['itemid'], $this->get_name()), array(), array("anchor" => "market")) . "'>" . $flolang->sprintf($flolang->market_itemdetails_summary_sell, $sellamount) . "</a>"); } } if (!intval($settings['marketid'])) { $limit = 4 - count($details2); //if marketlist get some results... $querydropnpc = MYSQL_QUERY("SELECT s.{$stringtable->language} as name, d.npcid, COUNT(v.userid) as verified FROM flobase_droplist as d INNER JOIN server_stringtable as s ON (d.npcid=s.Code) LEFT JOIN flobase_droplist_verified as v ON (v.dropid=d.dropid) WHERE d.itemid='{$this->data['itemid']}' GROUP BY d.dropid ORDER BY verified DESC, thumpsup DESC, thumpsdown LIMIT {$limit}"); while ($dropnpc = MYSQL_FETCH_ARRAY($querydropnpc)) { $details2[] = array("key" => " ", "value" => "<a href='" . $florensia->outlink(array("npcdetails", $dropnpc['npcid'], $dropnpc['name'])) . "'>" . $florensia->escape($dropnpc['name']) . "</a>"); } } //-------- additional details if (!isset($details)) { $details = array(); } unset($detailstable); if (intval($settings['marketid'])) { foreach ($details as $key => $value) { $detailstable .= "<tr><td>{$value['key']} {$value['value']}</td></tr>"; } } else { for ($i = 0; $i < count($details); $i = $i + 2) { $detailstable .= "<tr><td style='width:50%'>" . $details[$i]['key'] . " " . $details[$i]['value'] . "</td><td>" . $details[$i + 1]['key'] . " " . $details[$i + 1]['value'] . "</td></tr>"; } } if (!isset($details2)) { $details2[''] = ""; } unset($detailstable2); foreach ($details2 as $key => $value) { $detailstable2 .= "<tr><td style='text-align:right;'>{$value['key']} {$value['value']}</td></tr>"; } unset($detailstable3); if (isset($details3)) { $detailstable3 = "<tr><td colspan='2'>{$details3}</td></tr>"; } $stringsettings = array('protectionlink' => 1, 'itemgrade' => $this->data[$florensia->get_columnname("raregrade", "item")], 'maxlength' => $settings['namemaxlength']); $addition = $floaddition->get_additionlist("item", $this->data['itemid']); if ($addition['not_implemented'] or $addition['removed'] or $addition['event']) { $stringsettings['color'] = "195,195,195"; $tablecolor = "class='inactiveentry'"; } if (count($addition)) { $flag = "<div class='small shortinfo_1'>" . join("<br/>", $addition) . "</div>"; $flagicon = "<img src='{$florensia->layer_rel}/flag.gif' boder='0' style='height:12px;' " . popup($flag, "") . ">"; } return "\n\t\t\t<table style='width:100%;' class='small {$tablecolor}'>\n\t\t\t\t<tr>\n\t\t\t\t\t<td style='height:10px;'><a href='{$shortinfolink}'>{$market_exchangestatus}" . $stringtable->get_string($this->data['itemid'], $stringsettings) . "</a> {$flagicon}</td>\n\t\t\t\t\t<td style='text-align:right; vertical-align:top' rowspan='2'><table style='width:100%;'>{$detailstable2}</table></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td style='vertical-align:top; width:60%;'>\n\t\t\t\t\t\t<table style='width:100%'>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td style='width:32px; vertical-align:top'><a href='{$shortinfolink}'>" . $florensia->pictureprotection($this->data['itempicture'], $this->get_name()) . "</a></td>\n\t\t\t\t\t\t\t\t<td style='vertical-align:top; margin-left:10px;'>\n\t\t\t\t\t\t\t\t\t<table style='width:100%;'>\n\t\t\t\t\t\t\t\t\t\t{$detailstable}\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t{$detailstable3}\t\n\t\t\t</table>\n\t\t"; }