public static function getCloud(Module_Links $module) { // $db = gdo_db(); $back = array(); if ($module->cfgShowPermitted()) { $conditions = ''; } else { $conditions = $module->getPermQuery(GWF_Session::getUser()); } $table = self::table('GWF_LinksTagMap'); if (false === ($result = $table->select('lt_name, COUNT(*) lt_count, link_score', $conditions, 'lt_name ASC', array('ltm_lid', 'ltm_ltid'), -1, -1, 'lt_name'))) { return $back; } while (false !== ($row = $table->fetch($result, self::ARRAY_A))) { if ($row['lt_name'] !== NULL) { $back[] = new GWF_LinksTag($row); } } $table->free($result); // $map = self::table(__CLASS__);#->getTableName(); // $tags = self::table('GWF_LinksTag')->getTableName(); // $links = self::table('GWF_Links')->getTableName(); // return $map // // if (false !== ($result = $db->queryAll("SELECT lt_name, COUNT(*) lt_count, link_score FROM $map LEFT JOIN $tags ON lt_id=ltm_ltid LEFT JOIN $links ON link_id=ltm_lid WHERE $conditions GROUP BY ltm_ltid ORDER BY lt_name ASC "))) // { // foreach ($result as $row) // { // $back[] = new GWF_LinksTag($row); // } // } // var_dump($back); return $back; }
function wcProfileOwnLinks(GWF_User $user, Module_Links $mod_links) { $linksT = GDO::table('GWF_Links'); $user_browsing = GWF_Session::getUser(); $perm_query = $mod_links->cfgShowPermitted() ? '1' : $mod_links->getPermQuery($user_browsing); $mod_query = $linksT->getModQuery($user_browsing); $member_query = $linksT->getMemberQuery($user_browsing); $private_query = $linksT->getPrivateQuery($user_browsing); $aff_query = $linksT->getUnaffQuery($user_browsing); $conditions = "({$perm_query}) AND ({$mod_query}) AND ({$member_query}) AND ({$private_query}) AND ({$aff_query})"; // $mod_links->onInclude(); // $mod_links->onLoadLanguage(); $links = $linksT->getTableName(); $votes = GDO::table('GWF_VoteScore')->getTableName(); $private = GWF_Links::ONLY_PRIVATE; $userid = $user->getID(); $query = "SELECT {$links}.*, {$votes}.* FROM {$links} JOIN {$votes} ON vs_id=link_voteid WHERE link_user={$userid} AND {$conditions}"; // var_dump($query); $db = gdo_db(); if (false === ($result = $db->queryRead($query))) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } $links = array(); while (false !== ($row = $db->fetchAssoc($result))) { $links[] = new GWF_Links($row); # $linksT->createClass($row); } if (0 === ($count = count($links))) { return ''; } return '<h2>' . WC_HTML::lang('own_links', array($user->displayUsername(), $count)) . '</h2>' . $mod_links->templateLinks($links, '', '', '', false, false, false, false); }
public function countLinks(Module_Links $module, $user, $tag, $moderated = false) { $links = self::table(__CLASS__); $perm_query = $module->getPermQuery($user); $tag_query = $this->getTagQuery($tag); $mod_query = $this->getModQuery($user); $member_query = $this->getMemberQuery($user); return $links->countRows("( ({$perm_query}) AND ({$tag_query}) AND ({$mod_query}) AND ({$member_query}) )"); }