📄 forumfactory.class
字号:
<?php/** * GForge Forums Facility * * Copyright 2002 GForge, LLC * http://gforge.org/ * * @version $Id: ForumFactory.class,v 1.6 2003/02/12 17:23:47 bigdisk Exp $ * * This file is part of GForge. * * GForge is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * GForge is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GForge; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *//* Message Forums By Tim Perdue, Sourceforge, 11/99 Massive rewrite by Tim Perdue 7/2000 (nested/views/save) Complete OO rewrite by Tim Perdue 12/2002*/require_once('common/include/Error.class');require_once('common/forum/Forum.class');class ForumFactory extends Error { /** * The Group object. * * @var object $Group. */ var $Group; /** * The forums array. * * @var array forums. */ var $forums; /** * Constructor. * * @param object The Group object to which this forum is associated. */ function ForumFactory(&$Group) { global $Language; $this->Error(); if (!$Group || !is_object($Group)) { $this->setError($Language->getText('forum','error_no_valid_group_object')); return false; } if ($Group->isError()) { $this->setError($Language->getText('forum','forum').':: '.$Group->getErrorMessage()); return false; } $this->Group =& $Group; return true; } /** * getGroup - get the Group object this ForumFactory is associated with. * * @return object The Group object. */ function &getGroup() { return $this->Group; } /** * getForums - get an array of Forum objects for this Group. * * @return array The array of Forum objects. */ function &getForums() { global $Language; if ($this->forums) { return $this->forums; } if (session_loggedin()) { $perm =& $this->Group->getPermission( session_get_user() ); if (!$perm || !is_object($perm) || !$perm->isMember()) { $public_flag='=1'; } else { $public_flag='<3'; } } else { $public_flag='=1'; } $sql="SELECT * FROM forum_group_list_vw WHERE group_id='". $this->Group->getID() ."' AND is_public $public_flag ORDER BY group_forum_id;"; $result = db_query ($sql); $rows = db_numrows($result); if (!$result || $rows < 1) { $this->setError($Language->getText('forum_common_forumfactory','error_no_forums_found').db_error()); return false; } else { while ($arr = db_fetch_array($result)) { $this->forums[] = new Forum($this->Group, $arr['group_forum_id'], $arr); } } return $this->forums; }}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -