/** * @desc Muestra el contenido completo de una sección */ function showSection(RDResource &$res, RDSection &$section) { global $xoopsUser, $xoopsModuleConfig, $xoopsOption, $xoopsTpl, $xoopsConfig, $standalone; include 'header.php'; $xoopsTpl->assign('xoops_pagetitle', $section->getVar('title')); // Resource data $resource = array('id' => $res->id(), 'title' => $res->getVar('title'), 'link' => $res->permalink(), 'reads' => $res->getVar('reads')); $res->add_read($res); // Navegación de Secciones $db = XoopsDatabaseFactory::getDatabaseConnection(); $sql = "SELECT * FROM " . $db->prefix("rd_sections") . " WHERE id_res='" . $res->id() . "' AND parent = '0' ORDER BY `order`"; $result = $db->query($sql); $i = 1; $number = 1; $located = false; // Check if current position has been located while ($row = $db->fetchArray($result)) { $sec = new RDSection(); $sec->assignVars($row); if ($sec->id() == $section->id()) { $number = $i; $located = true; } if ($sec->id() == $section->id() && isset($sprev)) { $prev_section = array('id' => $sprev->id(), 'title' => $sprev->getVar('title'), 'link' => $sprev->permalink()); } if ($number == $i - 1 && $located) { $next_section = array('id' => $sec->id(), 'title' => $sec->getVar('title'), 'link' => $sec->permalink()); break; } $i++; $sprev = $sec; } $GLOBALS['rd_section_number'] = $number; $sections = RDFunctions::get_section_tree($section->id(), $res, $number, true); array_walk($sections, 'rd_insert_edit'); // Check last modification date $last_modification = 0; foreach ($sections as $sec) { if ($sec['modified'] > $last_modification) { $last_modification = $sec['modified']; $last_author = array('id' => $sec['author'], 'name' => $sec['author_name']); } } // Event $sections = RMEvents::get()->run_event('docs.show.section', $sections, $res, $section); RMTemplate::get()->add_style('docs.css', 'docs'); RMTemplate::get()->add_jquery(); RMTemplate::get()->add_script(XOOPS_URL . '/modules/docs/include/js/docs.js'); // URLs if ($xoopsModuleConfig['permalinks']) { /** * @todo Generate friendly links */ if (RMFunctions::plugin_installed('topdf')) { $pdf_book_url = RDFunctions::url() . '/pdfbook/' . $section->id() . '/'; $pdf_section_url = RDFunctions::url() . '/pdfsection/' . $section->id() . '/'; } $print_book_url = RDFunctions::url() . '/printbook/' . $section->id() . '/'; $print_section_url = RDFunctions::url() . '/printsection/' . $section->id() . '/'; if (RDFunctions::new_resource_allowed($xoopsUser ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS)) { $publish_url = RDFunctions::url() . '/publish/'; } } else { if (RMFunctions::plugin_installed('topdf')) { $pdf_book_url = XOOPS_URL . '/modules/docs/index.php?page=content&id=' . $section->id() . '&action=pdfbook'; $pdf_section_url = XOOPS_URL . '/modules/docs/index.php?page=content&id=' . $section->id() . '&action=pdfsection'; } $print_book_url = XOOPS_URL . '/modules/docs/index.php?page=content&id=' . $section->id() . '&action=printbook'; $print_section_url = XOOPS_URL . '/modules/docs/index.php?page=content&id=' . $section->id() . '&action=printsection'; if (RDFunctions::new_resource_allowed($xoopsUser ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS)) { $publish_url = RDFunctions::url() . '/?action=publish'; } } // Comments RMFunctions::get_comments('docs', 'res=' . $res->id() . '&id=' . $section->id(), 'module', 0); RMFunctions::comments_form('docs', 'res=' . $res->id() . '&id=' . $section->id(), 'module', RDPATH . '/class/mywordscontroller.php'); RDFunctions::breadcrumb(); RMBreadCrumb::get()->add_crumb($res->getVar('title'), $res->permalink()); RMBreadCrumb::get()->add_crumb($section->getVar('title'), $section->permalink()); include RMEvents::get()->run_event('docs.section.template', RMTemplate::get()->get_template('rd_section.php', 'module', 'docs')); if ($standalone) { RDFunctions::standalone(); } include 'footer.php'; }
/** * @desc Mostramos el contenido de un Álbum */ function showSetContent() { global $usr, $db, $xoopsModule, $mc, $xoopsModuleConfig, $xoopsConfig, $xoopsUser, $xoopsOption, $tpl, $page; global $pag, $set; $mc =& $xoopsModuleConfig; $user = new GSUser($usr); if ($user->isNew()) { redirect_header(GSFunctions::get_url(), 0, __('Specified users does not exists!', 'galleries')); die; } $set = new GSSet($set); if ($set->isNew()) { redirect_header(GSFunctions::get_url(), 0, __('Specified album does not exists!', 'galleries')); die; } //Verificamos la privacidad del album if (!$set->ispublic()) { if (!$xoopsUser || $xoopsUser->uid() != $set->owner()) { redirect_header(GSFunctions::get_url(), 1, __('You can not view this private album!', 'galleries')); die; } } else { if (!$xoopsUser && $set->isPublic() == 1 && !$user->isFriend($xoopsUser->uid())) { redirect_header(GSFunctions::get_url(), 1, sprintf(__('You must be a friend of %s in order to see this album!', 'galleries'), $user->uname())); die; } } //Incrementamos el número de hits del album if (!isset($_SESSION['vsets'])) { $set->addHit(); $_SESSION['vsets'] = array($set->id()); } elseif (!in_array($set->id(), $_SESSION['vsets'])) { $set->addHit(); $_SESSION['vsets'][] = $set->id(); } $xoopsOption['template_main'] = $mc['set_format_mode'] ? 'gs_setpics.html' : 'gs_userpics.html'; $xoopsOption['module_subpage'] = 'userset'; include 'header.php'; GSFunctions::makeHeader(); // Información del Usuario $tpl->assign('lang_picsof', sprintf(__('Pictures in %s'), $set->title())); $tpl->assign('user', array('id' => $user->uid(), 'uname' => $user->uname(), 'avatar' => RMEvents::get()->run_event('rmcommon.get.avatar', $user->userVar('email'), 0, $user->userVar('user_avatar')), 'link' => $user->userURL())); $tpl->assign('set', array('title' => $set->title(), 'description' => $set->getVar('description', 's'))); // Lenguaje $tpl->assign('lang_bmark', __('Favorites', 'galleries')); $tpl->assign('lang_pics', __('Pictures', 'galleries')); $tpl->assign('sets_link', GSFunctions::get_url() . ($mc['urlmode'] ? "explore/sets/usr/" . $user->uname() . '/' : "?explore=sets&usr="******"explore/tags/usr/" . $user->uname() . '/' : "?explore=tags&usr="******"cp/bookmarks/" : "?cp=bookmarks")); $tpl->assign('xoops_pagetitle', sprintf(__('Pictures in %s'), $set->title()) . ' » ' . $mc['section_title']); $tpl->assign('lang_numpics', sprintf(__('Pictures: %s', 'galleries'), $set->pics())); $tpl->assign('lang_numviews', sprintf(__('Hits: %s'), $set->hits())); global $xoTheme; if ($set->getVar('description') != '') { $xoTheme->addMeta('meta', 'description', TextCleaner::clean_disabled_tags($set->getVar('description'))); } //Verificamos la privacidad de las imágenes if ($xoopsUser && $xoopsUser->uid() == $user->uid()) { $public = ''; } else { if ($xoopsUser && $user->isFriend($xoopsUser->uid())) { $public = " AND public<>0"; } else { $public = "AND public='2'"; } } $tbl1 = $db->prefix("gs_images"); $tbl2 = $db->prefix("gs_setsimages"); $sql = "SELECT COUNT(*) FROM {$tbl1} a, {$tbl2} b WHERE b.id_set='" . $set->id() . "' AND a.id_image=b.id_image {$public} AND owner='" . $user->uid() . "'"; $page = $page > 0 ? $page : 1; /** * @desc Formato para el manejo de las imágenes */ if ($mc['set_format_mode']) { $format = $mc['set_format_values']; $crop = $format[0]; // 0 = Redimensionar, 1 = Cortar $width = $format[1]; $height = $format[2]; $limit = $format[3]; $cols = $format[4]; @($showdesc = $format[5]); // Imágenes Grandes $format = $mc['setbig_format_values']; $bcrop = $format[0]; $bwidth = $format[1]; $bheight = $format[2]; $blimit = $format[3]; $bcols = $format[4]; @($bshowdesc = $format[5]); // Medidas $tpl->assign('big_width', $bwidth + 15); } else { $limit = $mc['limit_pics']; $cols = $mc['cols_pics']; $showdesc = 0; } 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) { $pactual = $tpages; $start = ($tpages - 1) * $limit; } $urlnav = ''; if ($tpages > 1) { $urlnav .= $mc['urlmode'] ? 'usr/' . $user->uname() . '/set/' . $set->id() : '?usr='******'&set=' . $set->id(); $nav = new RMPageNav($num, $limit, $pactual, 5); $nav->target_url(GSFunctions::get_url() . $urlnav . ($mc['urlmode'] ? '/pag/{PAGE_NUM}/' : '&pag={PAGE_NUM}')); $tpl->assign('upNavPage', $nav->render(false)); } $showmax = $start + $limit; $showmax = $showmax > $num ? $num : $showmax; $tpl->assign('lang_showing', sprintf(__('Showing pictures %u to %u out of %u.', 'galleries'), $start + 1, $showmax, $num)); $tpl->assign('limit', $limit); $tpl->assign('pag', $pactual); //Fin de barra de navegación $sql = str_replace("COUNT(*)", '*', $sql); $sql .= " ORDER BY a.id_image ASC, a.modified DESC LIMIT {$start}, {$limit}"; $result = $db->query($sql); while ($row = $db->fetchArray($result)) { $img = new GSImage(); $img->assignVars($row); $imglink = $user->userURL() . ($mc['urlmode'] ? 'img/' . $img->id() . '/set/' . $set->id() . '/' : '&img=' . $img->id() . '&set=' . $set->id()); $imgfile = $user->filesURL() . '/' . ($mc['set_format_mode'] ? 'formats/set_' : 'ths/') . $img->image(); // Conversion de los formatos if (!$img->setFormat() && $mc['set_format_mode']) { GSFunctions::resizeImage($crop, $user->filesPath() . '/' . $img->image(), $user->filesPath() . '/formats/set_' . $img->image(), $width, $height); $img->setSetFormat(1, 1); } $tpl->append('images', array('id' => $img->id(), 'title' => $img->title(), 'thumbnail' => $imgfile, 'link' => $imglink, 'bigimage' => $user->filesURL() . '/' . $img->image())); } // Imagen grande del album $sql = "SELECT * FROM {$tbl1} a, {$tbl2} b WHERE b.id_set='" . $set->id() . "' AND a.id_image=b.id_image {$public} AND owner='" . $user->uid() . "' \n\t\t\tORDER BY a.id_image DESC LIMIT 0,{$blimit}"; $result = $db->query($sql); $bi = 0; $tf = new RMTimeFormatter(0, __('%m%/%d%/%Y% %h%:%i%', 'galleries')); // cremos la imagen grande para los albumes while ($row = $db->fetchArray($result)) { $img = new GSImage(); $img->assignVars($row); if ($mc['set_format_mode'] && !$img->bigSetFormat()) { GSFunctions::resizeImage($bcrop, $user->filesPath() . '/' . $img->image(), $user->filesPath() . '/formats/bigset_' . $img->image(), $bwidth, $bheight); $img->setBigSetFormat(1, 1); } if ($mc['set_format_mode']) { list($ancho, $altura, $tipo, $atr) = getimagesize($user->filesPath() . '/formats/bigset_' . $img->image()); $tpl->assign('big_width', $ancho); } $imglink = $user->userURL() . 'img/' . $img->id() . '/set/' . $set->id() . '/'; // ASignamos las imagenes grandes para los albumes $imgfile = $user->filesURL() . '/' . ($mc['set_format_mode'] ? 'formats/bigset_' : 'ths/') . $img->image(); if ($bi == 0) { $tpl->assign('lang_updated', sprintf(__('Updated on %s', 'galleries'), $tf->format($img->created()))); } $tpl->append('bigs', array('id' => $img->id(), 'title' => $img->title(), 'image' => $imgfile, 'link' => $imglink)); } RMFunctions::get_comments('galleries', 'set=' . $set->id()); // Comments form RMFunctions::comments_form('galleries', 'set=' . $set->id(), 'module', GS_PATH . '/class/galleriescontroller.php'); // Datos para el formato $tpl->assign('max_cols', $cols); include 'footer.php'; }
} // Show all content $toc = array(); RDFunctions::sections_tree_index(0, 0, $res, '', '', false, $toc, true); array_walk($toc, 'rd_insert_edit'); $last_modification = 0; foreach ($toc as $sec) { if ($sec['modified'] > $last_modification) { $last_modification = $sec['modified']; $last_author = array('id' => $sec['author'], 'name' => $sec['author_name']); } } RMTemplate::get()->add_jquery(); RMTemplate::get()->add_script(XOOPS_URL . '/modules/docs/include/js/docs.js'); // Comments RMFunctions::get_comments('docs', 'res=' . $res->id(), 'module', 0); RMFunctions::comments_form('docs', 'res=' . $res->id(), 'module', RDPATH . '/class/docscontroller.php'); $res->add_read(); // URLs if ($xoopsModuleConfig['permalinks']) { $config = array(); $config =& $xoopsModuleConfig; /** * @todo Generate friendly links */ if (RMFunctions::plugin_installed('topdf')) { $pdf_book_url = ($xoopsModuleConfig['subdomain'] != '' ? $xoopsModuleConfig['subdomain'] : XOOPS_URL) . $xoopsModuleConfig['htpath'] . '/pdfbook/' . $toc[0]['id'] . '/'; } $print_book_url = ($xoopsModuleConfig['subdomain'] != '' ? $xoopsModuleConfig['subdomain'] : XOOPS_URL) . $xoopsModuleConfig['htpath'] . '/printbook/' . $toc[0]['id'] . '/'; if (RDFunctions::new_resource_allowed($xoopsUser ? $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS)) { $publish_url = RDFunctions::url() . '/publish/';
// Plugins? $post_arr = RMEvents::get()->run_event('mywords.view.post', $post_arr, $post); $xoopsTpl->assign('post', $post_arr); // Social sites if ($xoopsModuleConfig['showbookmarks']) { foreach ($socials as $site) { $xoopsTpl->append('socials', array('title' => $site->getVar('title'), 'icon' => $site->getVar('icon'), 'url' => $site->link($post->getVar('title'), $post->permalink(), TextCleaner::truncate($post->content(true), 60)), 'alt' => $site->getVar('alt'))); } } unset($tags_list); // Comments // When use the common utilities comments system you can choose between // use of Common Utilities templates or use your own templates // We will use MyWords included templates if ($post->getVar('comstatus')) { $comms = RMFunctions::get_comments('mywords', 'post=' . $post->id(), 'module', 0, null, false); if (count($comms) != $post->getVar('comments')) { $post->setVar('comments', count($comms)); $xoopsDB->queryF("UPDATE " . $xoopsDB->prefix("mw_posts") . " SET `comments`=" . count($comms) . " WHERE id_post=" . $post->id()); } $xoopsTpl->assign('comments', $comms); // Comments form RMFunctions::comments_form('mywords', 'post=' . $post->id(), 'module', MW_PATH . '/class/mywordscontroller.php'); } // Load trackbacks $trackbacks = $post->trackbacks(); foreach ($trackbacks as $tb) { $xoopsTpl->append('trackbacks', array('id' => $tb->id(), 'title' => $tb->getVar('title'), 'blog' => $tb->getVar('blog_name'), 'url' => $tb->getVar('url'), 'text' => $tb->getVar('excerpt'), 'date' => formatTimestamp($tb->getVar('date'), 'c'))); } // Language $xoopsTpl->assign('lang_publish', __('Published in', 'mywords'));
} $tpl->assign('lang_desc', __('Description', 'works')); $tpl->assign('lang_catego', __('Category', 'works')); $tpl->assign('lang_client', __('Customer', 'admin_works')); $tpl->assign('lang_start', __('Begins', 'works')); $tpl->assign('lang_period', __('Time length', 'works')); $tpl->assign('lang_comment', __('Comment', 'works')); $tpl->assign('lang_cost', __('Price', 'works')); $tpl->assign('lang_others', __('Related Works', 'works')); $tpl->assign('lang_date', __('Date', 'works')); $tpl->assign('lang_images', __('Work Images', 'works')); $tpl->assign('lang_site', __('Web site', 'works')); $tpl->assign('lang_mark', __('Featured', 'works')); $tpl->assign('lang_rating', __('Our Rate', 'works')); $tpl->assign('works_type', $mc['other_works']); $tpl->assign('lang_views', __('Views', 'works')); $imgSize = $mc['image_main']; $thsSize = $mc['image_ths']; $tpl->assign('widthimg', $thsSize[0] + 10); $tpl->assign('widthOther', $thsSize[0] + 20); PWFunctions::makeHeader(); RMFunctions::get_comments('works', 'work=' . $work->id()); // Comments form RMFunctions::comments_form('works', 'work=' . $work->id(), 'module', PW_ROOT . '/class/workscontroller.php'); // Professional Works uses LightBox plugin to show // work images. if (RMFunctions::plugin_installed('lightbox')) { RMLightbox::get()->add_element('#pw-work-images a'); RMLightbox::get()->render(); } include 'footer.php';