Exemplo n.º 1
0
 /**
  * Internal function to return a Conference object from a row.
  * @param $row array
  * @return Conference
  */
 function &_returnConferenceFromRow(&$row)
 {
     $conference = new Conference();
     $conference->setConferenceId($row['conference_id']);
     $conference->setPath($row['path']);
     $conference->setSequence($row['seq']);
     $conference->setEnabled($row['enabled']);
     $conference->setPrimaryLocale($row['primary_locale']);
     HookRegistry::call('ConferenceDAO::_returnConferenceFromRow', array(&$conference, &$row));
     return $conference;
 }
Exemplo n.º 2
0
 function importConference()
 {
     // If necessary, create the conference.
     $conferenceDao =& DAORegistry::getDAO('ConferenceDAO');
     if (!($conference =& $conferenceDao->getConferenceByPath($this->conferencePath))) {
         if ($this->hasOption('verbose')) {
             printf("Creating conference\n");
         }
         unset($conference);
         $conference = new Conference();
         $conference->setPath($this->conferencePath);
         $conference->setPrimaryLocale(Locale::getLocale());
         $conference->setEnabled(true);
         $this->conferenceId = $conferenceDao->insertConference($conference);
         $conferenceDao->resequenceConferences();
         $conference->updateSetting('title', array(Locale::getLocale() => $this->globalConfigInfo['name']), null, true);
         $this->conferenceIsNew = true;
     } else {
         if ($this->hasOption('verbose')) {
             printf("Using existing conference\n");
         }
         $conference->updateSetting('title', array(Locale::getLocale() => $this->globalConfigInfo['name']), null, true);
         $this->conferenceId = $conference->getId();
         $this->conferenceIsNew = false;
     }
     $this->conference =& $conference;
     $roleDao =& DAORegistry::getDAO('RoleDAO');
     if ($this->conferenceIsNew) {
         // All site admins should get a manager role by default
         $admins = $roleDao->getUsersByRoleId(ROLE_ID_SITE_ADMIN);
         foreach ($admins->toArray() as $admin) {
             $role = new Role();
             $role->setConferenceId($this->conferenceId);
             $role->setUserId($admin->getId());
             $role->setRoleId(ROLE_ID_CONFERENCE_MANAGER);
             $roleDao->insertRole($role);
         }
         // Install the default RT versions.
         import('classes.rt.ocs.ConferenceRTAdmin');
         $conferenceRtAdmin = new ConferenceRTAdmin($this->conferenceId);
         $conferenceRtAdmin->restoreVersions(false);
         $confSettings = array('itemsPerPage' => array('int', 25), 'numPageLinks' => array('int', 10));
         foreach ($confSettings as $settingName => $settingInfo) {
             list($settingType, $settingValue) = $settingInfo;
             $this->conference->updateSetting($settingName, $settingValue, $settingType);
         }
     }
 }