Changeset 483
- Timestamp:
- 05/13/08 21:45:10 (7 months ago)
- Location:
- trunk/app
- Files:
-
- 2 added
- 3 modified
-
controllers/messages_controller.php (modified) (5 diffs)
-
models/message.php (modified) (1 diff)
-
views/messages/display.ctp (added)
-
views/messages/listing.ctp (modified) (3 diffs)
-
webroot/img/static/mailgray.png (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/app/controllers/messages_controller.php
r480 r483 10 10 class MessagesController extends AppController 11 11 { 12 public $helpers = array('Javascript', 'Ajax', 'Fck', 'Time' );12 public $helpers = array('Javascript', 'Ajax', 'Fck', 'Time', 'Gags'); 13 13 14 14 public $components = array('Portal', 'Security', 'Email', 'Session', 'Edublog'); … … 16 16 public function beforeFilter() 17 17 { 18 $this->Auth->allow(array('message', 'deliver', 'listing', 'compose' ));18 $this->Auth->allow(array('message', 'deliver', 'listing', 'compose', 'display', 'add')); 19 19 parent::beforeFilter(); 20 20 } … … 84 84 $this->Message->create(); 85 85 86 if ($this->Message->save($this->data["Message"])) 87 { 86 if ($this->Message->save($this->data["Message"])): 87 88 88 $this->__sendMail($this->data["Message"]["user_id"], $this->data["Message"]["username"], $this->data["Message"]["title"]); 89 89 90 if ( isset($this->data["Message"]["admin"])) 91 { 90 if ( isset($this->data["Message"]["admin"])): 92 91 $this->render('sentadmin','ajax'); 93 } 94 else 95 { 96 $this->render('sent', 'ajax'); 97 } 98 } 99 } 92 else: 93 $this->render('sent', 'ajax'); 94 endif; 95 endif; 96 } 100 97 } 101 98 … … 110 107 111 108 $this->pageTitle = 'Messages'; 112 113 $conditions = array("Message.user_id" => $this->Auth->user('id')); 114 fields = array("Message.id", "Message.title", "Message.body", "Message.created", "Message.sender", "Message.status", "User.username"); 115 $order = "Message.id DESC"; 116 $limit = 20; 117 118 $this->set('data', $this->Message->findAll($conditions, $fields, $order, $limit)); 119 120 $this->Portal->statics(); // Charge Portal components aka Sidebars 121 } 122 109 110 $this->set('data', $this->Message->inbox($this->Auth->user('id'))); 111 112 $this->Portal->statics(); // Charge Portal components aka Sidebars 113 } 114 115 public function display($message_id) 116 { 117 118 if ( !$this->Auth->user() ): 119 $this->redirect('/users/login'); 120 return false; 121 endif; 122 123 $this->layout = 'portal'; 124 125 $this->pageTitle = 'Messages'; 126 127 $this->set('data', $this->Message->display($message_id, $this->Auth->user('id'))); 128 129 $this->Portal->statics(); // Charge Portal components aka Sidebars 130 } 123 131 124 132 /* == PRIVATE == **/ … … 264 272 $data["Message"]["status"] = $message_status; 265 273 266 $this->Message->save($data["Message"]); 267 274 $this->Message->save($data["Message"]); 268 275 } 269 276 -
trunk/app/models/message.php
r471 r483 18 18 'sender_id' => VALID_NOT_EMPTY 19 19 ); 20 /* return 21 * 20 21 public function inbox($user_id) 22 { 23 $this->unbindModel(array('belongsTo'=>array('User'))); 24 25 $this->bindModel(array('belongsTo'=>array( 26 'User' => array( 27 'className' => 'User', 28 'foreignKey' => 'sender' 29 ) 30 ) 31 ) ); 32 33 $conditions = array("Message.user_id" => $user_id); 34 $fields = array("Message.id", "Message.title", "Message.body", "Message.created", "Message.sender", "Message.status", "User.id", "User.username"); 35 $order = "Message.id DESC"; 36 $limit = 50; 37 38 $data = $this->findAll($conditions, $fields, $order, $limit); 39 40 return $data; 41 } 42 43 public function display($message_id, $user_id) 44 { 45 $this->unbindModel(array('belongsTo'=>array('User'))); 46 47 $this->bindModel(array('belongsTo'=>array( 48 'User' => array( 49 'className' => 'User', 50 'foreignKey' => 'sender' 51 ) 52 ) 53 ) ); 54 55 $conditions = array("Message.user_id" => $user_id, "Message.id"=>$message_id); 56 $fields = array("Message.id", "Message.title", "Message.body", "Message.created", "Message.sender", "Message.status", "User.id", "User.username"); 57 58 $data = $this->find($conditions, $fields); 59 60 if ( $data['Message']['status'] == 0 ): // change from new to readed 61 $this->change($data['Message']['id'], 1); 62 endif; 63 64 return $data; 65 } 66 67 /* 68 * Change message status 69 * int 70 * int 22 71 */ 72 public function change($message_id, $message_status) 73 { 74 $data['Message']['id'] = $message_id; 75 76 $data['Message']['status'] = $message_status; 77 78 $this->save($data["Message"]); 79 80 return true; 81 } 82 83 /* 84 * return 85 * $vclassroom_id int 86 */ 23 87 public function getUsers($vclassroom_id) 24 88 { -
trunk/app/views/messages/listing.ctp
r480 r483 1 1 <?php 2 echo $html->link($html->image('admin/compose_on.gif', array("alt"=>"Compose New Message", "title"=>"Compose New Message")), '/admin/messages/add', null, false, false); 2 // die(debug($data)); 3 echo $html->link($html->image('admin/compose_on.gif', array("alt"=>"Compose New Message", "title"=>"Compose New Message")), '/messages/add', null, false, false); 3 4 4 if ( $cU['User']['group_id'] == 1) // if user belongs to admin group 5 { 6 echo '<div style="position:absolute;right:300px;top:35px;">'; 7 echo $html->link($html->image('admin/message_board.gif', array("alt"=>"General Message", "title"=>"General Message")), '/admin/messages/general', null, false, false); 8 echo '</div>'; 9 } 10 11 echo $form->create('Message', array('admin_delete', 'onsubmit'=>'return chkList();', 'name'=>'privmsg_list')); 5 echo $form->create('Message', array('delete', 'onsubmit'=>'return chkList();', 'name'=>'privmsg_list')); 12 6 13 7 echo $form->hidden('Message.several', array("value"=>1)); … … 15 9 16 10 $th = array('Flag', 'Subject', 'From', 'Date', 'Mark'); 17 echo '<table class="tbadmin">'; 11 12 e('<table style="width:100%;border:1px dotted orange;padding:3px;">'); 13 18 14 echo $html->tableHeaders($th); 19 15 … … 38 34 $tr = array( 39 35 $html->link($html->image('admin/'.$img, array("alt"=>$status, "title"=>$status)), '/admin/messages/display/'.$val['Message']['id'], null, null, false), 40 $html->link($val['Message']['title'], '/ admin/messages/display/'.$val['Message']['id']),41 $ val['User']['username'],36 $html->link($val['Message']['title'], '/messages/display/'.$val['Message']['id']), 37 $html->link($val['User']['username'], '/vclassrooms/aboutme/'.$val['User']['username']), 42 38 $val['Message']['created'] . "\n", 43 39 $form->checkbox('Message.id', array('value'=>$val['Message']['id'], 'id'=>'fieldid'.$val['Message']['id'])) . "\n"
