PageRenderTime 55ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/manager/application/controllers/workspace.php

https://bitbucket.org/jerwinse/iagh-cms
PHP | 236 lines | 213 code | 16 blank | 7 comment | 24 complexity | c083654440e1008a17afbc9f4c53c8f3 MD5 | raw file
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2. class Workspace extends CI_Controller {
  3. private $workspaceId;
  4. private $userPermission;
  5. private $permission;
  6. public function __construct(){
  7. parent::__construct();
  8. $this->tal->title = $this->config->item('title');
  9. $this->tal->base_url = substr(base_url(), 0, -1);
  10. $this->user = $this->ion_auth->user()->result();
  11. if(!$this->ion_auth->user()->result()){
  12. exit;
  13. }
  14. $this->user[0]->fullname = $this->user[0]->first_name . ' ' . $this->user[0]->last_name;
  15. $config = array('userID' => $this->user[0]->id);
  16. $this->load->library('acl', $config);
  17. $this->load->library('curl');
  18. $this->load->library('upload');
  19. $this->load->helper(array('form', 'url', 'file'));
  20. if (!$this->acl->userRoles) {
  21. exit;
  22. }
  23. else{
  24. $this->workspaceId = $this->acl->userRoles[0];
  25. # get role permission
  26. $this->permission = $this->acl->getRolePerms($this->acl->userRoles[0]);
  27. $userPermission = $this->acl->getUserPerms($this->acl->userID);
  28. $this->userPermission = $userPermission[0]['id'];
  29. }
  30. }
  31. public function papiCall($method="GET", $function="", $options=array()){
  32. $papi = array();
  33. $papi['method'] = $method;
  34. $papi['papiCall'] = $function;
  35. $papi['data'] = $options;
  36. $this->curl->PAPIConfig($papi);
  37. $res = $this->curl->execute();
  38. return json_decode($res['message']);
  39. }
  40. public function viewContactDetails(){
  41. $options = array("ID"=>$this->workspaceId);
  42. $apiRes = $this->papiCall("GET", "Workspace.Get", $options);
  43. $data = array();
  44. if($apiRes->Status){
  45. $data['workspace'] = $apiRes->Workspace;
  46. }
  47. $this->load->view('workspace/contactDetails.zpt', $data);
  48. }
  49. public function doEditWorkspace(){
  50. $res = array();
  51. $res['status'] = 0;
  52. $res['message'] = "Unable to update workplace details";
  53. $options =array();
  54. if(!empty($_POST['data'])){
  55. $input = json_decode($_POST['data']);
  56. $params = array();
  57. foreach($input as $item){
  58. $params[$item->name] = $item->value;
  59. }
  60. $options = array("ID"=>$this->workspaceId,
  61. "Name"=>$params['name'],
  62. "Contact"=>$params['contact'],
  63. "ContactEmail"=>$params['contactEmail'],
  64. "ContactPhone"=>$params['contactPhone'],
  65. "ITAdmin"=>$params['ITAdmin'],
  66. "ITAdminEmail"=>$params['ITAdminEmail'],
  67. "ITAdminPhone"=>$params['ITAdminPhone']
  68. );
  69. $apiRes = $this->papiCall("POST", "Workspace.Update", $options);
  70. if($apiRes->Status){
  71. $res['status'] = 1;
  72. $res['message'] = "Changes has been saved successfully!";
  73. }
  74. }
  75. print_r(json_encode($res));
  76. }
  77. public function viewLocations(){
  78. $data['location'] = array();
  79. $apiRes = $this->papiCall("GET", "Location.GetAll", array("WorkspaceID"=>$this->workspaceId));
  80. if($apiRes->Status){
  81. $data['locations'] = $apiRes->Locations;
  82. }
  83. $this->load->view('workspace/location.zpt', $data);
  84. }
  85. public function viewDepartments(){
  86. $data['departments'] = array();
  87. $apiRes = $this->papiCall("GET", "Department.GetAll", array("WorkspaceID"=>$this->workspaceId));
  88. if($apiRes->Status){
  89. $data['departments'] = $apiRes->Departments;
  90. }
  91. $this->load->view('workspace/department.zpt', $data);
  92. }
  93. public function addLocation(){
  94. $data = array();
  95. # add request
  96. $data['isAddRequest'] = true;
  97. $this->load->view('workspace/locationForm.zpt', $data);
  98. }
  99. public function editLocation(){
  100. $data = array();
  101. if(isset($_GET['id'])){
  102. $data['isAddRequest'] = false;
  103. $options = array("ID"=>$_GET['id']);
  104. $apiRes = $this->papiCall("GET", "Location.Get", $options);
  105. if($apiRes->Status){
  106. $data['location'] = $apiRes->Location;
  107. }
  108. $this->load->view('workspace/locationForm.zpt', $data);
  109. }
  110. }
  111. public function saveLocation(){
  112. $res = array();
  113. $res['status'] = 0;
  114. $res['message'] = "Failed to save location!";
  115. if(isset($_POST['data'])){
  116. $params = json_decode($_POST['data']);
  117. $dataParams = array();
  118. foreach($params as $item){
  119. $dataParams[$item->name] = $item->value;
  120. }
  121. # add request
  122. if($dataParams['locationId'] == "0"){
  123. $options = array("Name"=>$dataParams['name'], "WorkspaceID"=>$this->workspaceId);
  124. $apiRes = $this->papiCall("POST", "Location.Create", $options);
  125. if($apiRes->Status){
  126. $res['status'] = 1;
  127. $res['message'] = "New location was added!";
  128. }
  129. }
  130. # edit request
  131. else{
  132. $options = array("ID"=>$dataParams['locationId'], "Name"=>$dataParams['name'], "Workspace"=>$this->workspaceId);
  133. $apiRes = $this->papiCall("POST", "Location.Update", $options);
  134. if($apiRes->Status){
  135. $res['status'] = 1;
  136. $res['message'] = "Changes has been successfully saved!";
  137. }
  138. }
  139. }
  140. print_r(json_encode($res));
  141. }
  142. public function addDepartment(){
  143. $data = array();
  144. # add request
  145. $data['isAddRequest'] = true;
  146. $this->load->view('workspace/departmentForm.zpt', $data);
  147. }
  148. public function editDepartment(){
  149. $data = array();
  150. if(isset($_GET['id'])){
  151. $data['isAddRequest'] = false;
  152. $options = array("ID"=>$_GET['id']);
  153. $apiRes = $this->papiCall("GET", "Department.Get", $options);
  154. if($apiRes->Status){
  155. $data['department'] = $apiRes->Department;
  156. }
  157. $this->load->view('workspace/departmentForm.zpt', $data);
  158. }
  159. }
  160. public function saveDepartment(){
  161. $res = array();
  162. $res['status'] = 0;
  163. $res['message'] = $_POST['data'];
  164. if(isset($_POST['data'])){
  165. $params = json_decode($_POST['data']);
  166. $dataParams = array();
  167. foreach($params as $item){
  168. $dataParams[$item->name] = $item->value;
  169. }
  170. # add request
  171. if($dataParams['departmentId'] == "0"){
  172. $options = array("Name"=>$dataParams['name'], "WorkspaceID"=>$this->workspaceId);
  173. $apiRes = $this->papiCall("POST", "Department.Create", $options);
  174. if($apiRes->Status){
  175. $res['status'] = 1;
  176. $res['message'] = "New Department was added!";
  177. }
  178. }
  179. # edit request
  180. else{
  181. $options = array("ID"=>$dataParams['departmentId'], "Name"=>$dataParams['name'], "Workspace"=>$this->workspaceId);
  182. $apiRes = $this->papiCall("POST", "Department.Update", $options);
  183. if($apiRes->Status){
  184. $res['status'] = 1;
  185. $res['message'] = "Changes has been successfully saved!";
  186. }
  187. }
  188. }
  189. print_r(json_encode($res));
  190. }
  191. public function organizationSettings(){
  192. $data['domains'] = array();
  193. $options = array("ID"=>$this->workspaceId);
  194. $apiRes = $this->papiCall("GET", "Workspace.GET", $options);
  195. if($apiRes->Status){
  196. $domain_ = $apiRes->Workspace->Domains;
  197. $data['domains'] = explode(",", $domain_);
  198. }
  199. $this->load->view('workspace/organizationSettings.zpt', $data);
  200. }
  201. public function saveDomain(){
  202. $domain = "";
  203. $res = array();
  204. $res['status'] = 0;
  205. $res['message'] = "";
  206. $params = json_decode($_POST['data']);
  207. $data = array();
  208. foreach ($params as $item){
  209. $data[] = $item->value;
  210. }
  211. $domain = implode(",", $data);
  212. $options = array("ID"=>$this->workspaceId, "Domains"=>$domain);
  213. $apiRes = $this->papiCall("POST", "Workspace.Update", $options);
  214. if($apiRes->Status){
  215. $res['status'] = 1;
  216. $res['message'] = "Domain successfully saved!";
  217. }
  218. print_r(json_encode($res));
  219. }
  220. }