示例#1
0
 protected function _saveMetaTags($plugin, $tags)
 {
     // Check if demo mode is enabled
     if (input::demo()) {
         return false;
     }
     $rules = array();
     foreach ($tags as $keyword => $group) {
         foreach (config::item('languages', 'core', 'keywords') as $language) {
             $rules[$keyword . '_title_' . $language] = $rules[$keyword . '_description_' . $language] = $rules[$keyword . '_keywords_' . $language] = array('label' => '', 'rules' => array('is_string', 'trim', 'max_length' => 255));
         }
     }
     validate::setRules($rules);
     if (!validate::run()) {
         return false;
     }
     foreach ($tags as $keyword => $group) {
         $data = array();
         foreach (config::item('languages', 'core', 'keywords') as $language) {
             $data['meta_title_' . $language] = input::post($keyword . '_title_' . $language);
             $data['meta_description_' . $language] = input::post($keyword . '_description_' . $language);
             $data['meta_keywords_' . $language] = input::post($keyword . '_keywords_' . $language);
         }
         $this->metatags_model->saveMetaTags($plugin, $keyword, $data);
     }
     view::setInfo(__('meta_tags_saved', 'system_metatags'));
     router::redirect('cp/system/metatags/edit/' . $plugin);
 }
示例#2
0
 protected function _sendFeedback()
 {
     // Check if demo mode is enabled
     if (input::demo()) {
         return false;
     }
     // Extra rules
     $rules = array('name' => array('rules' => array('required', 'is_string', 'trim', 'min_length' => 2, 'max_length' => 255)), 'email' => array('rules' => array('required', 'is_string', 'trim', 'valid_email', 'min_length' => 4, 'max_length' => 255)), 'subject' => array('rules' => array('required', 'is_string', 'trim', 'min_length' => 5, 'max_length' => 255)), 'message' => array('rules' => array('required', 'is_string', 'trim', 'min_length' => 10, 'max_length' => 10000)));
     if (config::item('feedback_captcha', 'feedback') == 1 || config::item('feedback_captcha', 'feedback') == 2 && !users_helper::isLoggedin()) {
         $rules['captcha'] = array('rules' => array('is_captcha'));
     }
     validate::setRules($rules);
     // Validate form values
     if (!validate::run($rules)) {
         return false;
     }
     // Get values
     $email = input::post('email');
     $subject = input::post('subject');
     $message = input::post('message') . "\n\n--\n" . input::post('name') . ' <' . input::post('email') . '>' . "\n" . input::ipaddress();
     // Send feedback
     if (!$this->feedback_model->sendFeedback($email, $subject, $message)) {
         if (!validate::getTotalErrors()) {
             view::setError(__('send_error', 'system'));
         }
         return false;
     }
     // Success
     view::setInfo(__('message_sent', 'feedback'));
     router::redirect('feedback');
 }
