Exemplo n.º 1
0
<?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'];
Exemplo n.º 2
0
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">&raquo;</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);
}
Exemplo n.º 3
0
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();
}