public function service_public_areas($params)
 {
     if ($params['project']->usesService($this->getServiceShortname())) {
         $service = $params['project']->getService($this->getServiceShortname());
         $wiki = new PHPWiki($params['project']->getID());
         $presenter = new WidgetPublicAreaPresenter($service->getUrl(), $GLOBALS['HTML']->getImagePath('ic/wiki.png'), $this->text, $wiki->getProjectPageCount());
         $renderer = TemplateRendererFactory::build()->getRenderer(PHPWIKI_TEMPLATE_DIR);
         $params['areas'][] = $renderer->renderToString('widget_public_area', $presenter);
     }
 }
 /**
  *
  */
 function setWikiPerms()
 {
     global $feedback;
     $w = new PHPWiki($this->gid);
     if ($_POST['reset']) {
         $ret = $w->resetPermissions();
     } else {
         $ret = $w->setPermissions($_POST['ugroups']);
     }
     if (!$ret) {
         exit_error($GLOBALS['Language']->getText('global', 'error'), $GLOBALS['Language']->getText('plugin_phpwiki_actions_wikiserviceadmin', 'update_perm_err', array($feedback)));
     }
     $event_manager = EventManager::instance();
     $event_manager->processEvent("plugin_phpwiki_service_permissions_updated", array('group_id' => $this->gid));
 }
   /**
    * displayMenu - public
    */
   function displayMenu()
   {
       print '
   <table class="ServiceMenu">
     <tr>
       <td>';
       $language_id = '';
       if (defined('DEFAULT_LANGUAGE')) {
           $language_id = DEFAULT_LANGUAGE;
       }
       switch ($language_id) {
           case 'fr_FR':
               $attatch_page = "DéposerUnFichier";
               $preferences_page = "PréférencesUtilisateurs";
               break;
           case 'en_US':
           default:
               $attatch_page = 'UpLoad';
               $preferences_page = 'UserPreferences';
               break;
       }
       $attatch_menu = $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'menuattch');
       $preferences_menu = $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'menuprefs');
       $help_menu = $GLOBALS['Language']->getText('global', 'help');
       print '
   <ul class="ServiceMenu">
     <li><a href="' . $this->wikiLink . '&view=browsePages">' . $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'menupages') . '</a>&nbsp;|&nbsp;</li>';
       if (UserManager::instance()->getCurrentUser()->isLoggedIn()) {
           print '<li><a href="javascript:help_window(\'' . $this->wikiLink . '&pagename=' . $attatch_page . '&pv=2\')">' . $attatch_menu . '</a>&nbsp;|&nbsp;</li>';
           print '<li><a href="' . $this->wikiLink . '&pagename=' . $preferences_page . '">' . $preferences_menu . '</a>&nbsp;|&nbsp;</li>';
       }
       if (user_ismember($this->gid, 'W2')) {
           print '<li><a href="' . $this->wikiAdminLink . '">' . $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'menuadmin') . '</a>&nbsp;|&nbsp;</li>';
       }
       print '<li>' . help_button('wiki.html', false, $help_menu) . '</li>
  </ul>';
       print '
 </td>
 <td align="right" valign="top">';
       if (user_ismember($this->gid, 'W2')) {
           $wiki = new PHPWiki($this->gid);
           $permInfo = "";
           if ('wiki' == $this->view) {
               // User is browsing a wiki page
               $wp = new PHPWikiPage($this->gid, $_REQUEST['pagename']);
               $permLink = $this->wikiAdminLink . '&view=pagePerms&id=' . $wp->getId();
               if ($wp->permissionExist()) {
                   $permInfo = '<a href="' . $permLink . '"> ' . '<img src="' . util_get_image_theme("ic/lock.png") . '" border="0" alt="' . $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'lock_alt') . '" title="' . $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'lock_title_spec') . '"/></a>';
               }
           }
           if ($wiki->permissionExist()) {
               $permInfo .= '<a href="' . PHPWIKI_PLUGIN_BASE_URL . '/admin/index.php?group_id=' . $this->gid . '&view=wikiPerms"> ' . '<img src="' . util_get_image_theme("ic/lock.png") . '" border="0" alt="' . $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'lock_alt') . '" title="' . $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'lock_title_set') . '"/>' . '</a>';
           }
           if ($permInfo) {
               print $permInfo;
           }
       }
       //Display printer_version link only in wiki pages
       if (isset($_REQUEST['pagename'])) {
           print '
         (<a href="' . $this->base_url . '&pv=1" title="' . $GLOBALS['Language']->getText('plugin_phpwiki_views_wikiserviceviews', 'lighter_display') . '">
         <img src="' . util_get_image_theme("msg.png") . '" border="0">&nbsp;' . $GLOBALS['Language']->getText('global', 'printer_version') . '</A> ) 
         </li>';
       }
       print '
    </td>
   </tr>
 </table>';
   }
 /**
  * @return bool
  */
 private function userCanAccessPhpWikiService(PFUser $user, Project $project)
 {
     $wiki = new PHPWiki($project->getID());
     return $wiki->isAutorized($user->getId());
 }