示例#3
0
 public function __construct()
 {
     parent::__construct();
     $authID = session::item('auth_id');
     $userID = session::item('user_id');
     $ipaddress = substr(input::ipaddress(), 0, 15);
     $useragent = substr(input::useragent(), 0, 255);
     $user = array();
     if ($authID && ($user = $this->getSession($authID, $userID, $ipaddress, $useragent))) {
         if ($user['active_date'] < date_helper::now() - 60 * $this->timeout) {
             $this->saveSession($authID, $userID, $ipaddress, $useragent);
             if (isset($user['user_id']) && $user['user_id']) {
                 $this->saveLastvisit($user['user_id']);
             }
         }
     } else {
         $cookie = cookie::item('sessdata');
         $cookie = $cookie ? @json_decode($cookie, true) : array();
         if ($cookie && is_array($cookie)) {
             $userID = isset($cookie['user_id']) ? $cookie['user_id'] : '';
             $email = isset($cookie['email']) ? $cookie['email'] : '';
             $passhash = isset($cookie['passhash']) ? $cookie['passhash'] : '';
             if ($userID && is_numeric($userID) && $userID > 0) {
                 if ($user = $this->getUser($userID, false, false)) {
                     $newPasshash = $this->generatePasshash($email, $user['password']);
                     if ($user['active'] && $user['verified'] && strcmp($email, $user['email']) == 0 && strcmp($passhash, $newPasshash) == 0) {
                         $authID = $this->saveSession(0, $user['user_id'], $ipaddress, $useragent);
                         $this->saveLastvisit($user['user_id']);
                     } else {
                         $user = array();
                     }
                 }
             }
         }
     }
     if (!$user || !isset($user['user_id']) || !$user['user_id'] || !$this->createUserSession($user)) {
         $userID = 0;
         if (!$user) {
             $authID = $this->saveSession(0, $userID, $ipaddress, $useragent);
         }
         $this->createGuestSession();
     }
     session::set('auth_id', $authID);
     session::set('user_id', $userID);
     // Is the site offline?
     if (!input::isCP() && !config::item('site_online', 'system') && !session::permission('site_access_offline', 'system') && uri::getURI() != 'site/offline' && uri::segment(1) != 'load') {
         router::redirect('site/offline');
     } elseif (input::isCP() && !session::permission('site_access_cp', 'system') && (uri::getURI() != 'cp' && uri::getURI() != 'cp/users/login' && uri::getURI() != 'cp/users/login/license')) {
         router::redirect('cp/users/login');
     }
     if (!input::isCP() && $this->isLoggedin() && session::permission('site_access_cp', 'system') && uri::segment(1) != 'load' && input::demo(0, '', session::item('user_id'))) {
         $this->logout();
         view::setInfo('For the purposes of this demo you may not use front end of the site under the administrator account. As such we have now logged you out.<br/>Feel free ' . html_helper::anchor('users/signup', 'register on the site') . ' to test user end functionality or ' . html_helper::anchor('users/login', 'login') . ' using your existing account details if you have one already.');
         router::redirect();
     }
 }
示例#4
0
 public function __construct()
 {
     parent::__construct();
     // Does user have permission to access this plugin?
     if (!session::permission('license_manage', 'system')) {
         view::noAccess();
     }
     view::setCustomParam('section', 'help');
     view::setCustomParam('options', array('help/license' => array('name' => __('help_license', 'system_navigation'), 'uri' => 'help/license', 'keyword' => 'help/license', 'attr' => array('help license'), 'items' => array())));
     loader::model('system/license');
     view::setTrail('cp/help/license', __('help', 'system_navigation'));
     view::setTrail('cp/help/license', __('help_license', 'system_navigation'));
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/system/config/system')) {
         return false;
     }
 }
示例#5
0
 protected function action($action, $actionID = false)
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/users/pictures')) {
         return false;
     }
     // Get URI vars
     $userID = $actionID ? $actionID : (int) uri::segment(5);
     // Get user
     if (!$userID || !($user = $this->users_model->getUser($userID))) {
         view::setError(__('no_user', 'users'));
         router::redirect('cp/users/pictures/browse');
     }
     switch ($action) {
         case 'approve':
             $this->users_model->togglePictureStatus($userID, $user, 1);
             $str = __('picture_approved', 'users_picture');
             break;
         case 'decline':
             $this->users_model->togglePictureStatus($userID, $user, 0);
             $str = __('picture_declined', 'users_picture');
             break;
         case 'delete':
             $this->users_model->deletePicture($userID, $user['picture_id']);
             $str = __('picture_deleted', 'users_picture');
             break;
     }
     // Is this an action call?
     if ($actionID) {
         return;
     }
     // Process query string
     $qstring = $this->parseQuerystring();
     // Success
     view::setInfo($str);
     router::redirect('cp/users/pictures/browse?' . $qstring['url'] . 'page=' . $qstring['page']);
 }
示例#6
0
 protected function deleteField($plugin, $table, $categoryID, $fieldID)
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/system/fields/' . $plugin . '/browse' . ($categoryID ? '/' . $categoryID : ''))) {
         return false;
     }
     // Get field
     if (!($field = $this->fields_model->getField($fieldID))) {
         view::setError(__('no_field', 'system_fields'));
         router::redirect('cp/system/fields/' . $plugin . '/browse/' . $categoryID);
     }
     // Is this a system field?
     if ($field['system']) {
         view::setError(__('no_system_delete', 'system_fields'));
         router::redirect('cp/system/fields/' . $plugin . '/browse/' . $categoryID);
     }
     // Delete field
     if (!$this->fieldsdb_model->deleteField($plugin, $table, $fieldID, $field)) {
         view::setError(__('db_no_column_drop', 'system_fields'));
         router::redirect('cp/system/fields/' . $plugin . '/browse/' . $categoryID);
     }
     // Success
     view::setInfo(__('field_deleted', 'system_fields'));
     router::redirect('cp/system/fields/' . $plugin . '/browse' . ($categoryID ? '/' . $categoryID : ''));
 }
