1: <?php
2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
32:
33:
34: interface projectMilestoneImpl {
35:
36: function initialize(&$mainhandler);
37: function getPluginAppId();
38: function enableObject($enable = true);
39: function getPosition();
40: function getAppMainViewItem();
41: function registerAppMenuHandler(&$obj);
42: function setAppMainView(&$pagewrap,&$apphandler,&$baseui,$db,$params_arr);
43: function setSideView(&$pagewrap,&$apphandler,&$baseui,$db,$params_arr);
44: function setMilestoneView(&$pagewrap,&$mainhandler,&$baseui,$params_arr = null);
45: }
46:
47: class projectMilestone implements projectMilestoneImpl {
48:
49: private $PLUGIN_APP_ID = PROJECT_APP;
50: private $instance;
51: private $handlers;
52: private $enabled;
53: private $menuhandler;
54: public function __construct (){
55: $this->instance = $this;
56: $this->enabled = true;
57: $this->handler = 'project';
58: $this->handlers = array('project','project_task_board');
59: $this->position = 'right';
60: $this->appview = 'project_milestone';
61: }
62:
63: public function initialize(&$mainhandler){
64: $mainhandler->viewhandler->addOperationsAction('add_milestone','javascript:bmm_erp_project_milestone.display_project_milestone','add_milestone',$mainhandler,'getProjectId',$this->handlers);
65: }
66:
67: public function getPluginAppId(){
68: return $this->PLUGIN_APP_ID;
69: }
70:
71: public function getPluginHandler(){
72: return $this->handlers;
73: }
74:
75: public function enableObject($enable = true){
76: $this->enabled = $enable;
77: }
78:
79: public function getObjectStatus(){
80: return $this->enabled;
81: }
82:
83: public function getPosition(){
84: return $this->position;
85: }
86:
87: public function getAppMainViewItem(){
88: return $this->appview;
89: }
90:
91: public function registerAppMenuHandler(&$obj){
92:
93:
94: }
95:
96: public function setAppMainView(&$pagewrap,&$mainhandler,&$baseui,$db,$params_arr){
97: }
98:
99: public function setSideView(&$pagewrap,&$apphandler,&$baseui,$db,$params_arr){
100: $actionhandler = $params_arr['actionhandler'];
101: $apphandler->setReadOnlyActions(get_class($actionhandler),get_class($this),array('get_project_milestones'));
102: $baseui->setInfoBlock($this->instance,$pagewrap,$apphandler,
103: array("callback"=>"setMilestoneView","main_header"=>"milestones","visibility"=>"visible",
104: "header"=>array("name","start"),"block_id"=>"project_milestone","position"=>"static"),$params_arr );
105:
106: }
107:
108: public function setMilestoneView(&$pagewrap,&$mainhandler,&$baseui,$params_arr = null){
109: global $STATUS_LIST;
110:
111: echo "
112: <script type=\"text/javascript\">
113: bmm_erp_project_milestone.apptext['milestone'] = '{$mainhandler->translator->translate('milestone','u')}';
114: bmm_erp_project_milestone.apptext['achievements'] = '{$mainhandler->translator->translate('achievements','u')}';
115: bmm_erp_project_milestone.apptext['deviations'] = '{$mainhandler->translator->translate('deviations','u')}';
116: bmm_erp_project_milestone.apptext['goals'] = '{$mainhandler->translator->translate('goals','u')}';
117: bmm_erp_project_milestone.apptext['save'] = '{$mainhandler->translator->translate('save','u')}';
118: bmm_erp_project_milestone.apptext['edit'] = '{$mainhandler->translator->translate('edit','u')}';
119: bmm_erp_project_milestone.apptext['date_start'] = '{$mainhandler->translator->translate('start_date','u')} ';
120: bmm_erp_project_milestone.apptext['date_end'] = '{$mainhandler->translator->translate('end_date','u')}';
121: bmm_erp_project_milestone.apptext['date_start_estimate'] = '{$mainhandler->translator->translate('start_date_estimate','u')}';
122: bmm_erp_project_milestone.apptext['date_end_estimate'] = '{$mainhandler->translator->translate('end_date_estimate','u')}';
123: bmm_erp_project_milestone.get_project_milestones('{$mainhandler->getProjectId()}');
124: </script>";
125: }
126: }?>
127: