예제 #1
0
파일: f.inc.php 프로젝트: patim/flogr
    function band($page, $mode, $id_album = 0, $id_user = 0)
    {
        if (isset($_SESSION['id_user'])) {
            $f = " ( ( `scope`='friends' AND " . $_SESSION['id_user'] . " IN (\n\t\t\t\tSELECT `id_friend` FROM `friends` frnd WHERE frnd.`id_author`= idauthor) OR usr.`id_user`=" . $_SESSION['id_user'] . ") OR \n\t\t\t\t\t     \t\t( `scope`='onlyme' AND usr.`id_user`=" . $_SESSION['id_user'] . ") OR  (`scope` = 'all') ) ";
        } else {
            $f = " (`scope` = 'all') ";
        }
        /*
        $base_query = "SELECT `photo`.`id_user` 'idauthor', `photo`.`id_photo` 'id_photo', `photo`.`name` 'pname', `medium`, `maxi`,
        DATE_FORMAT(`pubdate`, '%e.%m.%Y  %k:%i:%s') 'publdate',
        DATE_FORMAT(`shootdate`, '%e.%m.%Y') 'made', COUNT(`comment`.`id_comment`) AS 'comnum',
        alb.`name` 'albname', `scope_orgnl`, `photo`.`id_album` 'idalbum',
        `rating`, `descr`, usr.`name` 'author'
        FROM `photo`
        LEFT JOIN `comment` ON `comment`.`id_photo` = `photo`.`id_photo`
        LEFT JOIN `album` alb ON `photo`.`id_album`=alb.`id_album`
        LEFT JOIN `user` usr ON `photo`.`id_user`= usr.`id_user`
        WHERE ".$f."
        GROUP BY `comment`.`id_photo`";
        */
        $base_query = "SELECT `photo`.`id_user` 'idauthor', `photo`.`id_photo` 'id_photo', `photo`.`name` 'pname', `medium`, `maxi`,\n\t\t\t\t\t\t  DATE_FORMAT(`pubdate`, '%e.%m.%Y  %k:%i:%s') 'publdate',\n\t\t\t\t\t\t  DATE_FORMAT(`shootdate`, '%e.%m.%Y') 'made', \n\t\t\t\t\t\t  alb.`name` 'albname', `scope_orgnl`, `photo`.`id_album` 'idalbum',  \n\t\t\t\t\t\t  `rating`, `descr`, usr.`name` 'author' \n\t\t\t\t  FROM `photo` \t\t  \n\t\t\t\t\t\t       LEFT JOIN `album` alb ON `photo`.`id_album`=alb.`id_album`\n\t\t\t\t  \t\t\t   LEFT JOIN `user` usr ON `photo`.`id_user`= usr.`id_user`\t\t\t               \n\t\t\t\t  WHERE " . $f;
        if ($mode == 'album') {
            $base_query .= " AND `photo`.`id_album`=" . $id_album . " ORDER BY `pubdate` DESC";
        } elseif ($mode == 'all_lastphotos') {
            $base_query .= " ORDER BY `pubdate` DESC";
        } elseif ($mode == 'usrsphoto') {
            $base_query .= " AND usr.`id_user`=" . $id_user . "\n\t\t\t\t\t\t\t ORDER BY `pubdate` DESC";
        } elseif ($mode == 'fr_lastphoto') {
            if (isset($_SESSION['id_user'])) {
                $user = $_SESSION['id_user'];
            } else {
                $user = 0;
            }
            $base_query .= "AND `photo`.`id_user` IN (\n\t\t\t\t\tSELECT `id_friend` FROM `friends` frnd WHERE frnd.`id_author`=" . $user . ") \n\t\t\t\tORDER BY `pubdate` DESC";
        }
        //$res = $this->q($base_query);
        $per_page = 9;
        $all_photos = mysql_num_rows($this->q($base_query));
        $all_pages = ceil($all_photos / $per_page);
        if ($page > $all_pages and $all_pages != 0) {
            $page = $all_pages;
        }
        $range_bottom = ($page - 1) * $per_page;
        $res = $this->q($base_query . " LIMIT {$range_bottom}, {$per_page}");
        $i = 0;
        while ($row_photos = mysql_fetch_assoc($res)) {
            if (isset($_SESSION['id_user'])) {
                switch ($row_photos['scope_orgnl']) {
                    case 'friends':
                        $frnd_res = $this->q("SELECT `id_author` FROM `friends` WHERE " . $_SESSION['id_user'] . "\n\t\t\t\t\t\t\t\t  IN (SELECT `id_friend` FROM `friends` WHERE `friends`.`id_author`=" . $row_photos['idauthor'] . ")");
                        if (mysql_num_rows($frnd_res) or $_SESSION['id_user'] == $row_photos['idauthor']) {
                            $original = true;
                        } else {
                            $original = false;
                        }
                        break;
                    case 'onlyme':
                        $original = $_SESSION['id_user'] == $row_photos['idauthor'] ? true : false;
                        break;
                    case 'all':
                        $original = true;
                }
            } else {
                if ($row_photos['scope_orgnl'] == 'all') {
                    $original = true;
                } else {
                    $original = false;
                }
            }
            if (!$i) {
                $id_author = $row_photos['idauthor'];
                if ($mode == 'album') {
                    $header = '<span class=header1>Лента</span>';
                    $header2 = '<a href="index.php?go=profile&id_user='******'" class=user>' . $row_photos['author'] . '</a>
						<span class=cin>&nbsp;&raquo;&nbsp;</span> <span class=cur>' . $row_photos['albname'] . '</span>';
                } elseif ($mode == 'all_lastphotos') {
                    $header = '<span class=header1>Лента последних фото</span>';
                } elseif ($mode == 'usrsphoto') {
                    $header = '<span class=header1>Лента</span> <span class=cin>&nbsp;&raquo;&nbsp;</span>
					<a href="index.php?go=profile&id_user='******'" class=user>' . $row_photos['author'] . '</a>';
                } elseif ($mode == 'fr_lastphoto') {
                    $header = '<span class=header1>Лента друзей</span>';
                }
            }
            $num_comm = mysql_num_rows($this->q("SELECT * FROM `comment` WHERE `id_photo`=" . $row_photos['id_photo']));
            $albpht[$i++] = new maxi_photo($row_photos['id_photo'], $row_photos['pname'], $row_photos['maxi'], $row_photos['publdate'], $original, $row_photos['descr'], $row_photos['idalbum'], $row_photos['albname'], $row_photos['author'], $row_photos['idauthor'], $row_photos['made'], $num_comm);
        }
        $photoalb = new section($header, 4, 4);
        if ($mode == 'album') {
            $compact = 'go=albums&alb_num=' . $id_album . '&id_user='******'all_lastphotos') {
            $compact = 'go=all_lastphotos';
        } elseif ($mode == 'usrsphoto') {
            $compact = 'go=usrsphoto&id_user='******'fr_lastphoto') {
            $compact = 'go=fr_lastphoto';
        }
        $html = '<td colspan="4" height=51 valign="top">' . $header2 . '</td>
				<td colspan="3" height=51 align="right" valign="top"><span class="cur">&nbsp;</span><a href="index.php?' . $compact . '" class=link>компактно</a>&nbsp;&nbsp;</td>
				 </tr><tr>
				 <td width="24" valign=top><p></p></td>';
        $photoalb->add_maxi_array($html, $albpht);
        if ($mode == 'album') {
            $address = 'index.php?go=band&id_album=' . $id_album;
        } else {
            if ($mode != 'usrsphoto') {
                $address = 'index.php?go=band&mode=' . $mode;
            } else {
                $address = 'index.php?go=band&mode=' . $mode . '&id_user=' . $id_user;
            }
        }
        $navig_box = navig($address, $page, $all_pages, 8);
        $photo_con = new content($photoalb, $navig_box);
        $this->set_content($photo_con);
    }