示例#7
0
 public function delete()
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/users/types')) {
         return false;
     }
     // Get URI vars
     $typeID = (int) uri::segment(5);
     // Is this one of the system types?
     if ($typeID == config::item('type_default_id', 'users')) {
         view::setError(__('type_delete_system', 'users_types'));
         router::redirect('cp/users/types');
     }
     // Is this member's own type?
     if ($typeID == session::item('type_id')) {
         view::setError(__('type_delete_self', 'users_types'));
         router::redirect('cp/users/types');
     }
     // Get user type
     if (!$typeID || !($type = $this->users_types_model->getType($typeID))) {
         view::setError(__('no_type', 'users_types'));
         router::redirect('cp/users/types');
     }
     // Do we have any members of this type?
     if ($this->users_types_model->isUsers($typeID)) {
         view::setError(__('type_delete_users', 'users_types'));
         router::redirect('cp/users/types');
     }
     // Delete user type
     if (!$this->users_types_model->deleteType($typeID, $type)) {
         view::setError(__('db_no_drop', 'system_fields'));
         router::redirect('cp/users/types');
     }
     // Success
     view::setInfo(__('type_deleted', 'users_types'));
     router::redirect('cp/users/types');
 }
示例#8
0
            ?>
									<ul class="unstyled" style="display:none" data-dropdown-menu="menu-help">
										<li><?php 
            echo html_helper::anchor('cp/help/documentation', __('help_documentation', 'system_navigation'), array('class' => 'help documentation', 'target' => '_blank'));
            ?>
</li>
										<li><?php 
            echo html_helper::anchor('cp/help/forum', __('help_forum', 'system_navigation'), array('class' => 'help forum', 'target' => '_blank'));
            ?>
</li>
										<li><?php 
            echo html_helper::anchor('cp/help/support', __('help_support', 'system_navigation'), array('class' => 'help support', 'target' => '_blank'));
            ?>
</li>
										<?php 
            if (!input::demo(0)) {
                ?>
											<li><?php 
                echo html_helper::anchor('cp/help/license', __('help_license', 'system_navigation'), array('class' => 'help license'));
                ?>
</li>
										<?php 
            }
            ?>
									</ul>
								</li>
							<?php 
        }
        ?>
						</ul>
					</div>
示例#9
0
 public function delete()
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/content/reports/subjects')) {
         return false;
     }
     // Get URI vars
     $subjectID = (int) uri::segment(6);
     // Get subject
     if (!$subjectID || !($subject = $this->reports_subjects_model->getSubject($subjectID))) {
         view::setError(__('no_subject', 'reports_subjects'));
         router::redirect('cp/content/reports/subjects');
     }
     // Delete subject
     $this->reports_subjects_model->deleteSubject($subjectID, $subject);
     // Success
     view::setInfo(__('subject_deleted', 'reports_subjects'));
     router::redirect('cp/content/reports/subjects');
 }
示例#10
0
 protected function _saveLanguageData($plugin, $language, $default)
 {
     // Check if demo mode is enabled
     if (input::demo()) {
         return false;
     }
     // Create rules
     $rules = array();
     foreach ($default as $section => $groups) {
         foreach ($groups as $group => $types) {
             foreach ($types as $type => $lang) {
                 foreach ($lang as $keyword => $name) {
                     $rules[$group . '_' . $keyword] = array('label' => '', 'rules' => array('trim', 'required'));
                 }
             }
         }
     }
     // Assign rules
     validate::setRules($rules);
     // Validate fields
     if (!validate::run()) {
         return false;
     }
     // Get language data
     $languageData = array();
     foreach ($default as $section => $groups) {
         foreach ($groups as $group => $types) {
             foreach ($types as $type => $lang) {
                 foreach ($lang as $keyword => $name) {
                     $cp = $type == 'cp' ? 1 : 0;
                     // Set language data
                     $data = array('value_' . $language => input::post($group . '_' . $keyword));
                     // Save language string
                     $this->languages_model->saveLanguageData($plugin, $section, $group, $keyword, $data);
                 }
             }
         }
     }
     // Recompile language pack
     $this->languages_model->compile($language);
     // Success
     view::setInfo(__('language_saved', 'system_languages'));
     router::redirect('cp/system/languages/translate/' . $plugin . '/' . $language);
 }
