示例#1
0
 function delete($sure, $really_sure, $really_really_sure)
 {
     if (!$sure || !$really_sure || !$really_really_sure) {
         $this->setMissingParamsError();
         return false;
     }
     if ($this->getID() == $GLOBALS['sys_news_group'] || $this->getID() == 1 || $this->getID() == $GLOBALS['sys_stats_group'] || $this->getID() == $GLOBALS['sys_peer_rating_group']) {
         $this->setError(_('Cannot Delete System Group'));
         return false;
     }
     $perm =& $this->getPermission(session_get_user());
     if (!$perm || !is_object($perm)) {
         $this->setPermissionDeniedError();
         return false;
     } elseif ($perm->isError()) {
         $this->setPermissionDeniedError();
         return false;
     } elseif (!$perm->isSuperUser()) {
         $this->setPermissionDeniedError();
         return false;
     }
     db_begin();
     //
     //	Remove all the members
     //
     $members =& $this->getMembers();
     for ($i = 0; $i < count($members); $i++) {
         $this->removeUser($members[$i]->getID());
     }
     //
     //	Delete Trackers
     //
     $atf = new ArtifactTypeFactory($this);
     $at_arr =& $atf->getArtifactTypes();
     for ($i = 0; $i < count($at_arr); $i++) {
         if (!is_object($at_arr[$i])) {
             printf(_("Not Object: ArtifactType: %d"), $i);
             continue;
         }
         $at_arr[$i]->delete(1, 1);
     }
     //
     //	Delete Forums
     //
     $ff = new ForumFactory($this);
     $f_arr =& $ff->getForums();
     for ($i = 0; $i < count($f_arr); $i++) {
         if (!is_object($f_arr[$i])) {
             printf(_("Not Object: Forum: %d"), $i);
             continue;
         }
         $f_arr[$i]->delete(1, 1);
         //echo 'ForumFactory'.db_error();
     }
     //
     //	Delete Subprojects
     //
     $pgf = new ProjectGroupFactory($this);
     $pg_arr =& $pgf->getProjectGroups();
     for ($i = 0; $i < count($pg_arr); $i++) {
         if (!is_object($pg_arr[$i])) {
             printf(_("Not Object: ProjectGroup: %d"), $i);
             continue;
         }
         $pg_arr[$i]->delete(1, 1);
         //echo 'ProjectGroupFactory'.db_error();
     }
     //
     //	Delete FRS Packages
     //
     //$frspf = new FRSPackageFactory($this);
     $res = db_query("SELECT * FROM frs_package WHERE group_id='" . $this->getID() . "'");
     //echo 'frs_package'.db_error();
     //$frsp_arr =& $frspf->getPackages();
     while ($arr = db_fetch_array($res)) {
         //if (!is_object($pg_arr[$i])) {
         //	echo "Not Object: ProjectGroup: ".$i;
         //	continue;
         //}
         $frsp = new FRSPackage($this, $arr['package_id'], $arr);
         $frsp->delete(1, 1);
     }
     //
     //	Delete news
     //
     $news_group =& group_get_object($GLOBALS['sys_news_group']);
     $res = db_query("SELECT forum_id FROM news_bytes WHERE group_id='" . $this->getID() . "'");
     for ($i = 0; $i < db_numrows($res); $i++) {
         $Forum = new Forum($news_group, db_result($res, $i, 'forum_id'));
         if (!$Forum->delete(1, 1)) {
             printf(_("Could Not Delete News Forum: %d"), $Forum->getID());
         }
     }
     $res = db_query("DELETE FROM news_bytes WHERE group_id='" . $this->getID() . "'");
     //
     //	Delete docs
     //
     $res = db_query("DELETE FROM doc_data WHERE group_id='" . $this->getID() . "'");
     //echo 'doc_data'.db_error();
     $res = db_query("DELETE FROM doc_groups WHERE group_id='" . $this->getID() . "'");
     //echo 'doc_groups'.db_error();
     //
     //	Delete group history
     //
     $res = db_query("DELETE FROM group_history WHERE group_id='" . $this->getID() . "'");
     //echo 'group_history'.db_error();
     //
     //	Delete group plugins
     //
     $res = db_query("DELETE FROM group_plugin WHERE group_id='" . $this->getID() . "'");
     //echo 'group_plugin'.db_error();
     //
     //	Delete group cvs stats
     //
     $res = db_query("DELETE FROM stats_cvs_group WHERE group_id='" . $this->getID() . "'");
     //echo 'stats_cvs_group'.db_error();
     //
     //	Delete Surveys
     //
     $sf = new SurveyFactory($this);
     $s_arr =& $sf->getSurveys();
     for ($i = 0; $i < count($s_arr); $i++) {
         if (!is_object($s_arr[$i])) {
             printf(_("Not Object: Survey: %d"), $i);
             continue;
         }
         $s_arr[$i]->delete();
         //echo 'SurveyFactory'.db_error();
     }
     //
     //	Delete SurveyQuestions
     //
     $sqf = new SurveyQuestionFactory($this);
     $sq_arr =& $sqf->getSurveyQuestions();
     for ($i = 0; $i < count($sq_arr); $i++) {
         if (!is_object($sq_arr[$i])) {
             printf(_("Not Object: SurveyQuestion: %d"), $i);
             continue;
         }
         $sq_arr[$i]->delete();
         //echo 'SurveyQuestionFactory'.db_error();
     }
     //
     //	Delete Mailing List Factory
     //
     $mlf = new MailingListFactory($this);
     $ml_arr =& $mlf->getMailingLists();
     for ($i = 0; $i < count($ml_arr); $i++) {
         if (!is_object($ml_arr[$i])) {
             printf(_("Not Object: MailingList: %d"), $i);
             continue;
         }
         if (!$ml_arr[$i]->delete(1, 1)) {
             $this->setError(_('Could not properly delete the mailing list'));
         }
         //echo 'MailingListFactory'.db_error();
     }
     //
     //	Delete trove
     //
     $res = db_query("DELETE FROM trove_group_link WHERE group_id='" . $this->getID() . "'");
     $res = db_query("DELETE FROM trove_agg WHERE group_id='" . $this->getID() . "'");
     //
     //	Delete counters
     //
     $res = db_query("DELETE FROM project_sums_agg WHERE group_id='" . $this->getID() . "'");
     //echo 'project_sums_agg'.db_error();
     $res = db_query("INSERT INTO deleted_groups (\n\t\tunix_group_name,delete_date,isdeleted) VALUES \n\t\t('" . $this->getUnixName() . "','" . time() . "','0')");
     //echo 'InsertIntoDeleteQueue'.db_error();
     $res = db_query("DELETE FROM groups WHERE group_id='" . $this->getID() . "'");
     //echo 'DeleteGroup'.db_error();
     db_commit();
     if (!$res) {
         return false;
     }
     $hook_params = array();
     $hook_params['group'] = $this;
     $hook_params['group_id'] = $this->getID();
     plugin_hook("group_delete", $hook_params);
     if (isset($GLOBALS['sys_upload_dir']) && $this->getUnixName()) {
         exec('/bin/rm -rf ' . $GLOBALS['sys_upload_dir'] . '/' . $this->getUnixName() . '/');
     }
     if (isset($GLOBALS['sys_ftp_upload_dir']) && $this->getUnixName()) {
         exec('/bin/rm -rf ' . $GLOBALS['sys_ftp_upload_dir'] . '/' . $this->getUnixName() . '/');
     }
     //
     //	Delete reporting
     //
     $res = db_query("DELETE FROM rep_group_act_weekly WHERE group_id='" . $this->getID() . "'");
     //echo 'rep_group_act_weekly'.db_error();
     $res = db_query("DELETE FROM rep_group_act_monthly WHERE group_id='" . $this->getID() . "'");
     //echo 'rep_group_act_monthly'.db_error();
     $res = db_query("DELETE FROM rep_group_act_daily WHERE group_id='" . $this->getID() . "'");
     //echo 'rep_group_act_daily'.db_error();
     unset($this->data_array);
     return true;
 }
示例#2
0
 public function setForum(Forum $f)
 {
     $this->forumID = $f->getID();
     $this->forum = $f;
 }
示例#3
0
文件: forum.php 项目: Ashilta/VATeir
<?php

session_start();
require_once '../includes/header.php';
$f = new Forum();
if ($user->isLoggedIn()) {
    $get = $f->getID($user->data()->id);
    if ($get == true) {
        echo 'Logging you in. Please wait.';
        echo '<form id="form" action="../forum/login.php" method="post">
				<input type="hidden" name="token" value="' . Token::generate() . '">
				<input type="hidden" name="id" value="' . $get . '">
			</form>
			<script type="text/javascript">
				document.getElementById("form").submit();
			</script>';
    } else {
        echo '1';
        //Redirect::to('../login/index.php?forum');
    }
} else {
    echo '2';
    //Redirect::to('../login/index.php?forum');
}
示例#4
0
文件: Forum.php 项目: GIDIX/quicktalk
 /**
  * Update forum.
  * 
  * @param Forum $f
  */
 public static function updateForum(Forum $f)
 {
     global $db;
     $db->query("\n\t\t\t\tUPDATE forums\n\t\t\t\tSET category_id = :cid,\n\t\t\t\t\ttitle = :title,\n\t\t\t\t\tdescription = :desc,\n\t\t\t\t\t`order` = :order,\n\t\t\t\t\tclosed = :closed\n\t\t\t\tWHERE id = :fid\n\t\t\t", array($f->getCategoryID(), $f->getTitle(), $f->getDescription(), $f->getOrder(), $f->isClosed() ? 1 : 0, $f->getID()));
 }
