Exemplo n.º 1
0
 public function display_author()
 {
     $view = null;
     if (!empty($this->owner)) {
         $userobj = new User();
         $userobj->find_by_id($this->owner);
         $view = $userobj->get_profile_view();
         // Hide author if profile isn't visible to user
         if (!$view || !can_view_view($view)) {
             return null;
         }
     } else {
         if (!empty($this->group)) {
             $view = group_get_homepage_view($this->group);
             // Hide author if profile isn't visible to user
             if (!$view || !can_view_view($view)) {
                 return null;
             }
         } else {
             if (!empty($this->institution)) {
                 global $USER;
                 if (!$USER->is_logged_in() || !get_field('institution', 'registerallowed', 'name', $this->institution) && !$USER->in_institution($this->institution) && !$USER->get('admin')) {
                     return null;
                 }
             }
         }
     }
     $ownername = hsc($this->formatted_owner());
     $ownerlink = hsc($this->owner_link());
     return get_string('viewauthor', 'view', $ownerlink, $ownername);
 }
Exemplo n.º 2
0
 *
 */
/**
 * returns shared views in a given group id
 */
define('INTERNAL', 1);
define('JSON', 1);
require dirname(dirname(dirname(__FILE__))) . '/init.php';
safe_require('blocktype', 'groupviews');
require_once get_config('libroot') . 'view.php';
require_once get_config('libroot') . 'group.php';
require_once get_config('libroot') . 'pieforms/pieform.php';
$offset = param_integer('offset', 0);
$groupid = param_integer('group');
$editing = param_boolean('editing', false);
$group_homepage_view = group_get_homepage_view($groupid);
$bi = group_get_homepage_view_groupview_block($groupid);
if (!can_view_view($group_homepage_view)) {
    json_reply(true, get_string('accessdenied', 'error'));
}
$configdata = $bi->get('configdata');
if (!isset($configdata['showsharedviews'])) {
    $configdata['showsharedviews'] = 1;
}
$limit = isset($configdata['count']) ? intval($configdata['count']) : 5;
$limit = $limit > 0 ? $limit : 5;
// Find out what order to sort them by (default is titles)
if (!isset($configdata['sortsharedviewsby']) || $configdata['sortsharedviewsby'] == PluginBlocktypeGroupViews::SORTBY_TITLE) {
    $sortsharedviewsby = 'v.title';
} else {
    $sortsharedviewsby = 'v.mtime DESC';
Exemplo n.º 3
0
define('INTERNAL', 1);
define('PUBLIC', 1);
define('MENUITEM', 'groups/info');
require dirname(dirname(__FILE__)) . '/init.php';
require_once 'group.php';
require_once 'searchlib.php';
require_once get_config('docroot') . 'interaction/lib.php';
require_once get_config('libroot') . 'view.php';
safe_require('artefact', 'file');
define('GROUP', param_integer('id'));
$group = group_current_group();
if (!is_logged_in() && !$group->public) {
    throw new AccessDeniedException();
}
define('TITLE', $group->name);
$isadmin = false;
if (is_logged_in()) {
    $isadmin = group_user_access($group->id, $USER->id) == 'admin';
}
$view = group_get_homepage_view($group->id);
$viewcontent = $view->build_columns();
$headers = array('<link rel="stylesheet" type="text/css" href="' . get_config('wwwroot') . 'theme/views.css">');
if ($group->public) {
    $feedlink = get_config('wwwroot') . 'interaction/forum/atom.php?type=g&id=' . $group->id;
    $headers[] = '<link rel="alternate" type="application/atom+xml" href="' . $feedlink . '" />';
}
$smarty = smarty(array(), $headers, array(), array('stylesheets' => array('style/views.css')));
$smarty->assign('viewid', $view->get('id'));
$smarty->assign('viewcontent', $viewcontent);
$smarty->assign('isadmin', $isadmin);
$smarty->display('group/view.tpl');