Beispiel #1
0
 /**
  * Browser within publications NEW
  *
  * @return     string
  */
 public function select()
 {
     // Incoming
     $props = Request::getVar('p', '');
     $ajax = Request::getInt('ajax', 0);
     $pid = Request::getInt('pid', 0);
     $vid = Request::getInt('vid', 0);
     $filter = urldecode(Request::getVar('filter', ''));
     // Parse props for curation
     $parts = explode('-', $props);
     $block = isset($parts[0]) ? $parts[0] : 'content';
     $step = isset($parts[1]) && is_numeric($parts[1]) && $parts[1] > 0 ? $parts[1] : 1;
     $element = isset($parts[2]) && is_numeric($parts[2]) && $parts[2] > 0 ? $parts[2] : 1;
     // Provisioned project?
     $prov = $this->model->isProvisioned() ? 1 : 0;
     // Output HTML
     $view = new \Hubzero\Plugin\View(array('folder' => 'projects', 'element' => 'databases', 'name' => 'selector', 'layout' => 'default'));
     $view->publication = new \Components\Publications\Models\Publication($pid, NULL, $vid);
     // On error
     if (!$view->publication->exists()) {
         // Output error
         $view = new \Hubzero\Plugin\View(array('folder' => 'projects', 'element' => 'files', 'name' => 'error'));
         $view->title = '';
         $view->option = $this->_option;
         $view->setError(Lang::txt('PLG_PROJECTS_DATABASES_SELECTOR_ERROR_NO_PUBID'));
         return $view->loadTemplate();
     }
     $view->publication->attachments();
     // Get curation model
     $view->publication->setCuration();
     // Make sure block exists, else use default
     $view->publication->_curationModel->setBlock($block, $step);
     // Set pub assoc and load curation
     $view->publication->_curationModel->setPubAssoc($view->publication);
     \Hubzero\Document\Assets::addPluginStylesheet('projects', 'databases', 'selector');
     if (!$ajax) {
         \Hubzero\Document\Assets::addPluginStylesheet('projects', 'publications', 'selector');
     }
     $view->option = $this->_option;
     $view->database = $this->_database;
     $view->model = $this->model;
     $view->uid = $this->_uid;
     $view->ajax = $ajax;
     $view->element = $element;
     $view->block = $block;
     $view->step = $step;
     $view->props = $props;
     $view->filter = $filter;
     // Get databases to choose from
     $objPD = new \Components\Projects\Tables\Database($this->_database);
     $view->items = $objPD->getItems($this->model->get('id'), array());
     // Get messages	and errors
     if ($this->getError()) {
         $view->setError($this->getError());
     }
     $arr = array('html' => $view->loadTemplate(), 'metadata' => '', 'msg' => '', 'referer' => '');
     return $arr;
 }
Beispiel #2
0
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 */
// No direct access
defined('_HZEXEC_') or die;
// Get databases to choose from
$objPD = new \Components\Projects\Tables\Database($this->database);
$items = $objPD->getItems($this->model->get('id'), array());
$missing = array();
$shown = array();
// Attached item
$selected = NULL;
if ($this->primary && !empty($this->attachments)) {
    $selected = $this->attachments[0]->object_name;
}
// Build url
$route = $this->model->isProvisioned() ? 'index.php?option=com_publications' . '&task=submit' : 'index.php?option=com_projects' . '&alias=' . $this->model->get('alias');
$p_url = Route::url($route . '&active=databases');
?>
<ul id="c-browser" <?php 
if (count($items) == 0 && isset($this->attachments) && count($this->attachments) == 0) {
    echo 'class="hidden"';
}