public function process()
 {
     $context = \CADB\Model\Context::instance();
     $this->layout = 'admin';
     if (!$this->themes) {
         $this->themes = $context->getProperty('service.themes');
     }
     $this->fields = \CADB\Agreement::getFieldInfo(1);
     $g_cids = \CADB\Guide::getTaxonomy();
     foreach ($g_cids as $id) {
         $this->guide_taxonomy_terms[$id] = \CADB\Guide::getRelativeGuideTerm($id);
     }
     $this->taxonomy = $this->fields['taxonomy'];
     $taxonomy_cids = array();
     foreach ($this->fields['field'] as $fid => $f) {
         if ($f['table'] == 'agreement') {
             if ($f['type'] == 'taxonomy') {
                 $taxonomy_cids[] = $f['cid'];
             }
         }
     }
     if (count($taxonomy_cids)) {
         $this->taxonomy += \CADB\Taxonomy::getTaxonomy($taxonomy_cids);
     }
     $cids = array_keys($this->taxonomy);
     if ($cids) {
         $taxonomy_terms = \CADB\Taxonomy::getTaxonomyTerms($cids);
         foreach ($taxonomy_terms as $cid => $terms) {
             $this->taxonomy_terms[$cid] = \CADB\Taxonomy::makeTree($terms);
         }
     }
 }
 public function process()
 {
     $context = \CADB\Model\Context::instance();
     if (!$this->params['nid']) {
         Error('단체협약서 번호를 입력하세요.');
     }
     if (!$this->themes) {
         $this->themes = $context->getProperty('service.themes');
     }
     $this->fields = \CADB\Agreement::getFieldInfo(1);
     $this->articles = \CADB\Agreement::getAgreement($this->params['nid'], $this->params['did'] ? $this->params['did'] : 0);
     if (!$this->articles) {
         Error('존재하지 않는 단체협약입니다.');
     }
     if (\CADB\Privilege::checkAgreement($this->articles) == false) {
         Error('접근 권한이 없습니다.');
     }
     $g_cids = \CADB\Guide::getTaxonomy();
     foreach ($g_cids as $id) {
         $this->guide_taxonomy_terms[$id] = \CADB\Guide::getRelativeGuideTerm($id);
     }
     $this->taxonomy = $this->fields['taxonomy'];
     $taxonomy_cids = array();
     foreach ($this->fields['field'] as $fid => $f) {
         if ($f['table'] == 'agreement') {
             if ($f['type'] == 'taxonomy') {
                 $taxonomy_cids[] = $f['cid'];
             }
         }
     }
     if (count($taxonomy_cids)) {
         $this->taxonomy += \CADB\Taxonomy::getTaxonomy($taxonomy_cids);
     }
     $cids = array_keys($this->taxonomy);
     if ($cids) {
         $taxonomy_terms = \CADB\Taxonomy::getTaxonomyTerms($cids);
         foreach ($taxonomy_terms as $cid => $terms) {
             $this->taxonomy_terms[$cid] = \CADB\Taxonomy::makeTree($terms);
         }
     }
     /*		ob_start();
     		$theme_html_file = "";
     		if($this->themes) {
     			$theme_html_file = CADB_PATH."/themes/".$this->themes."/articles/pdf.html.php";
     			if($theme_html_file && file_exists($theme_html_file)) {
     				include $theme_html_file;
     			} else {
     				include dirname(__FILE__)."/pdf.html.php";
     			}
     		} else {
     			include dirname(__FILE__)."/pdf.html.php";
     		}
     		$content = ob_get_contents();
     		ob_end_clean(); */
 }
 private function makeItem($item)
 {
     switch ($item['option']) {
         case 'taxonomy':
             $cids = \CADB\Guide::getTaxonomy();
             $taxonomy = \CADB\Taxonomy::getTaxonomy($item['id']);
             $item['name'] = $taxonomy[$item['id']]['subject'];
             if (in_array($item['id'], $cids)) {
                 $taxonomy_terms = \CADB\Guide::getRelativeGuideTerm($item['id']);
             } else {
                 $taxonomy_terms = \CADB\Taxonomy::getTaxonomyTerms($item['id']);
             }
             $item['options'] = array();
             $taxonomy_list = \CADB\Taxonomy::makeTree($taxonomy_terms[$item['id']]);
             foreach ($taxonomy_list as $term) {
                 $item['options'][] = array('name' => $term['name'], 'depth' => $term['depth'], 'parent' => $term['parent'], 'nsubs' => $term['nsubs'], 'value' => $term['tid']);
             }
             break;
         case 'field':
             if (!$fields) {
                 $fields = \CADB\Fields::getFields('all');
             }
             if ($fields[$item['id']]) {
                 $item['name'] = $fields[$item['id']]['subject'];
                 switch ($fields[$item['id']]['type']) {
                     case 'taxonomy':
                         $taxonomy_terms = \CADB\Taxonomy::getTaxonomyTerms($fields[$item['id']]['cid']);
                         $item['options'] = array();
                         $taxonomy_list = \CADB\Taxonomy::makeTree($taxonomy_terms[$fields[$item['id']]['cid']]);
                         foreach ($taxonomy_list as $term) {
                             $item['options'][] = array('name' => $term['name'], 'depth' => $term['depth'], 'parent' => $term['parent'], 'nsubs' => $term['nsubs'], 'value' => $term['tid']);
                         }
                         break;
                     case 'int':
                         if ($fields[$item['id']]['table'] == 'organize') {
                         }
                         break;
                     default:
                         break;
                 }
                 $item['multiple'] = $fields[$item['id']]['multiple'];
             }
             break;
     }
     return $item;
 }
 public function process()
 {
     $context = \CADB\Model\Context::instance();
     $this->layout = 'admin';
     if (!$this->params['nid']) {
         \CADB\Lib\Error('단체협약서 번호를 입력하세요.');
     }
     if (!$this->themes) {
         $this->themes = $context->getProperty('service.themes');
     }
     $this->fields = \CADB\Agreement::getFieldInfo(1);
     $this->articles = \CADB\Agreement::getAgreement($this->params['nid'], $this->params['did'] ? $this->params['did'] : 0);
     if (!$this->articles) {
         \CADB\Lib\Error('존재하지 않는 단체협약입니다.');
     }
     if (\CADB\Privilege::checkAgreement($this->articles) == false) {
         \CADB\Lib\Error('접근 권한이 없습니다.');
     }
     $g_cids = \CADB\Guide::getTaxonomy();
     foreach ($g_cids as $id) {
         $this->guide_taxonomy_terms[$id] = \CADB\Guide::getRelativeGuideTerm($id);
     }
     $this->taxonomy = $this->fields['taxonomy'];
     $taxonomy_cids = array();
     foreach ($this->fields['field'] as $fid => $f) {
         if ($f['table'] == 'agreement') {
             if ($f['type'] == 'taxonomy') {
                 $taxonomy_cids[] = $f['cid'];
             }
         }
     }
     if (count($taxonomy_cids)) {
         $this->taxonomy += \CADB\Taxonomy::getTaxonomy($taxonomy_cids);
     }
     $cids = array_keys($this->taxonomy);
     if ($cids) {
         $taxonomy_terms = \CADB\Taxonomy::getTaxonomyTerms($cids);
         foreach ($taxonomy_terms as $cid => $terms) {
             $this->taxonomy_terms[$cid] = \CADB\Taxonomy::makeTree($terms);
         }
     }
 }