示例#11
0
 public function delete()
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/billing/credits')) {
         return false;
     }
     // Get URI vars
     $packageID = (int) uri::segment(5);
     // Get package
     if (!$packageID || !($package = $this->credits_model->getPackage($packageID))) {
         view::setError(__('no_package', 'billing_credits'));
         router::redirect('cp/billing/credits');
     }
     // Delete package
     $this->credits_model->deletePackage($packageID, $package);
     // Success
     view::setInfo(__('package_deleted', 'billing_credits'));
     router::redirect('cp/billing/credits');
 }
示例#12
0
 public function delete()
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/content/newsletters')) {
         return false;
     }
     // Get URI vars
     $newsletterID = (int) uri::segment(5);
     // Get newsletter
     if (!$newsletterID || !($newsletter = $this->newsletters_model->getNewsletter($newsletterID))) {
         view::setError(__('no_newsletter', 'newsletters'));
         router::redirect('cp/content/newsletters');
     }
     // Delete newsletter
     $this->newsletters_model->deleteNewsletter($newsletterID, $newsletter);
     // Success
     view::setInfo(__('newsletter_deleted', 'newsletters'));
     router::redirect('cp/content/newsletters');
 }
示例#13
0
 protected function _saveSettings($plugin, $settings, $param)
 {
     // Check if demo mode is enabled
     if (input::demo()) {
         return false;
     }
     $rules = array();
     foreach ($settings as $group => $configs) {
         foreach ($configs as $setting) {
             $options = array();
             if ($setting['required']) {
                 $options[] = 'required';
             }
             if ($setting['type'] == 'email') {
                 $options[] = 'valid_email';
             } elseif ($setting['type'] == 'number') {
                 if ($setting['required']) {
                     $options[] = 'is_numeric_no_zero';
                     $options['min_value'] = '1';
                 } else {
                     $options[] = 'is_numeric';
                 }
             }
             $rules[$setting['keyword']] = array('label' => $setting['name'], 'rules' => $options);
         }
     }
     validate::setRules($rules);
     if (!validate::run()) {
         return false;
     }
     foreach ($settings as $group => $configs) {
         foreach ($configs as $setting) {
             if ($setting['type'] != 'static') {
                 $value = input::post($setting['keyword']);
                 if (method_exists($this, '_savePluginSettings')) {
                     $this->_savePluginSettings($setting['keyword'], $value);
                 }
                 if ($setting['type'] == 'checkbox') {
                     if (!is_array($value)) {
                         $value = array();
                     }
                     $value = json_encode(array_flip($value));
                 } elseif ($setting['type'] == 'number') {
                     $value = $value == '' ? 0 : $value;
                 }
                 $orderID = false;
                 if (config::item('devmode', 'system') == 2) {
                     $orderID = (int) input::post($setting['keyword'] . '___order');
                 }
                 $this->config_model->saveSetting($plugin, $setting['keyword'], $value, $orderID);
             }
         }
     }
     view::setInfo(__('config_saved', 'system_config'));
     router::redirect(($param ? 'cp/system/plugins/settings/' : 'cp/system/config/') . $plugin);
 }
