/** * @desc Visualiza todas las imágenes de la etiqueta especificada **/ function imgsTag() { global $tpl, $xoopsOption, $xoopsUser, $xoopsConfig, $xoopsModuleConfig, $db, $page, $tag, $usr, $hits; $xoopsOption['template_main'] = 'gs_imagestag.html'; $xoopsOption['module_subpage'] = 'exploretags'; include 'header.php'; $mc =& $xoopsModuleConfig; GSFunctions::makeHeader(); //Verificamos si la etiqueta existe $tag = new GSTag($tag); if ($tag->isNew()) { redirect_header(GSFunctions::get_url(), 1, __('Specified tag does not exists!', 'galleries')); die; } //Incrementamos el número de hits de la etiqueta if (!isset($_SESSION['vtags'])) { $tag->addHit(); $_SESSION['vtags'] = array($tag->id()); } elseif (!in_array($tag->id(), $_SESSION['vtags'])) { $tag->addHit(); $_SESSION['vtags'][] = $tag->id(); } //Verificamos si el usuario existe if (isset($usr)) { $user = new GSUser($usr); if ($user->isNew()) { redirect_header(GSFunctions::get_url(), 1, __('Specified user does not exists!', 'galleries')); die; } $users[$user->uid()] = $user; } //Barra de Navegación $sql = "SELECT COUNT(*) FROM " . $db->prefix('gs_tagsimages') . " a INNER JOIN " . $db->prefix('gs_images'); $sql .= " b ON (a.id_tag=" . $tag->id() . " AND a.id_image=b.id_image AND b.public=2"; $sql .= $usr ? " AND b.owner=" . $user->uid() . ") " : ")"; $limit = $xoopsModuleConfig['num_imgstags']; list($num) = $db->fetchRow($db->query($sql)); if ($page > 0) { $page -= 1; } $start = $page * $limit; $tpages = (int) ($num / $limit); if ($num % $limit > 0) { $tpages++; } $pactual = $page + 1; if ($pactual > $tpages) { $rest = $pactual - $tpages; $pactual = $pactual - $rest + 1; $start = ($pactual - 1) * $limit; } if ($tpages > 1) { if ($mc['urlmode']) { $urlnav = 'explore/tags/tag/' . $tag->getVar('nameid') . '/'; $urlnav .= $usr ? 'usr/' . $user->uname() . '/' : ''; } else { $urlnav = '?xplore=tags&tag=' . $tag->getVar('nameid'); $urlnav .= $usr ? '&usr='******''; } $nav = new RMPageNav($num, $limit, $pactual, 5); $nav->target_url(GSFunctions::get_url() . $urlnav . ($mc['urlmode'] ? 'pag/{PAGE_NUM}/' : '&pag={PAGE_NUM}')); $tpl->assign('tagsNavPage', $nav->render(false)); } $showmax = $start + $limit; $showmax = $showmax > $num ? $num : $showmax; $tpl->assign('lang_showing', sprintf(__('Showing photos %u to %u from %u.', 'galleries'), $start + 1, $showmax, $num)); $tpl->assign('limit', $limit); $tpl->assign('pag', $pactual); //Fin de barra de navegación //Obtenemos las imágenes pertenecientes a la etiqueta $sql = "SELECT b.* FROM " . $db->prefix('gs_tagsimages') . " a INNER JOIN " . $db->prefix('gs_images'); $sql .= " b ON (a.id_tag=" . $tag->id() . " AND a.id_image=b.id_image AND b.public=2"; $sql .= $usr ? " AND b.owner=" . $user->uid() . ") " : ")"; $sql .= " GROUP BY b.id_image"; $sql .= " ORDER BY `created` DESC LIMIT {$start}, {$limit}"; $result = $db->query($sql); $tpl->assign('images', GSFunctions::process_image_data($result)); $tpl->assign('lang_picstag', $usr ? sprintf(__('%s: tagged as %s', 'galleries'), $user->uname(), $tag->tag()) : sprintf(__('Images tagged as "%s"', 'galleries'), $tag->tag())); $tpl->assign('tagname', $tag->tag()); $tpl->assign('usr', $usr); if ($usr) { $tpl->assign('pics_link', GS_URL . '/' . ($mc['urlmode'] ? "usr/" . $user->uname() : "user.php?id=usr/" . $user->uname() . "/")); $tpl->assign('tags_link', GS_URL . '/' . ($mc['urlmode'] ? "explore/tags/usr/" . $user->uname() . "/" : "explore.php?by=explore/tags/usr/" . $user->uname() . "/")); $tpl->assign('sets_link', GS_URL . '/' . ($mc['urlmode'] ? "explore/sets/usr/" . $user->uname() . "/" : "explore.php?by=explore/sets/usr/" . $user->uname() . "/")); $tpl->assign('bmark_link', GS_URL . '/' . ($mc['urlmode'] ? "cpanel/booksmarks/" : "cpanel.php?s=cpanel/bookmarks")); } include 'footer.php'; }