Ejemplo n.º 1
0
 protected function _preDispatch($action)
 {
     if (!Nobita_Teams_Validation::assertAddOnValidAndUsable('sonnb_xengallery')) {
         throw $this->getNoPermissionResponseException();
     }
     if (!$this->_getTeamModel()->canViewTeams($error)) {
         throw $this->getErrorOrNoPermissionResponseException($error);
     }
     return parent::_preDispatch($action);
 }
Ejemplo n.º 2
0
 public static function uninstall($db = null)
 {
     if (!$db) {
         $db = XenForo_Application::get('db');
     }
     if (!Nobita_Teams_Validation::assertAddOnValidAndUsable('sonnb_xengallery', false)) {
         // addon didn't existed
         return;
     }
     try {
         $db->query("ALTER TABLE sonnb_xengallery_album DROP COLUMN team_id");
     } catch (Zend_Db_Exception $e) {
     }
 }
Ejemplo n.º 3
0
 public static function XenMedia_renderOption(XenForo_View $view, $fieldPrefix, array $preparedOption, $canEdit)
 {
     if (!Nobita_Teams_Validation::assertAddOnValidAndUsable('XenGallery')) {
         $preparedOption['formatParams'] = array('value' => 0, 'label' => '(' . new XenForo_Phrase('unspecified') . ')', 'selected' => true, 'depth' => 0);
     } else {
         $categoryModel = XenForo_Model::create('XenGallery_Model_Category');
         $categories = $categoryModel->getAllCategories();
         $options[0] = array('value' => 0, 'label' => '(' . new XenForo_Phrase('unspecified') . ')', 'selected' => true, 'depth' => 0);
         foreach ($categories as $category) {
             $options[$category['category_id']] = array('value' => $category['category_id'], 'label' => $category['category_title'], 'selected' => false, 'depth' => $category['depth']);
         }
         $preparedOption['formatParams'] = $options;
     }
     return XenForo_ViewAdmin_Helper_Option::renderOptionTemplateInternal('option_list_option_select', $view, $fieldPrefix, $preparedOption, $canEdit);
 }
Ejemplo n.º 4
0
    protected function _postDelete()
    {
        $db = $this->_db;
        $teamIdQuoted = $db->quote($this->get('team_id'));
        $postIds = $db->fetchCol('
			SELECT post_id
			FROM xf_team_post
			WHERE team_id = ?
		', $this->getTeamId());
        $this->getModelFromCache('XenForo_Model_Attachment')->deleteAttachmentsFromContentIds('team_post', $postIds);
        $this->getModelFromCache('XenForo_Model_Alert')->deleteAlerts('team_post', $postIds);
        $db->delete('xf_team_post', 'team_id = ' . $teamIdQuoted);
        $db->delete('xf_team_post_comment', 'team_id = ' . $teamIdQuoted);
        $db->delete('xf_team_member', 'team_id = ' . $teamIdQuoted);
        $db->delete('xf_team_field_value', 'team_id = ' . $teamIdQuoted);
        // update thread
        $db->query("\n\t\t\tUPDATE xf_thread\n\t\t\tSET team_id = 0, discussion_type = ''\n\t\t\tWHERE team_id = ?\n\t\t", $this->getTeamId());
        // 1.1.3 support event!
        $db->delete('xf_team_event', 'team_id = ' . $teamIdQuoted);
        if ($this->getExisting('team_state') == 'visible') {
            $this->_teamRemoved();
        }
        $this->_updateDeletionLog(true);
        $this->getModelFromCache('XenForo_Model_ModerationQueue')->deleteFromModerationQueue('team', $this->get('team_id'));
        $this->getModelFromCache('Nobita_Teams_Model_Avatar')->deleteAvatar($this->getTeamId(), false);
        if ($this->get('cover_date')) {
            $this->getModelFromCache('Nobita_Teams_Model_Cover')->deleteCoverPhoto($this->getTeamId(), false);
            // fixed! remove cover as well!
            $this->getModelFromCache('Nobita_Teams_Model_Cover')->deleteCoverCropPhoto($this->getTeamId(), $this->get('cover_date'));
        }
        $this->_deleteFromNewsFeed();
        $this->getModelFromCache('XenForo_Model_Alert')->deleteAlerts('team', $this->getTeamId());
        if (Nobita_Teams_Validation::assertAddOnValidAndUsable('sonnb_xengallery', false)) {
            try {
                $db->query("\n\t\t\t\t\tUPDATE sonnb_xengallery_album\n\t\t\t\t\tSET team_id = 0\n\t\t\t\t\tWHERE team_id = ?\n\t\t\t\t", $this->get('team_id'));
            } catch (Zend_Db_Exception $e) {
            }
        }
    }