示例#14
0
 public function delete()
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/users/groups')) {
         return false;
     }
     // Get URI vars
     $groupID = (int) uri::segment(5);
     // Is this one of the system groups?
     if (in_array($groupID, array(config::item('group_default_id', 'users'), config::item('group_cancelled_id', 'users'), config::item('group_guests_id', 'users')))) {
         view::setError(__('group_delete_system', 'users_groups'));
         router::redirect('cp/users/groups');
     }
     // Is this member's own group?
     if ($groupID == session::item('group_id')) {
         view::setError(__('group_delete_self', 'users_groups'));
         router::redirect('cp/users/groups');
     }
     // Get user group
     if (!$groupID || !($group = $this->users_groups_model->getGroup($groupID))) {
         view::setError(__('no_group', 'users_groups'));
         router::redirect('cp/users/groups');
     }
     // Do we have any members in this group?
     if ($this->users_groups_model->isUsers($groupID)) {
         view::setError(__('group_delete_users', 'users_groups'));
         router::redirect('cp/users/groups');
     }
     // Delete user group
     if (!$this->users_groups_model->deleteGroup($groupID, $group)) {
         view::setError(__('db_no_column_drop', 'system_fields'));
         router::redirect('cp/users/groups');
     }
     // Success
     view::setInfo(__('group_deleted', 'users_groups'));
     router::redirect('cp/users/groups');
 }
示例#15
0
 public function delete($actionID = false)
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/plugins/pictures/albums')) {
         return false;
     }
     // Get URI vars
     $albumID = $actionID ? $actionID : (int) uri::segment(6);
     // Get album
     if (!$albumID || !($album = $this->pictures_albums_model->getAlbum($albumID))) {
         view::setError(__('no_album', 'pictures'));
         router::redirect('cp/plugins/pictures/albums');
     }
     // Delete album
     $this->pictures_albums_model->deleteAlbum($albumID, $album['user_id'], $album);
     // Is this an action call?
     if ($actionID) {
         return;
     }
     // Process query string
     $qstring = $this->parseQuerystring();
     // Success
     view::setInfo(__('album_deleted', 'pictures'));
     router::redirect('cp/plugins/pictures/albums?' . $qstring['url'] . 'page=' . $qstring['page']);
 }
示例#16
0
echo __('password', 'users');
?>
				</label>

				<div class="field">

					<?php 
view::load('system/elements/field/edit', array('prefix' => 'user_login', 'field' => array('keyword' => 'password', 'type' => 'password', 'maxlength' => 128, 'class' => 'input-xlarge'), 'value' => input::demo(0, '', false) && !input::postCount() ? array('password' => 'demo') : ''));
?>

				</div>

			</div>

			<?php 
if (uri::segment(4) == 'license' && !input::demo(0, '', false)) {
    ?>

				<div class="row <?php 
    echo text_helper::alternate('odd', 'even');
    ?>
" id="input_row_user_login_license">

					<label for="input_edit_user_login_license">
						<?php 
    echo __('license_new', 'system_license');
    ?>
					</label>

					<div class="field">
示例#17
0
 public function delete($actionID = false)
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/plugins/timeline')) {
         return false;
     }
     // Get URI vars
     $messageID = $actionID ? $actionID : (int) uri::segment(5);
     // Get message
     if (!$messageID || !($message = $this->timeline_messages_model->getMessage($messageID))) {
         view::setError(__('no_message', 'timeline'));
         router::redirect('cp/plugins/timeline');
     }
     // Delete message
     $this->timeline_messages_model->deleteMessage($messageID, $message);
     // Is this an action call?
     if ($actionID) {
         return;
     }
     // Process query string
     $qstring = $this->parseQuerystring();
     // Success
     view::setInfo(__('message_deleted', 'timeline'));
     router::redirect('cp/plugins/timeline?' . $qstring['url'] . 'page=' . $qstring['page']);
 }
示例#18
0
 public function dismiss($actionID = false)
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/content/reports')) {
         return false;
     }
     // Get URI vars
     $reportID = $actionID ? $actionID : (int) uri::segment(5);
     // Get report
     if (!$reportID || !($report = $this->reports_model->getReport($reportID))) {
         view::setError(__('no_report', 'reports'));
         router::redirect('cp/content/reports');
     }
     // Delete report
     $this->reports_model->deleteReport($reportID);
     // Is this an action call?
     if ($actionID) {
         return;
     }
     // Process query string
     $qstring = $this->parseQuerystring();
     // Success
     view::setInfo(__('report_dismissed', 'reports'));
     router::redirect('cp/content/reports?' . $qstring['url'] . 'page=' . $qstring['page']);
 }
示例#19
0
 protected function _reorderItems()
 {
     // Check if demo mode is enabled
     if (input::demo(0)) {
         return false;
     }
     // Get submitted item IDs
     $items = input::post('ids');
     // Do we have any item IDs?
     if ($items && is_array($items)) {
         // Loop through item IDs
         $orderID = 1;
         foreach ($items as $itemID) {
             // Update item ID
             $this->lists_model->updateItem($itemID, array('order_id' => $orderID));
             $orderID++;
         }
     }
 }
