Changeset 484

Show
Ignore:
Timestamp:
05/13/08 22:44:38 (8 months ago)
Author:
aarkerio
Message:

Messages system

Location:
trunk/app
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/app/controllers/messages_controller.php

    r483 r484  
    1616 public function beforeFilter()  
    1717 { 
    18     $this->Auth->allow(array('message', 'deliver', 'listing', 'compose', 'display', 'add')); 
     18    $this->Auth->allow(array('message', 'deliver', 'listing', 'compose', 'display', 'add', 'send')); 
    1919    parent::beforeFilter(); 
    2020 } 
     
    113113 } 
    114114 
     115 public function add() 
     116 {     
     117   $this->layout    = 'ajax'; 
     118         
     119   if (!empty($this->data['Message'])) 
     120   { 
     121     $this->Sanitize = new Sanitize; 
     122           
     123     $this->Sanitize->html($this->data['Message']['title']); 
     124           
     125     $this->Sanitize->html($this->data['Message']['body']); 
     126           
     127     if ( isset( $this->data['Message']["message_id"] ) ): 
     128           $this->Message->change($this->data['Message']["message_id"], 2);  // set "Reply"  
     129     endif; 
     130           
     131     $this->Message->create(); 
     132           
     133     if ($this->Message->save($this->data['Message'])): 
     134            $this->__sendMail($this->data['Message']['user_id']); 
     135            $this->render('sent','ajax'); 
     136     else: 
     137           die('Error on database'); 
     138     endif; 
     139   } 
     140 } 
     141 
    115142 public function display($message_id) 
    116143 { 
     
    131158 
    132159  /* == PRIVATE == **/ 
    133   private function __sendMail($email) 
    134   {    
     160  private function __sendMail($user_id) 
     161  {  
     162    $email = $this->Message->User->field('User.email', array('User.id'=>$user_id));   
    135163    $this->layout          = 'default'; 
    136164    $this->Email->to       = $email; 
     
    184212   $this->layout = 'admin'; 
    185213     
    186    if (!empty($this->data["Message"])) 
     214   if (!empty($this->data['Message'])) 
    187215   { 
    188216     $this->Sanitize = new Sanitize; 
    189217         
    190      $this->Sanitize->html($this->data["Message"]["title"]); 
    191          
    192      $this->Sanitize->html($this->data["Message"]["body"]); 
     218     $this->Sanitize->html($this->data['Message']["title"]); 
     219         
     220     $this->Sanitize->html($this->data['Message']["body"]); 
    193221         
    194222     $this->Message->User->unbindModel( 
     
    205233        $j = 0; //counter 
    206234         
    207         $this->data["Message"]["sender_id"] = $this->Auth->user('id'); 
     235        $this->data['Message']["sender_id"] = $this->Auth->user('id'); 
    208236         
    209237        //exit(print_r($data)); 
     
    214242           //exit(print_r($val)); 
    215243           
    216            $this->data["Message"]["user_id"] = $val["User"]["id"]; 
    217            
    218            if ($this->Message->save($this->data["Message"])): 
     244           $this->data['Message']["user_id"] = $val["User"]["id"]; 
     245           
     246           if ($this->Message->save($this->data['Message'])): 
    219247                  $j++; 
    220248           else: 
     
    268296 public function admin_change($message_id, $message_status) 
    269297 { 
    270     $data["Message"]["id"]     = $message_id; 
    271      
    272     $data["Message"]["status"] = $message_status; 
    273      
    274     $this->Message->save($data["Message"]);     
     298    $data['Message']["id"]     = $message_id; 
     299     
     300    $data['Message']["status"] = $message_status; 
     301     
     302    $this->Message->save($data['Message']);     
    275303 } 
    276304    
     
    294322    $this->layout    = 'ajax'; 
    295323     
    296     $this->set('data', $this->data["Message"]); 
     324    $this->set('data', $this->data['Message']); 
    297325     
    298326    $this->set('admin_reply', 'ajax'); 
     
    303331   $this->layout    = 'admin'; 
    304332         
    305    if (!empty($this->data["Message"])) 
     333   if (!empty($this->data['Message'])) 
    306334   { 
    307335     $this->Sanitize = new Sanitize; 
    308336           
    309      $this->Sanitize->html($this->data["Message"]["title"]); 
    310            
    311      $this->Sanitize->html($this->data["Message"]["body"]); 
    312            
    313      if ( isset( $this->data["Message"]["message_id"] ) ) 
     337     $this->Sanitize->html($this->data['Message']["title"]); 
     338           
     339     $this->Sanitize->html($this->data['Message']["body"]); 
     340           
     341     if ( isset( $this->data['Message']["message_id"] ) ) 
    314342     { 
    315               $this->change($this->data["Message"]["message_id"], 2); 
     343              $this->change($this->data['Message']["message_id"], 2); 
    316344     } 
    317345           
    318346     $this->Message->create(); 
    319347           
    320      if ($this->Message->save($this->data["Message"])) 
     348     if ($this->Message->save($this->data['Message'])) 
    321349     { 
    322             $this->sendMail($this->data["Message"]["user_id"], $this->data["Message"]["username"], $this->data["Message"]["title"]); 
     350            $this->sendMail($this->data['Message']["user_id"], $this->data['Message']["username"], $this->data['Message']["title"]); 
    323351            $this->render('send','ajax'); 
    324352     } 
     
    338366      $data            = $this->Message->find($conditions, $fields); 
    339367       
    340       if ( $data["Message"]["status"] == 0 )  // change from new to readed 
     368      if ( $data['Message']["status"] == 0 )  // change from new to readed 
    341369      { 
    342          $this->change($data["Message"]["id"], 1); 
     370         $this->change($data['Message']["id"], 1); 
    343371      } 
    344372       
     
    432460 public function admin_delete($id=null) 
    433461 { 
    434    if ( isset($this->data["Message"]["several"]) ) 
     462   if ( isset($this->data['Message']['several']) ) 
    435463   {    
    436             //exit(print_r($this->data["Message"]["id"])); 
    437             foreach ($this->data["Message"]["id"] as $v) 
     464            //exit(print_r($this->data['Message']["id"])); 
     465            foreach ($this->data['Message']['id'] as $v) 
    438466            { 
    439467               if ( $v != 0) 
     
    447475   else 
    448476   { 
    449            if ( isset( $this->data["Message"]["id"] ) ) 
    450            { 
    451                $id = $this->data["Message"]["id"]; 
    452            } 
     477          if ( isset( $this->data['Message']['id'] ) ): 
     478               $id = $this->data['Message']['id']; 
     479          endif; 
    453480            
    454481       $this->Message->del($id); 
  • trunk/app/views/messages/display.ctp

    r483 r484  
    11<?php 
    22//die(debug($data)); 
    3  echo $html->para(null, $html->link($html->image('admin/compose_on.gif', array('alt'=>'New message','title'=>'New message')), '/messages/add', null, false, false)); 
     3 echo $html->para(null, $html->link($html->image('admin/compose_on.gif', array('alt'=>'New message','title'=>'New message')),  
     4'/messages/compose', null, false, false)); 
    45?> 
    56<div id="charging" style="display:none;"><?php echo $html->image('static/loading.gif', array("alt"=>"Loading")); ?></div> 
     
    2324  echo $ajax->form();  
    2425  echo $form->hidden('Message.username',   array("value"=>$cU['User']['username'])); 
    25   echo $form->hidden('Message.sender_id',  array("value"=>$cU['User']['id'])); 
     26  echo $form->hidden('Message.sender',  array("value"=>$cU['User']['id'])); 
    2627  echo $form->hidden('Message.message_id', array("value"=> $data["Message"]["id"])); 
    27   echo $form->hidden('Message.user_id',    array("value"=> $data["Message"]["sender_id"]));     // the change was made on admin_display.thtml 
     28  echo $form->hidden('Message.user_id',    array("value"=> $data["Message"]["sender"]));  
    2829?> 
    2930<fieldset> 
     
    3334  
    3435  echo $form->input('Message.title', array("size" => 35, "maxlength" => 50, "value"=> 'Re: ' . $data["Message"]["title"])) . "<br />"; 
    35   echo $form->label('Message.body', 'Message:' );?><br /> 
    36   echo $form->textarea('Message.body', array("cols"=>50, "rows"=>10, "value"=>$data["User"]["username"] . ' wrote: ' . $data["Message"]["body"])); 
     36  echo $form->label('Message.body', 'Message:').'<br />'; 
     37  echo $form->textarea('Message.body', array("cols"=>50, "rows"=>10, "value"=>"\n\n".'>> '.$data["User"]["username"] . ' wrote: ' . $data["Message"]["body"])); 
    3738  echo $fck->load('MessageBody', 'Basic', 600, 160);  
    3839