public function Base_Render_Before(&$Sender) { $Session = Gdn::Session(); // Enable theme previewing if ($Session->IsValid()) { $PreviewThemeFolder = $Session->GetPreference('PreviewThemeFolder', ''); // echo 'test'.$PreviewThemeFolder; if ($PreviewThemeFolder != '') { $Sender->Theme = $PreviewThemeFolder; $Sender->AddAsset('Content', $Sender->FetchView('previewtheme', 'settingscontroller', 'garden')); $Sender->AddCssFile('previewtheme.css'); } } // Add Message Modules (if necessary) $MessageCache = Gdn::Config('Garden.Messages.Cache', array()); $Location = $Sender->Application . '/' . substr($Sender->ControllerName, 0, -10) . '/' . $Sender->RequestMethod; if ($Sender->MasterView != 'empty' && in_array('Base', $MessageCache) || InArrayI($Location, $MessageCache)) { $MessageModel = new Gdn_MessageModel(); $MessageData = $MessageModel->GetMessagesForLocation($Location); foreach ($MessageData as $Message) { $MessageModule = new Gdn_MessageModule($Sender, $Message); $Sender->AddModule($MessageModule); } } }
public function Base_Render_Before(&$Sender) { // Add menu items. $Session = Gdn::Session(); if ($Sender->Menu) { $Sender->Menu->AddLink('Dashboard', 'Dashboard', '/garden/settings', array('Garden.Settings.Manage')); $Sender->Menu->AddLink('Dashboard', 'Users', '/user/browse', array('Garden.Users.Add', 'Garden.Users.Edit', 'Garden.Users.Delete')); $Sender->Menu->AddLink('Activity', 'Activity', '/activity'); $Authenticator = Gdn::Authenticator(); if ($Session->IsValid()) { $Sender->Menu->AddLink('SignOut', 'Sign Out', '/entry/leave/{Session_TransientKey}', FALSE, array('class' => 'NonTab')); $Notifications = Gdn::Translate('Notifications'); $CountNotifications = $Session->User->CountNotifications; if (is_numeric($CountNotifications) && $CountNotifications > 0) { $Notifications .= '<span>' . $CountNotifications . '</span>'; } $Sender->Menu->AddLink('User', '{Username}', '/profile/{Username}', array('Garden.SignIn.Allow')); $Sender->Menu->AddLink('User', '\\' . $Notifications, 'profile/notifications/{Username}'); } else { $Sender->Menu->AddLink('Entry', 'Sign In', $Authenticator->SignInUrl()); } } // Enable theme previewing if ($Session->IsValid()) { $PreviewTheme = $Session->GetPreference('PreviewTheme', ''); if ($PreviewTheme != '') { $Sender->Theme = $PreviewTheme; } } // Add Message Modules (if necessary) $MessageCache = Gdn::Config('Garden.Messages.Cache', array()); $Location = $Sender->Application . '/' . substr($Sender->ControllerName, 0, -10) . '/' . $Sender->RequestMethod; if (in_array('Base', $MessageCache) || InArrayI($Location, $MessageCache)) { $MessageModel = new Gdn_MessageModel(); $MessageData = $MessageModel->GetMessagesForLocation($Location); foreach ($MessageData as $Message) { $MessageModule = new Gdn_MessageModule($Sender, $Message); $Sender->AddModule($MessageModule); } } }
public function UpdateResponse() { // Get the message, response, and transientkey $Messages = GetIncomingValue('Messages', ''); $Response = GetIncomingValue('Response', ''); $TransientKey = GetIncomingValue('TransientKey', ''); // If the key validates $Session = Gdn::Session(); if ($Session->ValidateTransientKey($TransientKey)) { // If messages wasn't empty if ($Messages != '') { // Unserialize them & save them if necessary $Messages = Format::Unserialize($Messages); if (is_array($Messages)) { $MessageModel = new Gdn_MessageModel(); foreach ($Messages as $Message) { // Check to see if it already exists, and if not, add it. if (is_object($Message)) { $Message = Format::ObjectAsArray($Message); } $Content = ArrayValue('Content', $Message, ''); if ($Content != '') { $Data = $MessageModel->GetWhere(array('Content' => $Content)); if ($Data->NumRows() == 0) { $MessageModel->Save(array('Content' => $Content, 'AllowDismiss' => ArrayValue('AllowDismiss', $Message, '1'), 'Enabled' => ArrayValue('Enabled', $Message, '1'), 'Application' => ArrayValue('Application', $Message, 'Garden'), 'Controller' => ArrayValue('Controller', $Message, 'Settings'), 'Method' => ArrayValue('Method', $Message, ''), 'AssetTarget' => ArrayValue('AssetTarget', $Message, 'Content'), 'CssClass' => ArrayValue('CssClass', $Message, ''))); } } } } } // Load the config file so we can save some info in it $Config = Gdn::Factory(Gdn::AliasConfig); $Config->Load(PATH_CONF . DS . 'config.php', 'Save'); // If the response wasn't empty, save it in the config if ($Response != '') { $Config->Set('Garden.RequiredUpdates', $Response); } // Record the current update check time in the config. $Config->Set('Garden.UpdateCheckDate', time()); $Config->Save(); } }