예제 #1
0
파일: f.inc.php 프로젝트: patim/flogr
    function discuss($id_discuss)
    {
        $res_dis = $this->q("\n\t\t\tSELECT `discuss`.`title` 'title', `group`.`id_group` 'id_group', `group`.`title` 'grp_ttl' \n\t\t\tFROM `discuss`, `group` \n\t\t\tWHERE `id_discuss`=" . $id_discuss . " AND `group`.`id_group`=`discuss`.`id_group`");
        $row_dis = mysql_fetch_assoc($res_dis);
        $header = "<span class=header1>Дискуссия</span>";
        $f = "";
        if (isset($_SESSION['id_user'])) {
            if ($_SESSION['rights'] < 100) {
                $f = " (`type`='private' AND (" . $_SESSION['id_user'] . " IN (\n\t\t\t\t\t\t\t\t  \t\t\tSELECT `id_user` FROM `group_member` WHERE `group_member`.`id_group`=`group`.`id_group` AND `group_member`.`connected`='yes') OR \n\t\t\t\t\t\t\t\t  \t\t\t" . $_SESSION['id_user'] . "= `group`.`id_author`) ) OR";
            } else {
                $f = " (`type`='private') OR ";
            }
        }
        $res_post = $this->q("SELECT `id_post`, `posttext`, DATE_FORMAT(`pubdate`, '%e.%m.%Y&nbsp;&nbsp;%k:%i:%s') 'pubdate',  `id_album`,\n\t\t\t\t\t\t\t\t\t `photo`.`id_photo`, `user`.`name` 'author', `photo`.`id_user` 'idauthor', `type`, `maxi`,\n\t\t\t\t\t\t\t\t\t  DATE_FORMAT(`shootdate`, '%e.%m.%Y') 'made', `group`.`id_group` 'id_group', `group`.`id_author` 'group_author' \n\t\t\t\t\t\t\t  FROM `post` \n\t\t\t\t\t\t\t  LEFT JOIN `photo` ON `photo`.`id_photo` = `post`.`id_photo` \n\t\t\t\t\t\t\t  LEFT JOIN `user` ON `user`.`id_user`=`photo`.`id_user`\n\t\t\t\t\t\t\t  LEFT JOIN `discuss` ON `discuss`.`id_discuss` = `post`.`id_discuss`\n\t\t\t\t\t\t\t  LEFT JOIN `group` ON `group`.`id_group` = `discuss`.`id_group`\n\t\t\t\t\t\t\t  WHERE `post`.`id_discuss`=" . $id_discuss . " AND \n\t\t\t\t\t\t\t  \t(" . $f . " (`type` = 'public') OR (`type` = 'public_reg') )\n\t\t\t\t\t\t\t  ORDER BY `id_post` DESC");
        $i = 1;
        if (mysql_num_rows($res_post)) {
            while ($row_post = mysql_fetch_assoc($res_post)) {
                $comments_query = "SELECT `id_dis_comment`, `dis_comment`.`comment_txt` 'commenttxt', u.`name` 'user',\n\t\t\t              \t  IF(u.`hideemail`='checked', '', u.`email`) AS email, \n\t\t\t\t\t\t\t  DATE_FORMAT(`dis_comment`.`date`, '%e.%m.%Y<font size=1> %k:%i:%s</font>') 'date',\n\t\t\t\t\t\t\t  u.`id_user` 'id_user', `avatar`, INET_NTOA(`dis_comment`.`ip`) 'ip_comment' \n\t\t\t\t\t\t  FROM `dis_comment` \n\t\t\t\t\t\t  LEFT JOIN `user` u ON `dis_comment`.`id_user` = u.`id_user`\n\t\t\t\t\t\t  WHERE `dis_comment`.`id_post`=" . $row_post['id_post'] . " ORDER BY `dis_comment`.`date` ASC";
                $comments = $this->q($comments_query);
                if (mysql_num_rows($comments)) {
                    $body_com = "";
                    while ($row_comments = mysql_fetch_assoc($comments)) {
                        $avatar = empty($row_comments['avatar']) ? "<img src='images/anonym.gif'>" : "<a href='index.php?go=profile&id_user="******"'>\n\t\t\t\t\t<img src='images/" . $row_comments['avatar'] . "' border=0></a>";
                        if ($_SESSION['rights'] == 100 or $_SESSION['gr_rights'] > 49) {
                            $del_post = '<a href="handler.php?handle=del_comment&id_dis_comment=' . $row_comments['id_dis_comment'] . '" class=link>удалить комментарий</a>';
                            $body_com .= sh_comments_body($row_comments['id_user'], $row_comments['user'], $avatar, $row_comments['email'], $row_comments['date'], $row_comments['commenttxt'], $row_comments['ip_comment'], $row_post['id_photo'], $row_comments['id_dis_comment'], 0, $del_post);
                        } else {
                            $body_com .= sh_comments_body($row_comments['id_user'], $row_comments['user'], $avatar, $row_comments['email'], $row_comments['date'], $row_comments['commenttxt'], $row_comments['ip_comment'], $row_post['id_photo'], $row_comments['id_dis_comment'], 0, $del_post);
                        }
                    }
                } else {
                    $body_com = "";
                }
                $posts[$row_post['id_post']] = new post($row_post['id_post'], $row_post['id_photo'], $row_post['posttext'], $row_post['maxi'], $row_post['id_album'], $row_post['idauthor'], $row_post['author'], $row_post['made'], $row_dis['id_group'], sh_comments($body_com, $id_post, true));
            }
            $add_post = '';
            if (isset($_SESSION['id_user'])) {
                $mem = mysql_num_rows($this->q("SELECT `id_user` FROM `group_member` WHERE `id_user`=" . $_SESSION['id_user'] . " AND `connected`='yes' AND `id_group`=" . $row_dis['id_group']));
                $auth = mysql_num_rows($this->q("SELECT `id_group` FROM `group` WHERE `id_author`=" . $_SESSION['id_user'] . " AND `id_group`=" . $row_dis['id_group']));
                $su = $_SESSION['rights'] == 100 ? true : false;
                if ($mem or $auth or $su) {
                    $add_post = '<span class=cin>&nbsp;&raquo;&nbsp;</span> <a href="index.php?go=add_post&id_discuss=' . $id_discuss . '&id_group=' . $row_dis['id_group'] . '" class=link>добавить пост</a>';
                }
            }
            $html = '
			<td colspan="7" height=51 align="left" valign="middle"> <a href="index.php?go=group&id_group=' . $row_dis['id_group'] . '" class=link title="группа">' . $row_dis['grp_ttl'] . '</a>
				<span class=cin>&nbsp;&raquo;&nbsp;</span> <span class="cur">' . $row_dis['title'] . '</span>' . $add_post . '</td>
			</tr>';
        }
        $discuss = new section($header, 4, 4);
        $html .= '
		<tr bgcolor="#EFEFEF"> 
          <td height="1" bgcolor="#EFEFEF" width="24"></td>
          <td bgcolor="#EFEFEF" width="60"></td>
          <td bgcolor="#EFEFEF" width="10"></td>
          <td bgcolor="#EFEFEF" width="345"></td>
          <td bgcolor="#EFEFEF" width="118"></td>
          <td bgcolor="#EFEFEF" width="118"></td>
          <td bgcolor="#EFEFEF" width="20"></td>
          <td bgcolor="#EFEFEF" width="31"></td>
        </tr>
		<tr bgcolor="#EFEFEF">
			<td width="24" valign=top><p></p></td>';
        $add_commlink = '';
        if ($_SESSION['rights'] == 100 or $this->membership($row_dis['id_group'])) {
            if (is_array($posts)) {
                foreach ($posts as $id_post => $post) {
                    $add_commlink[$id_post] = '<a href="index.php?go=post_comm&id_post=' . $id_post . '" class=link>Добавить комментарий</a>';
                }
            }
        }
        $discuss->add_post_array($html, $posts, $add_commlink);
        $con = new content($discuss);
        $this->set_content($con);
    }