public function setup_metadata_values()
 {
     $wmdv = $this->_controler->_actionParams['md_values'];
     $group_id = $this->_controler->_actionParams['group_id'];
     $mvf = new DocmanWatermark_MetadataValueFactory();
     $mvf->updateMetadataValues($wmdv, $group_id);
 }
 public function setField($wmd)
 {
     // remove the old field related watermarking values if any
     $dwmvf = new DocmanWatermark_MetadataValueFactory();
     $dwmvf->cleanFieldValuesByGroupId($wmd->getGroupId());
     // set the new metadata as confidentiality field
     $dar = $this->dao->searchByGroupId($wmd->getGroupId());
     if ($dar->valid()) {
         $this->dao->updateByGroupId($wmd->getGroupId(), $wmd->getId());
     } else {
         $this->dao->createByGroupId($wmd->getGroupId(), $wmd->getId());
     }
 }
 function request()
 {
     if (!$this->request->exist('group_id')) {
         $this->feedback->log('error', 'Project is missing.');
         $this->_setView('Error');
     } else {
         $_groupId = (int) $this->request->get('group_id');
         $pM = ProjectManager::instance();
         $project = $pM->getProject($_groupId);
         if ($project == false) {
             $this->feedback->log('error', 'Project is missing.');
             $this->_setView('Error');
             return;
         }
         $this->_viewParams['docmanwatermark'] = $this;
         $this->_viewParams['user'] = $this->getUser();
         $this->_viewParams['default_url'] = $this->getDefaultUrl();
         $this->_viewParams['watermark_admin_url'] = $this->getAdminWatermarkUrl();
         $this->_viewParams['theme_path'] = $this->getThemePath();
         $this->_viewParams['group_id'] = (int) $this->request->get('group_id');
         $dwmdf = new DocmanWatermark_MetadataFactory();
         $md_id = $dwmdf->getMetadataIdFromGroupId((int) $this->request->get('group_id'));
         $this->_viewParams['md_id'] = $md_id;
         $dwmdvf = new DocmanWatermark_MetadataValueFactory();
         $iterValues = $dwmdvf->getMetadataValuesIterator($md_id);
         $arrVals = array();
         $iterValues->rewind();
         while ($iterValues->valid()) {
             $dwmv = $iterValues->current();
             $arrVals['value_id'][] = $dwmv->getValueId();
             $arrVals['watermark'][] = $dwmv->getWatermark();
             $iterValues->next();
         }
         $this->_viewParams['md_values'] = $arrVals;
         $view = $this->request->exist('action') ? $this->request->get('action') : 'admin_watermark';
         if ($this->request->exist('project') && $this->request->exist('action') == 'admin_import_from_project') {
             $_targetGroupId = (int) $this->request->get('project');
             $targetProject = $pM->getProject($_targetGroupId);
             if ($targetProject == false) {
                 $this->feedback->log('error', $GLOBALS['Language']->getText('plugin_docmanwatermark', 'admin_project_import_error'));
                 $this->view = 'Admin_Watermark';
                 return;
             } else {
                 if ($_targetGroupId == $_groupId) {
                     $this->feedback->log('error', $GLOBALS['Language']->getText('plugin_docmanwatermark', 'admin_project_import_same'));
                     $this->view = 'AdminWatermark';
                     return;
                 }
             }
         }
         $this->_viewParams['action'] = $view;
         $this->_dispatch($view);
     }
 }
 /**
  * Private Method to copy the metadata values setup from the src project to target project
  * @param  ArrayIterator(int) $dwmvs : iterator of metadata values  to insert in the table plugin_docman_watermark_love_md_extension
  * @return void
  */
 private function copyWatermarkMetadataValues($loves)
 {
     $arrdwmv = array();
     for ($i = 0; $i < count($loves); $i++) {
         $dwmv = new DocmanWatermark_MetadataValue();
         $dwmv->setValueId($loves[$i]['value_id']);
         $dwmv->setWatermark($loves[$i]['watermark']);
         $arrdwmv[] = $dwmv;
     }
     // update watermarking settings related to the source project
     $dwmvf = new DocmanWatermark_MetadataValueFactory();
     $dwmvf->updateMetadataValues(new ArrayIterator($arrdwmv), $this->targetProjectId);
 }