<?php $TemplateDir = PICMAN_DEFAULT_TEMP; $imgdir = GetDirForCollection($page_id); $prev_href = ''; $prev_name = ''; $next_href = ''; $next_name = ''; if (!empty($imgdir)) { $link = db_fetch_array(db_query("SELECT uid_col FROM {links} WHERE id = {$page_id}")); if ($link['uid_col']) { $item = db_fetch_array(db_query("SELECT * FROM {collections} WHERE uniqid = '" . $link['uid_col'] . "'")); } else { $item = db_fetch_array(db_query("SELECT * FROM {collections} WHERE id = {$page_id}")); } $temp = db_fetch_array(db_query("\n\tSELECT P.template AS template\n\tFROM {categories} P, {categories} C\n\tWHERE C.uniqid = '%s' AND P.lnum <= C.lnum AND P.rnum >= C.rnum AND P.template != ''\n\tORDER BY P.lnum DESC\n\tLIMIT 1", $item['uid_cat'])); $picholes = array(); if (!empty($item['holes'])) { foreach (split(',', $item['holes']) as $range) { list($range_from, $range_to) = split('-', $range); if (isset($range_to) && $range_to) { for ($i = $range_from; $i <= $range_to; $i++) { $picholes[] = $i; } } else { $picholes[] = $range_from; } } } if (is_dir(PICMAN_TEMPLATE_DIR . $temp['template'])) { $TemplateDir = $temp['template'];
function GetGrpContent($id_cat, $item_txt, $txt_pre, $txt_post, $txt_prerow, $txt_postrow) { global $PICMAN_INFO, $page_pg, $num_total_pages; if (!$id_cat) { return array('', ''); } $pagesel = ''; $group = db_fetch_array(db_query("SELECT colcols, colrows FROM {categories} WHERE id = {$id_cat}")); $perpage = $group['colcols'] * $group['colrows']; $ticodir = $PICMAN_INFO['dircat']; $result = db_query("\n\tSELECT DISTINCT\n\t\tG.id AS id, G.uniqid AS uniqid, G.name AS name, G.weight AS weight, G.quantity AS quantity, G.date_create AS dcreate,\n\t\tG.icoindex AS icoindex, G.coldir AS coldir, G.thumbsubdir AS thumbsubdir, G.thumbtemp AS thumbtemp, G.uid_cat AS uid_cat, 0 AS linkitem\n\tFROM {categories} C\n\t\tINNER JOIN {collections} G ON (C.uniqid = G.uid_cat)\n\tWHERE C.id = {$id_cat}\n\t\n\tUNION SELECT\n\t\tG.id AS id, G.uniqid AS uniqid, G.name AS name, L.weight AS weight, G.quantity AS quantity, G.date_create AS dcreate,\n\t\tG.icoindex AS icoindex, G.coldir AS coldir, G.thumbsubdir AS thumbsubdir, G.thumbtemp AS thumbtemp, G.uid_cat AS uid_cat, 1 AS linkitem\n\tFROM {categories} C\n\t\tINNER JOIN {links} L ON (C.uniqid = L.uid_cat)\n\t\tINNER JOIN {collections} G ON (L.uid_col = G.uniqid)\n\tWHERE C.id = {$id_cat}\n\n\tORDER BY weight DESC, dcreate DESC, name\n\t"); $txt = ''; if ($num = db_num_rows($result)) { $page = 1; $total = (int) ($num / $perpage); if ($num % $perpage) { $total++; } if (isset($page_pg) && $page_pg > 1) { $page = $page_pg; if ($page > $total) { $page = $total; } } $startnum = ($page - 1) * $perpage; $maxnum = $page < $total ? $perpage : $num - ($total - 1) * $perpage; $num_total_pages = $total; $txt .= $txt_pre; $pgnumtemp = '%02d'; if ($total > 1) { $pages_arr = array(); for ($p = 1; $p <= $total; $p++) { if ($p == $page_pg) { $pages_arr[] = sprintf("<B>{$pgnumtemp}</B>", $p); } else { $pages_arr[] = sprintf('<a href="' . PICMAN_MAIN . "i%03dp%03d.html\">{$pgnumtemp}</a>", $id_cat, $p, $p); } } $pagesel = join(' || ', $pages_arr); } $arr_collections = array(); $arr_links = array(); db_seek($result, $startnum); for ($rec = $startnum; $rec < $num && $rec < $startnum + $perpage; $rec++) { $grp_dir = ''; $grp = db_fetch_array($result); if (!empty($grp['icoindex'])) { $grp_dir = "{$ticodir}/" . $grp['coldir']; $icoarr = split(':', $grp['icoindex']); if ($icoarr[0] == 'T') { // Jako ikona będzie thumnbails $grp['icoindex'] = sprintf($grp['thumbsubdir'] . "/" . $grp['thumbtemp'], $icoarr[1]); } if ($grp['linkitem']) { $grp_dir = ''; } } $arr_collections[] = array('id' => $grp['id'], 'name' => $grp['name'], 'count' => $grp['quantity'], 'icon' => $grp['icoindex'], 'dir' => $grp_dir, 'uniqid' => $grp['uniqid'], 'date' => date('Y-m-d', strtotime($grp['dcreate'])), 'link' => $grp['linkitem']); $arr_links[$grp['uniqid']] = $grp['uid_cat']; } $links_output = array(); $qid_links = db_query("\n\t\tSELECT DISTINCT C.id AS id, C.name AS name, L.uid_col AS uid_col FROM {links} L\n\t\t\tINNER JOIN {categories} C ON (C.uniqid = L.uid_cat)\n\t\tWHERE\n\t\t\t(L.uid_cat IN ('" . join("','", array_unique(array_values($arr_links))) . "') OR L.uid_col IN ('" . join("','", array_unique(array_keys($arr_links))) . "'))\n\t\t\tAND C.id != {$id_cat}\n\n\t\tUNION SELECT C.id AS id, C.name AS name, G.uniqid AS uid_col FROM {collections} G\n\t\t\tINNER JOIN {categories} C ON (C.uniqid = G.uid_cat)\n\t\tWHERE\n\t\t\t(G.uid_cat IN ('" . join("','", array_unique(array_values($arr_links))) . "') OR G.uniqid IN ('" . join("','", array_unique(array_keys($arr_links))) . "'))\n\t\t\tAND C.id != {$id_cat}\n\t\t"); if ($num_links = db_num_rows($qid_links)) { while ($pos = db_fetch_array($qid_links, $idx++)) { $links_output[$pos['uid_col']][$pos['id']] = $pos['name']; } } // echo '<pre>'; // print_r($links_output); // echo '</pre>'; $snum = 1; for ($r = 1; $r <= $group['colrows'] && $snum <= $maxnum; $r++) { $txt .= $txt_prerow; for ($c = 1; $c <= $group['colcols'] && $snum <= $maxnum; $c++) { $gr = $arr_collections[$snum - 1]; $icon_thumb = $gr['link'] ? GetDirForCollection($gr['id']) . '/' : ''; $icon_thumb .= $gr['dir'] . '/' . $gr['icon']; echo "\n<!-- Pic[{$snum}] : {$icon_thumb} --- " . $gr['dir'] . " :: " . $gr['icon'] . " -->\n"; $icon = preg_replace('/[\\/]+/', '/', is_file(PICMAN_IMAGE_DIR . $icon_thumb) ? PICMAN_IMAGE . $icon_thumb : DEFAULT_COLLECTION_ICON); $others = ''; if (isset($links_output[$gr['uniqid']])) { foreach ($links_output[$gr['uniqid']] as $catid => $catname) { $others .= sprintf('<a href="%si%03dp%03d.html" title="%s">»</a> ', PICMAN_MAIN, $catid, 1, $catname); } } if (PICMAN_ADMINISTRATION == 1) { $others .= sprintf('<a href="%si%03dp%03d.html" title="%s">[::]</a> ', PICMAN_ADMIN_COLLECTION, $gr['id'], 1, $catname); } $txt .= UpdateTemplate($item_txt, array('href' => sprintf(PICMAN_COLLECTION . "i%03d.html", $gr['id']), 'name' => $gr['name'], 'count' => $gr['count'] ? $gr['count'] : '', 'icon' => $icon, 'dateupdate' => $gr['date'], 'others' => $others)); $snum++; } $txt .= $txt_postrow; } $txt .= $txt_post; } return array($txt, $pagesel); }
function DisplayThumbForm($group_id) { $item = db_fetch_array(db_query("SELECT * FROM {collections} WHERE id = {$group_id}")); $imgdir = GetDirForCollection($group_id); $icondir = preg_replace('/[\\/]+/', '/', PICMAN_IMAGE . "{$imgdir}/" . $item['thumbsubdir'] . "/"); $content = ''; $picholes = array(); if (!empty($item['holes'])) { foreach (split(',', $item['holes']) as $range) { list($range_from, $range_to) = split('-', $range); if (isset($range_to) && $range_to) { for ($i = $range_from; $i <= $range_to; $i++) { $picholes[] = $i; } } else { $picholes[] = $range_from; } } } $ico = split(':', $item['icoindex']); $img_add = $item['startnum'] - 1; $mov_holes = 0; for ($inum = 1; $inum <= $item['quantity']; $inum++) { if (count($picholes)) { while (in_array($inum + $img_add, $picholes)) { $img_add++; } } $content .= sprintf('<img id="img-%d" src="%s" class="%s" onClick="selImg(\'%d\')" />', $inum, $icondir . sprintf($item['thumbtemp'], $inum + $img_add), $ico[0] == 'T' && $ico[1] == $inum ? 'thumb-sel' : 'thumb-img', $inum); } echo FramedTable1() . '<div class="thumbnails">' . $content . '</div>' . FramedTable2(); }