Esempio n. 1
0
 protected function create_required_pages_for_domain($project_id, $homepage, $domain_handle)
 {
     /* create domain homepage */
     $doc_lang = substr($project_id, -2);
     $system_domain_info = $this->mSystemDomainRows[$doc_lang];
     for ($i = 0; $i < self::NR_SYSTEM_DOMAIN_ROWS; $i++) {
         if ($system_domain_info[$i * 6 + 1] == $domain_handle) {
             $domain_name = $system_domain_info[$i * 6 + 2];
             $domain_desc = $system_domain_info[$i * 6 + 3];
             break;
         }
     }
     $domain_home = ProjectInfo::addDomainPage($project_id, $homepage, $domain_handle, $domain_name, $domain_desc);
     if ($domain_home == false) {
         $this->set('error', t('Failed to create domain page for %s!', $domain_handle));
         return false;
     }
     /* add children pages for volumes and parts */
     for ($i = 0; $i < self::NR_DOC_VOLUME_ROWS; $i++) {
         if ($this->mQueryParamsVolumes[$i * 7 + 1] == $domain_handle) {
             $volume_page = ProjectInfo::addVolumePage($project_id, $domain_home, $this->mQueryParamsVolumes[$i * 7 + 1], $this->mQueryParamsVolumes[$i * 7 + 2], $this->mQueryParamsVolumes[$i * 7 + 3], $this->mQueryParamsVolumes[$i * 7 + 4]);
             if (!$volume_page) {
                 $this->set('error', t('Failed to create volume page for %s!', $domain_handle));
                 return false;
             }
             $volume_handle = $this->mQueryParamsVolumes[$i * 7 + 2];
             for ($j = 0; $j < self::NR_DOC_PART_ROWS; $j++) {
                 if ($this->mQueryParamsParts[$j * 8 + 1] == $domain_handle && $this->mQueryParamsParts[$j * 8 + 2] == $volume_handle) {
                     $part_page = ProjectInfo::addPartPage($project_id, $domain_handle, $volume_page, $this->mQueryParamsParts[$j * 8 + 3], $this->mQueryParamsParts[$j * 8 + 4], $this->mQueryParamsParts[$j * 8 + 5]);
                     if (!$part_page) {
                         $this->set('error', t('Failed to create part page for %s!', $domain_handle));
                         return false;
                     }
                 }
             }
         }
     }
     return true;
 }
Esempio n. 2
0
 }
 echo 'Done <br/>';
 flush();
 ob_flush();
 // create system pages
 $doc_lang = $lang['home_handle'];
 $project_id = 'sys-' . $doc_lang;
 echo '<br/>';
 echo "Creating document and community pages for {$doc_lang} ... <br />";
 $db = Loader::db();
 $domains = $db->getAll("SELECT * FROM fsen_project_doc_domains\n\tWHERE project_id=? AND domain_handle != 'home'", array($project_id));
 foreach ($domains as $d) {
     if ($d['domain_handle'] == 'document') {
         $domain_page = $localized_home_page;
     } else {
         $domain_page = ProjectInfo::addDomainPage($project_id, $localized_home_page, $d['domain_handle'], $d['domain_name'], $d['domain_desc']);
         echo '	Added domain page for ';
         echo $d['domain_handle'];
         echo '<br/>';
         flush();
         ob_flush();
     }
     $volumes = $db->getAll("SELECT * FROM fsen_project_doc_volumes\n\tWHERE project_id=? AND domain_handle=? ORDER BY display_order", array($project_id, $d['domain_handle']));
     foreach ($volumes as $v) {
         $volume_path = ProjectInfo::assemblePath($project_id, $d['domain_handle'], $v['volume_handle']);
         $volume_page = Page::getByPath($volume_path);
         if ($volume_page->getCollectionID() == false) {
             $volume_page = ProjectInfo::addVolumePage($project_id, $domain_page, $d['domain_handle'], $v['volume_handle'], $v['volume_name'], $v['volume_desc']);
             echo '		Added volume page for ';
             echo $v['volume_handle'];
             echo '<br/>';