$SQL->Replace('ActivityType', array('AllowComments' => '0', 'FullHeadline' => '%1$s banned %3$s.', 'ProfileHeadline' => '%1$s banned %3$s.', 'Notify' => '0', 'Public' => '1'), array('Name' => 'Banned'), TRUE); //if ($SQL->GetWhere('ActivityType', array('Name' => 'Unbanned'))->NumRows() == 0) $SQL->Replace('ActivityType', array('AllowComments' => '0', 'FullHeadline' => '%1$s un-banned %3$s.', 'ProfileHeadline' => '%1$s un-banned %3$s.', 'Notify' => '0', 'Public' => '1'), array('Name' => 'Unbanned'), TRUE); // Applicant activity if ($SQL->GetWhere('ActivityType', array('Name' => 'Applicant'))->NumRows() == 0) { $SQL->Insert('ActivityType', array('AllowComments' => '0', 'Name' => 'Applicant', 'FullHeadline' => '%1$s applied for membership.', 'ProfileHeadline' => '%1$s applied for membership.', 'Notify' => '1', 'Public' => '0')); } $WallPostType = $SQL->GetWhere('ActivityType', array('Name' => 'WallPost'))->FirstRow(DATASET_TYPE_ARRAY); if (!$WallPostType) { $WallPostTypeID = $SQL->Insert('ActivityType', array('AllowComments' => '1', 'ShowIcon' => '1', 'Name' => 'WallPost', 'FullHeadline' => '%3$s wrote on %2$s %5$s.', 'ProfileHeadline' => '%3$s wrote:')); $WallCommentTypeID = $SQL->GetWhere('ActivityType', array('Name' => 'WallComment'))->Value('ActivityTypeID'); // Update all old wall comments to wall posts. $SQL->Update('Activity')->Set('ActivityTypeID', $WallPostTypeID)->Set('ActivityUserID', 'RegardingUserID', FALSE)->Set('RegardingUserID', 'InsertUserID', FALSE)->Where('ActivityTypeID', $WallCommentTypeID)->Where('RegardingUserID is not null')->Put(); } $ActivityModel = new ActivityModel(); $ActivityModel->DefineType('Default'); $ActivityModel->DefineType('Registration'); $ActivityModel->DefineType('Status'); $ActivityModel->DefineType('Ban'); // Message Table $Construct->Table('Message')->PrimaryKey('MessageID')->Column('Content', 'text')->Column('Format', 'varchar(20)', TRUE)->Column('AllowDismiss', 'tinyint(1)', '1')->Column('Enabled', 'tinyint(1)', '1')->Column('Application', 'varchar(255)', TRUE)->Column('Controller', 'varchar(255)', TRUE)->Column('Method', 'varchar(255)', TRUE)->Column('AssetTarget', 'varchar(20)', TRUE)->Column('CssClass', 'varchar(20)', TRUE)->Column('Sort', 'int', TRUE)->Set($Explicit, $Drop); $Prefix = $SQL->Database->DatabasePrefix; if ($PhotoIDExists && !$PhotoExists) { $Construct->Query("update {$Prefix}User u\n join {$Prefix}Photo p\n on u.PhotoID = p.PhotoID\n set u.Photo = p.Name"); } if ($PhotoIDExists) { $Construct->Table('User')->DropColumn('PhotoID'); } // This is a fix for erroneous unique constraint. if ($Construct->TableExists('Tag')) { $Db = Gdn::Database();
$SQL->Insert('ActivityType', array('AllowComments' => '0', 'Name' => 'DiscussionComment', 'FullHeadline' => '%1$s commented on %4$s %8$s.', 'ProfileHeadline' => '%1$s commented on %4$s %8$s.', 'RouteCode' => 'discussion', 'Notify' => '1', 'Public' => '0')); } // People mentioning others in discussion topics if ($SQL->GetWhere('ActivityType', array('Name' => 'DiscussionMention'))->NumRows() == 0) { $SQL->Insert('ActivityType', array('AllowComments' => '0', 'Name' => 'DiscussionMention', 'FullHeadline' => '%1$s mentioned %3$s in a %8$s.', 'ProfileHeadline' => '%1$s mentioned %3$s in a %8$s.', 'RouteCode' => 'discussion', 'Notify' => '1', 'Public' => '0')); } // People mentioning others in comments if ($SQL->GetWhere('ActivityType', array('Name' => 'CommentMention'))->NumRows() == 0) { $SQL->Insert('ActivityType', array('AllowComments' => '0', 'Name' => 'CommentMention', 'FullHeadline' => '%1$s mentioned %3$s in a %8$s.', 'ProfileHeadline' => '%1$s mentioned %3$s in a %8$s.', 'RouteCode' => 'comment', 'Notify' => '1', 'Public' => '0')); } // People commenting on user's bookmarked discussions if ($SQL->GetWhere('ActivityType', array('Name' => 'BookmarkComment'))->NumRows() == 0) { $SQL->Insert('ActivityType', array('AllowComments' => '0', 'Name' => 'BookmarkComment', 'FullHeadline' => '%1$s commented on your %8$s.', 'ProfileHeadline' => '%1$s commented on your %8$s.', 'RouteCode' => 'bookmarked discussion', 'Notify' => '1', 'Public' => '0')); } $ActivityModel = new ActivityModel(); $ActivityModel->DefineType('Discussion'); $ActivityModel->DefineType('Comment'); $PermissionModel = Gdn::PermissionModel(); $PermissionModel->Database = $Database; $PermissionModel->SQL = $SQL; // Define some global vanilla permissions. $PermissionModel->Define(array('Vanilla.Settings.Manage', 'Vanilla.Categories.Manage', 'Vanilla.Approval.Require')); // Define some permissions for the Vanilla categories. $PermissionModel->Define(array('Vanilla.Discussions.View' => 1, 'Vanilla.Discussions.Add' => 1, 'Vanilla.Discussions.Edit' => 0, 'Vanilla.Discussions.Announce' => 0, 'Vanilla.Discussions.Sink' => 0, 'Vanilla.Discussions.Close' => 0, 'Vanilla.Discussions.Delete' => 0, 'Vanilla.Comments.Add' => 1, 'Vanilla.Comments.Edit' => 0, 'Vanilla.Comments.Delete' => 0), 'tinyint', 'Category', 'PermissionCategoryID'); $PermissionModel->Undefine('Vanilla.Spam.Manage'); if ($RootCategoryInserted) { // Get the root category so we can assign permissions to it. $GeneralCategoryID = -1; //$SQL->GetWhere('Category', array('Name' => 'General'))->Value('PermissionCategoryID', 0); // Set the initial guest permissions. $PermissionModel->Save(array('Role' => 'Guest', 'JunctionTable' => 'Category', 'JunctionColumn' => 'PermissionCategoryID', 'JunctionID' => $GeneralCategoryID, 'Vanilla.Discussions.View' => 1), TRUE);