示例#20
0
 protected function _saveTemplate($templateID, $keyword)
 {
     // Check if demo mode is enabled
     if (input::demo()) {
         return false;
     }
     // Rules and input arrays
     $rules = $input = array();
     // Build rules
     foreach (config::item('languages', 'core', 'keywords') as $languageID => $language) {
         // Make sure this is not a header/footer template
         if (!in_array($keyword, array('header', 'footer'))) {
             $rules['subject_' . $language] = array('label' => __('template_subject', 'system_email_templates') . (count(config::item('languages', 'core', 'keywords')) > 1 ? ' [' . config::item('languages', 'core', 'names', $languageID) . ']' : ''), 'rules' => array('trim', 'required'));
             $input[] = 'subject_' . $language;
         }
         $rules['message_html_' . $language] = array('label' => __('template_message_html', 'system_email_templates') . (count(config::item('languages', 'core', 'keywords')) > 1 ? ' [' . config::item('languages', 'core', 'names', $languageID) . ']' : ''), 'rules' => array('trim', 'required'));
         $rules['message_text_' . $language] = array('label' => __('template_message_text', 'system_email_templates') . (count(config::item('languages', 'core', 'keywords')) > 1 ? ' [' . config::item('languages', 'core', 'names', $languageID) . ']' : ''), 'rules' => array('trim', 'required'));
         $rules['active'] = array('label' => __('active', 'system'), 'rules' => array('required', 'intval'));
         $input[] = 'message_html_' . $language;
         $input[] = 'message_text_' . $language;
         $input[] = 'active';
     }
     // Assign rules
     validate::setRules($rules);
     // Validate fields
     if (!validate::run()) {
         return false;
     }
     // Get template data
     $template = input::post($input);
     // Save template data
     $this->emailtemplates_model->saveTemplate($templateID, $template);
     // Success
     view::setInfo(__('template_saved', 'system_email_templates'));
     router::redirect('cp/system/emailtemplates/edit/' . $templateID);
 }
示例#21
0
 public function delete($actionID = false)
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/plugins/messages')) {
         return false;
     }
     // Get URI vars
     $messageID = $actionID ? $actionID : (int) uri::segment(5);
     // Get message
     if (!$messageID || !($message = $this->messages_model->getMessage($messageID))) {
         view::setError(__('no_message', 'messages'));
         router::redirect('cp/plugins/messages');
     }
     // Get conversation
     if (!($conversation = $this->messages_model->getConversation($message['conversation_id'], $message['user_id'], array('messages' => false, 'recipients' => false)))) {
         view::setError(__('no_conversation', 'messages'));
         router::redirect('cp/plugins/messages');
     }
     // Delete message
     $this->messages_model->deleteMessage($messageID, $message['conversation_id'], $message, $conversation);
     // Is this an action call?
     if ($actionID) {
         return;
     }
     // Process query string
     $qstring = $this->parseQuerystring();
     // Success
     view::setInfo(__('message_deleted', 'messages'));
     router::redirect('cp/plugins/messages?' . $qstring['url'] . 'page=' . $qstring['page']);
 }
示例#22
0
 public function uninstall()
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/system/storage')) {
         return false;
     }
     // Get URI vars
     $keyword = uri::segment(5);
     // Get service
     if (!$keyword || !($service = $this->storage_model->getService($keyword))) {
         view::setError(__('no_service', 'system_storage'));
         router::redirect('cp/system/storage');
     }
     // Do we have any files linked to the storage service?
     if ($this->storage_model->isInUse($service['service_id'])) {
         view::setError(__('storage_in_use', 'system_storage'));
         router::redirect('cp/system/storage');
     }
     // Is this a default library?
     if ($service['default']) {
         view::setError(__('storage_default', 'system_storage'));
         router::redirect('cp/system/storage');
     }
     // Uninstall service
     $this->storage_model->uninstall($service['service_id'], $service);
     view::setInfo(__('service_uninstalled', 'system_storage'));
     router::redirect('cp/system/storage');
 }
示例#23
0
 public function delete()
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/billing/plans')) {
         return false;
     }
     // Get URI vars
     $planID = (int) uri::segment(5);
     // Get plan
     if (!$planID || !($plan = $this->plans_model->getPlan($planID))) {
         view::setError(__('no_plan', 'billing_plans'));
         router::redirect('cp/billing/plans');
     }
     // Delete plan
     $this->plans_model->deletePlan($planID, $plan);
     // Success
     view::setInfo(__('plan_deleted', 'billing_plans'));
     router::redirect('cp/billing/plans');
 }
示例#24
0
 public function delete()
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/content/banners')) {
         return false;
     }
     // Get URI vars
     $groupID = (int) uri::segment(6);
     // Get banner group
     if (!$groupID || !($group = $this->banners_groups_model->getGroup($groupID))) {
         view::setError(__('no_group', 'banners'));
         router::redirect('cp/content/banners/groups');
     }
     // Delete banner group
     $this->banners_groups_model->deleteGroup($groupID, $group);
     // Success
     view::setInfo(__('group_deleted', 'banners'));
     router::redirect('cp/content/banners/groups');
 }
示例#25
0
 public function delete($parentID = false, $actionID = false)
 {
     // Get URI vars
     $parentID = $parentID ? $parentID : (int) uri::segment(5);
     $pageID = $actionID ? $actionID : (int) uri::segment(6);
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/content/pages/browse/' . $parentID)) {
         return false;
     }
     // Get parent
     if ($parentID && !($parent = $this->pages_model->getPage($parentID))) {
         view::setError(__('no_parent', 'pages'));
         router::redirect('cp/content/pages/browse/' . $parentID);
     }
     // Get page
     if (!$pageID || !($page = $this->pages_model->getPage($pageID)) || $page['parent_id'] != $parentID) {
         view::setError(__('no_page', 'pages'));
         router::redirect('cp/content/pages/browse/' . $parentID);
     } elseif ($page['system']) {
         view::setError(__('page_system_delete', 'pages'));
         router::redirect('cp/content/pages/browse/' . $parentID);
     }
     // Delete page
     $this->pages_model->deletePage($pageID, $page);
     // Is this an action call?
     if ($actionID) {
         return;
     }
     // Process query string
     $qstring = $this->parseQuerystring();
     // Success
     view::setInfo(__('page_deleted', 'pages'));
     router::redirect('cp/content/pages/browse/' . $parentID . '?' . $qstring['url']);
 }
示例#26
0
 public function delete($actionID = false)
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/billing/transactions')) {
         return false;
     }
     // Get URI vars
     $transactionID = $actionID ? $actionID : (int) uri::segment(5);
     // Get transaction
     if (!$transactionID || !($transaction = $this->transactions_model->getTransaction($transactionID))) {
         view::setError(__('no_transaction', 'billing_transactions'));
         router::redirect('cp/billing/transactions');
     }
     // Delete transaction
     $this->transactions_model->deleteTransaction($transactionID, $transaction);
     // Is this an action call?
     if ($actionID) {
         return;
     }
     // Process query string
     $qstring = $this->parseQuerystring();
     // Success
     view::setInfo(__('transaction_deleted', 'billing_transactions'));
     router::redirect('cp/billing/transactions?' . $qstring['url'] . 'page=' . $qstring['page']);
 }
示例#27
0
 public function delete()
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/plugins/messages/templates')) {
         return false;
     }
     // Get URI vars
     $templateID = (int) uri::segment(6);
     // Get template
     if (!$templateID || !($template = $this->messages_templates_model->getTemplate($templateID))) {
         view::setError(__('no_template', 'messages_templates'));
         router::redirect('cp/plugins/messages/templates');
     }
     // Delete template
     $this->messages_templates_model->deleteTemplate($templateID, $template);
     // Success
     view::setInfo(__('template_deleted', 'messages_templates'));
     router::redirect('cp/plugins/messages/templates');
 }
