PageRenderTime 41ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/manager/application/controllers/myideas.php

https://bitbucket.org/jerwinse/iagh-cms
PHP | 260 lines | 228 code | 26 blank | 6 comment | 28 complexity | 326efa2c22ad83b6f24ea0512883de6d MD5 | raw file
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2. class Myideas extends CI_Controller{
  3. private $workspaceId;
  4. public function __construct(){
  5. parent::__construct();
  6. $this->user = $this->ion_auth->user()->result();
  7. if(!$this->ion_auth->user()->result()){
  8. exit;
  9. }
  10. $this->user[0]->fullname = $this->user[0]->first_name . ' ' . $this->user[0]->last_name;
  11. $config = array('userID' => $this->user[0]->id);
  12. $this->load->library('acl', $config);
  13. $this->load->library('curl');
  14. $this->load->library('upload');
  15. $this->load->helper(array('form', 'url', 'file'));
  16. if (!$this->acl->userRoles) {
  17. exit;
  18. }
  19. else{
  20. $this->workspaceId = $this->acl->userRoles[0];
  21. }
  22. } # -- function __construct
  23. public function papiCall($method="GET", $function="", $options=array()){
  24. $papi = array();
  25. $papi['method'] = $method;
  26. $papi['papiCall'] = $function;
  27. $papi['data'] = $options;
  28. $this->curl->PAPIConfig($papi);
  29. $res = $this->curl->execute();
  30. return json_decode($res['message']);
  31. } # -- function papiCall
  32. public function viewVideoApproval(){
  33. $data = array();
  34. $this->load->view('myideas/videoApproval.zpt', $data);
  35. } #-- function index
  36. public function approveVideos(){
  37. $data = array();
  38. $data['content'] = array();
  39. $options = array( "WorkspaceID"=>$this->workspaceId,
  40. "TypeID"=>3,
  41. "UserGenFlag"=>1,
  42. "PublishedFlag"=>1,
  43. );
  44. $papiResult = $this->papiCall("GET", "Content.GetAll", $options);
  45. if($papiResult->Status){
  46. $data['content'] = $papiResult->Content;
  47. }
  48. $this->load->view('myideas/approvedVideos.zpt', $data);
  49. } # -- function approveVideo
  50. public function viewRejectedVieos(){
  51. $data = array();
  52. $data['content'] = array();
  53. $options = array( "WorkspaceID"=>$this->workspaceId,
  54. "TypeID"=>3
  55. // "UserGenFlag"=>1,
  56. // "PublishedFlag"=>0
  57. );
  58. $papiResult = $this->papiCall("GET", "Content.GetAll", $options);
  59. if($papiResult->Status){
  60. $data['content'] = $papiResult->Content;
  61. }
  62. $this->load->view('myideas/rejectedVideos.zpt', $data);
  63. } # -- function viewRejectedVideos
  64. public function featurePlaylist(){
  65. $data = array();
  66. $data['playlists'] = array();
  67. $options = array("WorkspaceID"=>$this->workspaceId, "Type"=>1);
  68. $papiResults = $this->papiCall("GET", "Playlist.GetAll", $options);
  69. if(isset($papiResults->Status)){
  70. if($papiResults->Status)
  71. $data['playlists'] = $papiResults->Playlist;
  72. }
  73. $this->load->view('myideas/featuredIdea.zpt', $data);
  74. } # -- function featurePlaylist
  75. public function addFeaturePlaylist(){
  76. $sectionId = 73;
  77. $data = array();
  78. $videos = array();
  79. $data['formType'] = "add";
  80. $dataTable = "";
  81. $options =array(
  82. "TypeID"=>3,
  83. "WorkspaceID"=>$this->workspaceId,
  84. "SectionID"=>$sectionId
  85. );
  86. $papiResults = $this->papiCall("GET", "Content.GetAll", $options);
  87. if($papiResults->Status){
  88. $videos = $papiResults->Content;
  89. for($i=0; $i<count($videos); $i++){
  90. $dataTable .= '<tr><td><input type="checkbox" name="' . ucwords($videos[$i]->Name) . '" id="video-list" value="'.$videos[$i]->ID.'"/>&nbsp;' . ucwords($videos[$i]->Name) . '</td></tr>';
  91. }
  92. }
  93. $data['dataTable'] = $dataTable;
  94. $this->load->view('myideas/featurePlaylistForm.zpt', $data);
  95. }
  96. public function editFeaturePlaylist(){
  97. $data = array();
  98. $sectionId = 73;
  99. $dataTable = "";
  100. $playlist = array();
  101. $arrayCurrentVideoList = array();
  102. $currentVideoList = "";
  103. $options = array();
  104. if(isset($_GET['id'])){
  105. $playlistId = $_GET['id'];
  106. $options = array("ID"=>$playlistId);
  107. $papiResults = $this->papiCall("GET", "Playlist.Get", $options);
  108. if($papiResults->Status){
  109. $playlist = $papiResults->Playlist;
  110. $options = array();
  111. $options = array("PlaylistID"=>$playlistId);
  112. $papiResult = $this->papiCall("GET", "Playlist.Content.GetAll", $options);
  113. if($papiResult->Status){
  114. $videoIds = array();
  115. for($i=0; $i<count($papiResult->PlaylistContent); $i++){
  116. $videoIds[] = $papiResult->PlaylistContent[$i]->ID;
  117. $arrayCurrentVideoList [] = '<li class="ui-state-default" id="vlist" name="'.$papiResult->PlaylistContent[$i]->ID.'"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>'. ucwords($papiResult->PlaylistContent[$i]->Name) . ' </li>';
  118. }
  119. $data['strVideoId'] = implode(",",$videoIds);
  120. $options = array(
  121. "TypeID"=>3,
  122. "WorkspaceID"=>$this->workspaceId,
  123. "UserGenFlag"=>1,
  124. "PublishedFlag"=>1,
  125. "SectionID"=>$sectionId
  126. );
  127. $papiResult = $this->papiCall("GET", "Content.GetAll", $options);
  128. if($papiResult->Status){
  129. $videos = $papiResult->Content;
  130. for($i=0; $i<count($videos); $i++){
  131. $check = in_array($videos[$i]->ID, $videoIds)?"checked":"";
  132. $dataTable .= '<tr><td><input type="checkbox" name="' . ucwords($videos[$i]->Name) . '" id="video-list" '.$check.' value="'.$videos[$i]->ID.'"/>&nbsp;' . ucwords($videos[$i]->Name) . '</td></tr>';
  133. }
  134. }
  135. $currentVideoList = implode("", $arrayCurrentVideoList);
  136. }
  137. }
  138. }
  139. $data['playlist'] = $playlist;
  140. $data['formType'] = "edit";
  141. $data['dataTable'] = $dataTable;
  142. $data['currentVideoList'] = $currentVideoList;
  143. $this->load->view('myideas/featurePlaylistForm.zpt', $data);
  144. } # -- function editGoodNewsPlaylist
  145. public function saveFeaturePlaylist(){
  146. $res = array();
  147. $res['status'] = 0;
  148. # Edit Playlist
  149. if(($_POST['playlistId'])){
  150. $playlistId = isset($_POST['playlistId'])?$_POST['playlistId']:"";
  151. $name = isset($_POST['title'])?$_POST['title']:"";
  152. $description = isset($_POST['description'])?$_POST['description']:"";
  153. $videoId = isset($_POST['videoId'])?$_POST['videoId']:"";
  154. $workspaceId = $this->workspaceId;
  155. $options = array(
  156. "ID"=>$playlistId,
  157. "Name"=>$name,
  158. "Description"=>$description,
  159. "WorkspaceID"=>$workspaceId,
  160. "Type"=>1
  161. );
  162. $papiResult = $this->papiCall("POST", "Playlist.Update", $options);
  163. if($papiResult->Status){
  164. $currentVideoId = isset($_POST['currentVideoId'])?$_POST['currentVideoId']:"";
  165. # delete current videos in playlist
  166. if(!empty($currentVideoId)){
  167. $this->papiCall("POST", "Playlist.Content.Remove", array("ContentID"=>$currentVideoId, "PlaylistID"=>$playlistId));
  168. }
  169. if($videoId != "0"){
  170. if($papiResult->Status){
  171. # add new list of videos
  172. $papiResult = $this->papiCall("POST", "Playlist.Content.Add", array("PlaylistID"=>$playlistId, "ContentID"=>$videoId));
  173. }
  174. $res['status'] = $papiResult->Status + 0;
  175. }
  176. else{
  177. $res['status'] = 1;
  178. }
  179. }
  180. else {
  181. $res['status'] = $papiResult->Status + 0;
  182. }
  183. }
  184. # Add Playlist
  185. else{
  186. $name = $_POST['title'];
  187. $description = $_POST['description'];
  188. $videoId = $_POST['videoId'];
  189. $status = 0;
  190. $workspaceId = $this->workspaceId;
  191. $options = array(
  192. "Name"=>$name,
  193. "Description"=>$description,
  194. "Status"=>$status,
  195. "WorkspaceID"=>$workspaceId,
  196. "Type"=>1
  197. );
  198. $papiResults = $this->papiCall("POST", "Playlist.Create", $options);
  199. $playlistId = $papiResults->Playlist->ID;
  200. $videoIds = explode(",", $videoId);
  201. for($i=0; $i<count($videoIds); $i++){
  202. $options = array();
  203. $options = array(
  204. "PlaylistID"=>$playlistId,
  205. "ContentID"=>$videoIds[$i]
  206. );
  207. $this->papiCall("POST", "Playlist.Content.Add", $options);
  208. }
  209. $res['status'] = 1;
  210. }
  211. print_r(json_encode($res));
  212. } # -- saveFeaturePlaylist
  213. public function publishFeaturePlaylist(){
  214. $res = array();
  215. $res['status'] = 0;
  216. if(isset($_POST)){
  217. $currentPublishedId = explode(",", $_POST['playlistId']);
  218. $papiResult = $this->papiCall("GET", "Playlist.GetAll", array("WorkspaceID"=>$this->workspaceId, "Type"=>1));
  219. if($papiResult->Status){
  220. $playlistId = $papiResult->Playlist;
  221. for($i=0; $i<count($playlistId); $i++){
  222. if(in_array($playlistId[$i]->ID, $currentPublishedId)){
  223. $this->papiCall("POST", "Playlist.Update", array("ID"=>$playlistId[$i]->ID, "Status"=>1));
  224. }
  225. else {
  226. $this->papiCall("POST", "Playlist.Update", array("ID"=>$playlistId[$i]->ID, "Status"=>0));
  227. }
  228. }
  229. }
  230. $res['status'] = 1;
  231. }
  232. print_r(json_encode($res));
  233. } # -- function publishFeaturePlayslist
  234. }