示例#5
0
 if ($summary && $details) {
     /*
     	Insert the row into the db if it's a generic message
     	OR this person is an admin for the group involved
     */
     /*
     	create a new discussion forum without a default msg
     	if one isn't already there
     */
     db_begin();
     $f = new Forum(group_get_object($sys_news_group));
     if (!$f->create(ereg_replace('[^_\\.0-9a-z-]', '-', strtolower($summary)), $details, 1, '', 0, 0)) {
         db_rollback();
         exit_error('Error', $f->getErrorMessage());
     }
     $new_id = $f->getID();
     $sanitizer = new TextSanitizer();
     $details = $sanitizer->SanitizeHtml($details);
     $sql = "INSERT INTO news_bytes (group_id,submitted_by,is_approved,post_date,forum_id,summary,details) " . " VALUES ('{$group_id}','" . user_getid() . "','0','" . time() . "','{$new_id}','" . htmlspecialchars($summary) . "','" . $details . "')";
     $result = db_query($sql);
     if (!$result) {
         db_rollback();
         form_release_key(getStringFromRequest('form_key'));
         $feedback = ' ' . _('ERROR doing insert') . ' ';
     } else {
         db_commit();
         $feedback = ' ' . _('News Added.') . ' ';
     }
 } else {
     form_release_key(getStringFromRequest('form_key'));
     $feedback = ' ' . _('ERROR - both subject and body are required') . ' ';
示例#6
0
 private static function getForumURL(Forum $f)
 {
     return './viewforum.php?id=' . $f->getID();
 }
示例#7
0
文件: index.php 项目: Ashilta/VATeir
								        <br>
								        <br>
								    </span>
								    <input type="hidden" name="data" value="<?php 
                        echo htmlspecialchars(serialize($user->user), ENT_QUOTES);
                        ?>
">
								</form>
						
						<?php 
                    }
                } elseif (isset($_GET['forum'])) {
                    //trying to log into the forum only
                    $f = new Forum();
                    $username = $user->user->name_first . ' ' . $user->user->name_last . ' ' . $user->user->id;
                    if (!($forum_id = $f->getID($user->user->id))) {
                        echo 'Registering you. Please wait.';
                        $forum_data = ['username' => $username, 'email' => $user->user->email, 'vatsim_id' => $user->user->id];
                        echo '<form id="form" action="' . BASE_URL . 'forum/register.php" method="post">
			    				<input type="hidden" name="token" value="' . Token::generate() . '">
								<input type="hidden" name="data" value="' . htmlentities(serialize($forum_data)) . '">
								</form>
							<script type="text/javascript">
							document.getElementById("form").submit();
							</script>';
                    } else {
                        echo 'Logging you in. Please wait.';
                        try {
                            $f->update(['username' => $username, 'username_clean' => strtolower($username), 'user_email' => $user->user->email], [['vatsim_id', '=', $user->user->id]]);
                        } catch (Exception $e) {
                            echo $e->getMessage();