示例#28
0
 public function delete()
 {
     // Get URI vars
     $groupID = (int) uri::segment(5);
     $bannerID = (int) uri::segment(6);
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/content/banners/browse/' . $groupID)) {
         return false;
     }
     // Get banner
     if (!$bannerID || !($banner = $this->banners_model->getBanner($bannerID))) {
         view::setError(__('no_banner', 'banners'));
         router::redirect('cp/content/banners/browse/' . $groupID);
     }
     $this->banners_model->deleteBanner($groupID, $bannerID, $banner);
     view::setInfo(__('banner_deleted', 'banners'));
     router::redirect('cp/content/banners/browse/' . $groupID);
 }
示例#29
0
 public function action($action, $actionID = false)
 {
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/users')) {
         return false;
     }
     // Get URI vars
     $userID = $actionID ? $actionID : (int) uri::segment(4);
     // Get user
     if (!$userID || !($user = $this->users_model->getUser($userID))) {
         view::setError(__('no_user', 'users'));
         router::redirect('cp/users');
     }
     // Make sure we're not trying to decline ourselves
     if ($userID != session::item('user_id')) {
         switch ($action) {
             case 'approve':
             case 'approve_email':
                 if ($this->users_model->toggleUserStatus($userID, $user, 1) && $action == 'approve_email') {
                     loader::library('email');
                     $this->email->sendTemplate('users_account_welcome', $user['email'], $user, $user['language_id']);
                 }
                 $str = __('user_approved', 'users');
                 break;
             case 'decline':
             case 'decline_email':
                 if ($this->users_model->toggleUserStatus($userID, $user, 0) && $action == 'decline_email') {
                     loader::library('email');
                     $this->email->sendTemplate('users_account_declined', $user['email'], $user, $user['language_id']);
                 }
                 $str = __('user_declined', 'users');
                 break;
             case 'verify':
                 $this->users_model->toggleVerifiedStatus($userID, $user, 1);
                 $str = __('user_verified', 'users');
                 break;
             case 'unverify':
                 $this->users_model->toggleVerifiedStatus($userID, $user, 0);
                 $str = __('user_unverified', 'users');
                 break;
             case 'delete':
                 $this->users_model->deleteUser($userID, $user);
                 $str = __('user_deleted', 'users');
                 break;
         }
     } else {
         $str = '';
     }
     // Is this an action call?
     if ($actionID) {
         return;
     }
     // Process query string
     $qstring = $this->parseQuerystring();
     // Success
     view::setInfo($str);
     router::redirect('cp/users?' . $qstring['url'] . 'page=' . $qstring['page']);
 }
示例#30
0
 protected function action($action, $actionID = false)
 {
     // Get URI vars
     $adID = (int) uri::segment(6);
     $pictureID = $actionID ? $actionID : (int) uri::segment(7);
     // Check if demo mode is enabled
     if (input::demo(1, 'cp/plugins/classifieds/pictures' . ($adID ? '/browse/' . $adID : ''))) {
         return false;
     }
     // Get picture
     if (!$pictureID || !($picture = $this->classifieds_pictures_model->getPicture($pictureID)) || $adID && $picture['ad_id'] != $adID) {
         view::setError(__('no_picture', 'classifieds'));
         router::redirect('cp/plugins/classifieds/pictures/browse/' . $adID);
     }
     // Get ad
     if (!($ad = $this->classifieds_model->getAd($picture['ad_id']))) {
         view::setError(__('no_ad', 'classifieds'));
         router::redirect('cp/plugins/classifieds');
     }
     switch ($action) {
         case 'approve':
             $this->classifieds_pictures_model->togglePictureStatus($pictureID, $picture['ad_id'], $picture['user_id'], $picture, $ad, 1);
             $str = __('picture_approved', 'classifieds');
             break;
         case 'decline':
             $this->classifieds_pictures_model->togglePictureStatus($pictureID, $picture['ad_id'], $picture['user_id'], $picture, $ad, 0);
             $str = __('picture_declined', 'classifieds');
             break;
         case 'delete':
             $this->classifieds_pictures_model->deletePicture($pictureID, $picture['ad_id'], $picture['user_id'], $picture, $ad);
             $str = __('picture_deleted', 'classifieds');
             break;
     }
     // Is this an action call?
     if ($actionID) {
         return;
     }
     // Process query string
     $qstring = $this->parseQuerystring();
     // Success
     view::setInfo($str);
     router::redirect('cp/plugins/classifieds/pictures/browse/' . $adID . '?' . $qstring['url'] . 'page=' . $qstring['page']);
 }