• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List

E:/E/GEAMP/www/openbiz/openbiz/bin/easy/element/ColumnShare.php

00001 <?php
00017 include_once("ColumnText.php");
00018 
00028 class ColumnShare extends ColumnText
00029 {
00030     public $m_MyPrivateImg         = null;
00031     public $m_MySharedImg          = null;
00032     public $m_MyAssignedImg        = null;
00033     public $m_MyDistributedImg     = null;    
00034     public $m_GroupSharedImg       = null;
00035     public $m_OtherSharedImg       = null;
00036     public $m_DefaultImg           = null;
00037     
00038     public $m_RecordOwnerId        = null;
00039     public $m_RecordGroupId        = null;
00040     public $m_RecordGroupPerm      = null;
00041     public $m_RecordOtherPerm      = null;
00042     public $m_RecordCreatorId      = null;
00043     
00044     protected $m_RecordOwnerId_AutoLoad          = false;
00045     protected $m_RecordGroupId_AutoLoad          = false;
00046     protected $m_RecordGroupPerm_AutoLoad = false;
00047     protected $m_RecordOtherPerm_AutoLoad = false;
00048     
00049     public $m_hasOwnerField = false;
00050     
00057     protected function readMetaData(&$xmlArr)
00058     {
00059         parent::readMetaData($xmlArr);
00060         $this->m_MyPrivateImg = isset($xmlArr["ATTRIBUTES"]["MYPRIVATEIMG"]) ? $xmlArr["ATTRIBUTES"]["MYPRIVATEIMG"]   : "{RESOURCE_URL}/common/images/icon_data_private.gif";
00061         $this->m_MySharedImg  = isset($xmlArr["ATTRIBUTES"]["MYSHAREDIMG"])         ? $xmlArr["ATTRIBUTES"]["MYSHAREDIMG"]    : "{RESOURCE_URL}/common/images/icon_data_shared.gif";
00062         $this->m_MyAssignedImg  = isset($xmlArr["ATTRIBUTES"]["MYASSIGNEDIMG"])            ? $xmlArr["ATTRIBUTES"]["MYASSIGNEDIMG"]  : "{RESOURCE_URL}/common/images/icon_data_assigned.gif";
00063         $this->m_MyDistributedImg  = isset($xmlArr["ATTRIBUTES"]["MYDISTRIBUTEDIMG"])             ? $xmlArr["ATTRIBUTES"]["MYDISTRIBUTEDIMG"]      : "{RESOURCE_URL}/common/images/icon_data_distributed.gif";
00064         $this->m_GroupSharedImg = isset($xmlArr["ATTRIBUTES"]["GROUPSHAREDIMG"])? $xmlArr["ATTRIBUTES"]["GROUPSHAREDIMG"]: "{RESOURCE_URL}/common/images/icon_data_shared_group.gif";
00065         $this->m_OtherSharedImg = isset($xmlArr["ATTRIBUTES"]["OTHERSHAREDIMG"])? $xmlArr["ATTRIBUTES"]["OTHERSHAREDIMG"]: "{RESOURCE_URL}/common/images/icon_data_shared_other.gif";
00066         $this->m_DefaultImg = isset($xmlArr["ATTRIBUTES"]["DEFAULTIMG"])? $xmlArr["ATTRIBUTES"]["DEFAULTIMG"]: "{RESOURCE_URL}/common/images/icon_data_shared_other.gif";
00067         
00068         $this->m_RecordCreatorId   =      isset($xmlArr["ATTRIBUTES"]["CREATORID"])        ? $xmlArr["ATTRIBUTES"]["CREATORID"]      : null;
00069         $this->m_RecordOwnerId     =      isset($xmlArr["ATTRIBUTES"]["OWNERID"])          ? $xmlArr["ATTRIBUTES"]["OWNERID"] : null;
00070         $this->m_RecordGroupId     =      isset($xmlArr["ATTRIBUTES"]["GROUPID"])          ? $xmlArr["ATTRIBUTES"]["GROUPID"] : null;
00071         $this->m_RecordGroupPerm=  isset($xmlArr["ATTRIBUTES"]["GROUPPERM"]) ? $xmlArr["ATTRIBUTES"]["GROUPPERM"]: null;
00072         $this->m_RecordOtherPerm=  isset($xmlArr["ATTRIBUTES"]["OTHERPERM"]) ? $xmlArr["ATTRIBUTES"]["OTHERPERM"]: null;
00073         
00074         $this->m_RecordOwnerId_AutoLoad          =      isset($xmlArr["ATTRIBUTES"]["OWNERID"])?false:true;     
00075         $this->m_RecordGroupId_AutoLoad          =      isset($xmlArr["ATTRIBUTES"]["GROUPID"])?false:true;     
00076         $this->m_RecordGroupPerm_AutoLoad =      isset($xmlArr["ATTRIBUTES"]["GROUPPERM"])?false:true;   
00077         $this->m_RecordOtherPerm_AutoLoad =      isset($xmlArr["ATTRIBUTES"]["OTHERPERM"])?false:true;   
00078     }
00079     
00080     public function setValue($value){
00081               $formObj = $this->getFormObj();
00082         $rec = $formObj->getActiveRecord();                
00083               
00084         if($this->m_RecordOwnerId_AutoLoad)
00085         {
00086               $this->m_hasOwnerField = $this->hasOwnerField();
00087               if($this->m_hasOwnerField){
00088                      $this->m_RecordOwnerId = $rec['owner_id'];
00089                      $this->m_RecordCreatorId = $rec['create_by'];
00090               }else{
00091                      $this->m_RecordOwnerId = $rec['create_by'];
00092               }             
00093         }
00094         
00095        if($this->m_RecordGroupId_AutoLoad)
00096         {
00097               $this->m_RecordGroupId = $rec['group_id'];              
00098         }
00099         
00100         if($this->m_RecordGroupPerm_AutoLoad)
00101         {
00102               $this->m_RecordGroupPerm = $rec['group_perm'];
00103         }
00104 
00105         if($this->m_RecordOtherPerm_AutoLoad)
00106         {
00107               $this->m_RecordOtherPerm = $rec['other_perm'];
00108         }                 
00109     }
00110 
00111     public function getValue(){
00112        $user_id      = BizSystem::GetUserProfile("Id");
00113               $groups       = BizSystem::GetUserProfile("groups");
00114         if (!$groups) $groups = array();
00115        
00116               $this->m_hasOwnerField = $this->hasOwnerField();
00117        if($this->m_hasOwnerField){
00118                      
00119                      if($this->m_RecordOwnerId != $this->m_RecordCreatorId)
00120                      {
00121                             if($this->m_RecordOwnerId == $user_id)
00122                             {
00123                                    $this->m_Value = 4;
00124                                    return $this->m_Value ;
00125                             }
00126                             elseif($this->m_RecordCreatorId == $user_id)
00127                             {
00128                                    $this->m_Value = 5;
00129                                    return $this->m_Value ;
00130                             }
00131                      }
00132        }
00133               
00134            if($user_id == $this->m_RecordOwnerId)
00135               {
00136                      if((int)$this->m_RecordGroupPerm>0 || (int)$this->m_RecordOtherPerm>0 )
00137                      {
00138                             
00139                             $this->m_Value = 1;
00140                      }
00141                      else 
00142                      {
00143                             $this->m_Value = 0;
00144                      }
00145               }
00146               elseif($this->m_RecordOtherPerm>0)
00147               {
00148                      $this->m_Value = 3;
00149                      
00150               }
00151               else
00152               {
00153             foreach($groups as $group_id)
00154                      {
00155                             if($group_id == $this->m_RecordGroupId)
00156                             {
00157                                    $this->m_Value = 2;
00158                                    break;
00159                             }
00160                      }
00161                      
00162               } 
00163               
00164     
00165                      
00166               return $this->m_Value;             
00167     }
00168     
00174     public function render()
00175     {
00176               $style = $this->getStyle();
00177         $text = $this->getText();
00178         $id = $this->m_Name;
00179         $func = $this->getFunction();        
00180         
00181        switch($this->getValue()){
00182                      case "0":
00183                             $image_url = $this->m_MyPrivateImg;
00184                             break;
00185                      case "1":
00186                             $image_url = $this->m_MySharedImg;
00187                             break;
00188                      case "2":
00189                             $image_url = $this->m_GroupSharedImg;
00190                             break;
00191                      case "3":
00192                             $image_url = $this->m_OtherSharedImg;
00193                             break;
00194                      case "4":
00195                             $image_url = $this->m_MyAssignedImg;
00196                             break;
00197                      case "5":
00198                             $image_url = $this->m_MyDistributedImg;
00199                             break;     
00200                      default:
00201                             if($this->m_DefaultImg=='{RESOURCE_URL}/common/images/icon_data_shared_other.gif'){
00202                                    $this->m_DefaultImg = $this->m_OtherSharedImg;
00203                             }
00204                             $image_url = $this->m_DefaultImg;
00205                             break;                                           
00206        }
00207        
00208         if(preg_match("/\{.*\}/si",$image_url))
00209         {
00210               $formobj = $this->getFormObj();
00211               $image_url =  Expression::evaluateExpression($image_url, $formobj);
00212         }else{
00213               $image_url = Resource::getImageUrl()."/".$image_url;
00214         }
00215         if($this->m_Width)
00216         {
00217               $width = "width=\"$this->m_Width\"";
00218         }
00219        if ($this->m_Link)
00220         {
00221             $link = $this->getLink();
00222             $target = $this->getTarget();
00223             $sHTML = "<a alt=\"".$text."\" title=\"".$text."\"  id=\"$id\" href=\"$link\" $target $func $style><img $width src='$image_url' /></a>";
00224         }else{
00225               $sHTML = "<img id=\"$id\"  alt=\"".$text."\" title=\"".$text."\" $width src='$image_url' />";
00226         }
00227         return  $sHTML;
00228     }
00229     
00230        
00231        public function hasOwnerField(){                  
00232               $field = $this->getFormObj()->getDataObj()->getField('owner_id');
00233               if($field){
00234                      return true;
00235               }
00236               else{
00237                      return false;
00238               }
00239               
00240        }    
00241 }

Generated on Thu Apr 19 2012 17:09:13 for openbiz by  doxygen 1.7.2