芝麻web文件管理V1.00
编辑当前文件:/home/prismawe/clients/canaldegap.fr/modules/FormBuilder/classes/DispositionFormBrowser.class.php
More info at http://dev.cmsmadesimple.org/projects/formbuilder A Module for CMS Made Simple, Copyright (c) 2008 by Ted Kulp (wishy@cmsmadesimple.org) This project's homepage is: http://www.cmsmadesimple.org */ class fbDispositionFormBrowser extends fbFieldBase { var $approvedBy; function fbDispositionFormBrowser(&$form_ptr, &$params) { $this->fbFieldBase($form_ptr, $params); $mod = $form_ptr->module_ptr; $this->Type = 'DispositionFormBrowser'; $this->IsDisposition = true; $this->NonRequirableField = true; $this->DisplayInForm = true; $this->DisplayInSubmission = false; $this->HideLabel = 1; $this->NeedsDiv = 0; $this->approvedBy = ''; $this->sortable = false; } function GetFieldInput($id, &$params, $returnid) { $mod = $this->form_ptr->module_ptr; if ($this->Value === false) { return ''; } return $mod->CreateInputHidden($id, 'fbrp__'.$this->Id, $this->EncodeReqId($this->Value)); } function SetApprovalName($name) { $this->approvedBy = $name; } function StatusInfo() { $mod = $this->form_ptr->module_ptr; $enc = ($this->GetOption('crypt','0') == '1'?$mod->Lang('yes'):$mod->Lang('no')); $feu = ($this->GetOption('feu_bind','0') == '1'?$mod->Lang('yes'):$mod->Lang('no')); return $mod->Lang('title_encryption').':'.$enc.', '.$mod->Lang('title_feu_binding').':'.$feu; } function DecodeReqId($theVal) { $tmp = base64_decode($theVal); $tmp2 = str_replace(session_id(),'',$tmp); if (substr($tmp2,0,1) == '_') { return substr($tmp2,1); } else { return -1; } } function EncodeReqId($req_id) { return base64_encode(session_id().'_'.$req_id); } function SetValue($val) { $decval = base64_decode($val); if ($val === false) { // no value set, so we'll leave value as false } elseif (strpos($decval,'_') === false) { // unencrypted value, coming in from previous response $this->Value = $val; } else { // encrypted value coming in from a form, so we'll update. $this->Value = $this->DecodeReqId($val); } } function PrePopulateAdminForm($formDescriptor) { $mod = $this->form_ptr->module_ptr; $form = $this->form_ptr; $fields = $form->GetFields(); $fieldlist = array($mod->Lang('none')=>'-1'); $main = array(); $adv = array(); for ($i=0;$i
DisplayInSubmission()) { $fieldlist[$fields[$i]->GetName()] = $fields[$i]->GetId(); } } for ($i=1;$i<6;$i++) { $fname = array_search($this->GetOption('sortfield'.$i),$fieldlist); array_push($main, array($mod->Lang('title_sortable_field',array($i)), $mod->CreateInputDropdown($formDescriptor, 'fbrp_opt_sortfield'.$i, $fieldlist, -1, $this->GetOption('sortfield'.$i,-1)) )); } $feu = $mod->GetModuleInstance('FrontEndUsers'); if ($feu == FALSE) { array_push($adv,array($mod->Lang('title_feu_binding'), $mod->Lang('title_install_feu'))); } else { array_push($adv,array($mod->Lang('title_feu_binding'), $mod->CreateInputHidden($formDescriptor, 'fbrp_opt_feu_bnd','0'). $mod->CreateInputCheckbox($formDescriptor, 'fbrp_opt_feu_bind', '1',$this->GetOption('feu_bind','0')). $mod->Lang('title_feu_bind_help'))); } $openssl = $mod->GetModuleInstance('OpenSSL'); if ($openssl == FALSE && !function_exists('mcrypt_encrypt')) { array_push($adv,array($mod->Lang('title_encryption_functions'), $mod->Lang('title_install_crypto'))); } else { if ($openssl !== FALSE) { $keys = $openssl->getKeyList(); $certs = $openssl->getCertList(); } array_push($adv,array($mod->Lang('title_encrypt_database_data'), $mod->CreateInputHidden($formDescriptor, 'fbrp_opt_crypt','0'). $mod->CreateInputCheckbox($formDescriptor, 'fbrp_opt_crypt', '1',$this->GetOption('crypt','0')). $mod->Lang('title_encrypt_database_long'))); array_push($adv,array($mod->Lang('title_encrypt_sortfields'), $mod->CreateInputHidden($formDescriptor, 'fbrp_opt_hash_sort','0'). $mod->CreateInputCheckbox($formDescriptor, 'fbrp_opt_hash_sort', '1',$this->GetOption('hash_sort','0')). $mod->Lang('title_encrypt_sortfields_help'))); array_push($adv,array($mod->Lang('title_encryption_keyfile'), $mod->CreateInputText($formDescriptor, 'fbrp_opt_keyfile', $this->GetOption('keyfile',''),40,255))); $cryptlibs = array(); if ($openssl !== FALSE) { $cryptlibs[$mod->Lang('openssl')]='openssl'; } if (function_exists('mcrypt_encrypt')) { $cryptlibs[$mod->Lang('mcrypt')]='mcrypt'; } array_push($adv,array($mod->Lang('title_crypt_lib'), $mod->CreateInputDropdown($formDescriptor,'fbrp_opt_crypt_lib', $cryptlibs,-1,$this->GetOption('crypt_lib')))); if ($openssl !== FALSE) { array_push($adv,array($mod->Lang('choose_crypt'),$mod->Lang('choose_crypt_long'))); array_push($adv,array($mod->Lang('title_crypt_cert'), $mod->CreateInputDropdown($formDescriptor, 'fbrp_opt_crypt_cert', $certs, -1,$this->GetOption('crypt_cert')))); array_push($adv,array($mod->Lang('title_private_key'), $mod->CreateInputDropdown($formDescriptor, 'fbrp_opt_private_key', $keys, -1,$this->GetOption('private_key')).$mod->Lang('title_ensure_cert_key_match'))); } } return array('main'=>$main,'adv'=>$adv); } function PostPopulateAdminForm(&$mainArray, &$advArray) { $mod = $this->form_ptr->module_ptr; $this->HiddenDispositionFields($mainArray, $advArray); } function DisposeForm($returnid) { $form = $this->form_ptr; list($res,$msg) = $form->StoreResponse(($this->Value?$this->Value:-1),$this->approvedBy,$this); return array($res, $msg); } function getHashedSortFieldVal($sortFieldNumber) { $v = $this->getSortFieldVal($sortFieldNumber); if (strlen($v) > 4) { $v = substr($v,0,4). md5(substr($v,4)); } return $v; } function getSortFieldList() { $form = $this->form_ptr; $ret = array(); for ($i=1;$i<6;$i++) { if ($this->GetOption('sortfield'.$i,'-1') != '-1') { $afield = $form->GetFieldById($this->GetOption('sortfield'.$i)); if ($afield !== false) { $ret[$i] = $afield->GetName(); } } } return $ret; } function getSortFieldVal($sortFieldNumber) { $form = $this->form_ptr; $val = ""; if ($this->GetOption('sortfield'.$sortFieldNumber,'-1') != '-1') { $afield = $form->GetFieldById($this->GetOption('sortfield'.$sortFieldNumber)); if ($afield !== false) { $val = $afield->GetHumanReadableValue(); } } if (strlen($val) > 80) { $val = substr($val,0,80); } return $val; } } ?>