Changeset 322

Show
Ignore:
Timestamp:
03/14/08 09:58:47 (10 months ago)
Author:
aarkerio
Message:

Forums update

Location:
trunk/app
Files:
2 added
25 modified

Legend:

Unmodified
Added
Removed
  • trunk/app/app_controller.php

    r321 r322  
    2020     $this->Auth->loginError = 'Invalid e-mail / password combination. Please try again'; 
    2121     $this->Auth->authorize = 'controller';   
    22      $this->Auth->allow( array('view', 'display', 'subscribe', 'recover', 'register', 'insert', 'vote', 'download', 'blog','portfolio', 'about', 'message', 'directory', 'bloggers', 'add', 'rss') ); 
     22     $this->Auth->allow( array('view', 'display', 'subscribe', 'recover', 'register', 'insert', 'vote', 'download', 'blog','portfolio', 'about', 'message', 'directory', 'bloggers', 'add', 'rss', 'discussion') ); 
    2323     $this->Auth->autoRedirect = true; 
    2424     $this->set('cU', $this->Auth->user());  // $cU current user array to use in the views if user logged 
  • trunk/app/config/core.php

    r311 r322  
    1414 * In development mode, you need to click the flash message to continue. 
    1515 */ 
    16     Configure::write('debug', 2); 
     16    Configure::write('debug', 1); 
    1717/** 
    1818 * Application wide charset encoding 
  • trunk/app/config/sql/karamelo_postgres.sql

    r301 r322  
    224224 forum_id integer NOT NULL REFERENCES forums(id) ON DELETE CASCADE, 
    225225 user_id integer NOT NULL REFERENCES users(id) ON DELETE CASCADE, 
    226  status int NOT NULL DEFAULT 0, 
     226 status int NOT NULL DEFAULT 1, 
    227227 level int NOT NULL DEFAULT 0,   --level 0 = topic starts 
    228228 topic_id int NOT NULL DEFAULT 1, -- topic id and level 2 giveme answers  
  • trunk/app/controllers/acquaintances_controller.php

    r307 r322  
    6363    { 
    6464       $this->Sanitize = new Sanitize; 
    65         
    66        $this->Sanitize->clean($this->data["Acquaintance"]);  
     65       $this->data['Acquaintance']['url'] = trim($this->data['Acquaintance']['url']); 
     66       $this->Sanitize->clean($this->data['Acquaintance']);  
    6767        
    6868       $this->data['Acquaintance']['user_id'] = $this->Auth->user('id'); 
  • trunk/app/controllers/catforums_controller.php

    r319 r322  
    4141         
    4242        $this->Edublog->blog($user_id); 
    43     } 
    44      
    45     /****  
    46         ======= ADMIN SECTION   ======= 
    47     ******/ 
    48     public function admin_listing($admin = null, $order=null) 
    49     { 
     43 } 
     44   
     45 /****  
     46        ======= ADMIN METHODS   ======= 
     47 ******/ 
     48 public function admin_listing($admin = null, $order=null) 
     49 { 
    5050        $this->layout = 'admin'; 
    5151         
  • trunk/app/controllers/forums_controller.php

    r321 r322  
    2626 } 
    2727 
    28  public function display($title, $username, $user_id, $forum_id)  
     28 public function display($forum_id)  
    2929 {       
    30         $this->pageTitle = $title . ' Forum'; 
    31          
    3230        $conditions = array("Forum.id"=>$forum_id); 
    3331         
    34         $fields     = array("Forum.title", "Forum.id", "Forum.user_id", "Forum.description", "Forum.catforum_id");  
     32        $fields     = array("Forum.title", "Forum.id", "Forum.user_id", "Forum.description", "Forum.catforum_id", "Topic.id");  
     33 
     34        $data       = $this->Forum->find($conditions, null, null, 2); 
     35 
     36        $this->pageTitle = $data['Catforum']['title'] . ' Forum'; 
     37        //die(debug($data)); 
     38        $this->set('data', $data); 
    3539         
    36         $this->set('data', $this->Forum->find($conditions, $fields, null, 2)); 
     40    $this->layout    = $this->Edublog->layout($data['Forum']['user_id']); 
     41          
     42        $this->Edublog->blog($data['Forum']['user_id']); // blogger elements 
     43 } 
     44  
     45 public function discussion($user_id, $forum_id, $topic_id)  
     46 {       
     47        $conditions = array("Topic.id = $topic_id OR Topic.topic_id=$topic_id"); 
     48         
     49        $fields     = null; //array("Forum.title", "Forum.id", "Forum.user_id", "Forum.description", "Forum.catforum_id"); 
     50  
     51        $this->Forum->Topic->User->unbindModel(array('belongsTo'=>array('Group'),'hasMany'=>array('Lesson', 'Entry', 'Comment', 'Bookmark', 'Podcast', 'Quote', 'Test', 'Webquest', 'Ecourse', 'Vclassroom', 'Acquaintance','Confirm'))); 
     52         
     53        $data = $this->Forum->Topic->findAll($conditions, $fields); 
     54        //die(debug($data)); 
     55        $this->pageTitle = $data[0]['Forum']['title'] . ' Forum'; 
     56        
     57        $this->set('data', $data); 
    3758         
    3859    $this->layout    = $this->Edublog->layout($user_id); 
     
    4061        $this->Edublog->blog($user_id); // blogger elements 
    4162 } 
    42   
     63 
    4364 public function view($username, $user_id, $forum_id, $topic_id)  
    4465 {       
     
    87108   if ( !empty( $this->data['Forum'] ) ) 
    88109   { 
    89      // die( debug( $this->data ) ); 
    90110     $this->Sanitize = new Sanitize; 
    91111      
     
    109129  public function admin_edit($id = null) 
    110130  { 
    111     if (empty($this->data["Forum"])) 
     131    if (empty($this->data['Forum'])) 
    112132    {    
    113133        $this->layout = 'admin'; 
     
    121141        $this->Sanitize = new Sanitize; 
    122142     
    123     $this->Sanitize->clean($this->data["Forum"]); 
     143    $this->Sanitize->clean($this->data['Forum']); 
    124144      
    125         if ($this->Forum->save($this->data["Forum"])) 
     145        if ($this->Forum->save($this->data['Forum'])) 
    126146        { 
    127147            $this->msgFlash('Forum updated', '/admin/catforums/listing'); 
     
    129149        } 
    130150    } 
    131 } 
    132  
     151 } 
     152  // change status published/draft 
     153  public function admin_change($id, $status) 
     154  {   
     155    $this->data['Forum']['status'] = ($status == 0 ) ? 1 : 0; 
     156      
     157    $this->data['Forum']['id']     = $id; 
     158      
     159    if ($this->Forum->save($this->data['Forum'])) 
     160    { 
     161    $this->msgFlash('Forum status changed', '/admin/catforums/listing/'); 
     162    } 
     163  } 
    133164 public function admin_delete($id) 
    134165 { 
  • trunk/app/controllers/topics_controller.php

    r321 r322  
    4242     $order      = "Topic.created DESC"; 
    4343      
    44      $this->set('data', $this->Topic->findAll($conditions, $fields, $order, null, null, 1)); 
    45     
     44     $this->set('data', $this->Topic->findAll($conditions, $fields, $order, null, null, 1));    
    4645   } 
    4746 
     
    5352      
    5453     $this->set('blog', $this->Edublog->blog($user_id)); 
    55       
    56      $this->set('topic_id', $topic_id); 
    57      $this->set('forum_id', $forum_id); 
    58       
     54           
    5955     $conditions = array("Topic.status"=>1, "Topic.id"=>$topic_id); 
    6056     $fields     = array("Topic.id", "Topic.subject", "Topic.message", "Topic.created", "Topic.user_id", "Topic.forum_id"); 
     
    7672    } 
    7773    
    78    public function add($username=null, $forum_name=null, $user_id = null, $forum_id = null)  
     74   public function add($username=null, $forum_id = null)  
    7975   { 
    8076     
     
    9793    else  
    9894    { 
     95      $user_id = $this->Topic->User->field('id', array('User.username'=>$username)); 
     96 
    9997      $this->layout    = $this->Edublog->layout($user_id); 
    10098        
     
    118116       if ($this->Topic->save($this->data)) 
    119117       {  
    120            $this->flash('New topic had been added.','/topics/view/'.$this->data['Topic']["user_id"].'/'. $this->data['Topic']['forum_id']); 
     118         $this->flash('New topic had been added.','/topics/view/'.$this->data['Topic']["user_id"].'/'. $this->data['Topic']['forum_id']); 
    121119       } 
    122120     }  
     
    132130  
    133131 public function edit($id = null) 
    134   { 
     132 { 
    135133    if (empty($this->data)) 
    136134    { 
     
    146144        } 
    147145    } 
     146 } 
     147 
     148 // change status published/draft 
     149 public function admin_change($id, $status, $forum_id) 
     150 {   
     151   //   die(' el intvade del status es '. intval($status)); 
     152    if ( !intval($id) ||  !is_numeric($status)  ||  !intval($forum_id) ) 
     153    {  
     154      $this->redirect('/'); 
     155    } 
     156     
     157    $this->data['Topic']['status'] = ($status == 0 ) ? 1 : 0; 
     158      
     159    $this->data['Topic']['id']     = $id; 
     160      
     161    if ($this->Topic->save($this->data['Topic'])) 
     162    { 
     163    $this->msgFlash('Topic status changed', '/admin/forums/topics/'.$forum_id); 
     164    } 
     165 } 
     166 
     167 public function delete($topic_id, $forum_id) 
     168 { 
     169     if ( $this->Topic->del($topic_id) ) 
     170     { 
     171        $this->msgFlash('','/admin/forums/topics/'.$forum_id); 
     172     } 
     173 }   
    148174} 
    149    
    150   public function delete($id) 
    151   { 
    152         // deletes task from database 
    153         $this->Topic->del($id); 
    154         $this->flash('Your virtual classroom  has been updated.','/vclassrooms'); 
    155   } 
    156    
    157 } 
  • trunk/app/models/catforum.php

    r282 r322  
    1010{ 
    1111  public $name = 'Catforum'; 
    12    
     12 
     13  public $belongsTo = array('User' => 
     14                  array('className'     => 'User') 
     15                ); 
     16                                
    1317  public $hasMany = array('Forum' => 
    1418                         array('className'     => 'Forum', 
  • trunk/app/models/forum.php

    r321 r322  
    1313                                     array('className'  => 'Topic',  
    1414                                           'foreignkey' => 'forum_id', 
    15                                            'conditions' => null, 
    16                                            'order'      => null, 
     15                                           'conditions' =>  null, 
     16                                           'order'      => 'id ASC', 
    1717                                           'fields'     => null 
    1818                                           )); 
  • trunk/app/models/topic.php

    r282 r322  
    1414                                           'foreignkey' => 'forum_id'), 
    1515                          'User' =>  
    16                                      array('className' => 'User',  
    17                                            'foreignkey' => 'user_id') 
     16                                     array('className'  => 'User',  
     17                                           'foreignkey' => 'user_id', 
     18                                           'fields'     => 'username, id') 
    1819                                           );  
    1920 
  • trunk/app/views/catforums/display.ctp

    r258 r322  
    1212      foreach ( $val['Forum'] as $v) 
    1313      { 
    14          echo '<div style="vertical-align:middle;padding:6px;margin:10px 10px 10px 20px;border:1px solid orange"'; 
    15             echo $html->link($html->image('static/forum.gif', array("alt"=>"Forum: ". $v["description"], "title"=>"Forum: ". $v["description"])),  
    16                     '/forums/display/'.$v["title"].'/'.$blog["User"]["username"].'/'.$v["user_id"].'/'.$v["user_id"], null, null, false) . '  '; 
    17             echo $html->link($v["title"], '/forums/display/'.$v["title"].'/'.$blog["User"]["username"].'/'.$v["user_id"].'/'.$v["id"], array("style"=>"font-weight:bold")) . ' ' . $v["description"] . '<br />'; 
     14         echo '<div style="vertical-align:middle;padding:6px;margin:10px 10px 10px 20px;border:1px solid orange;">'; 
     15            echo $html->link( 
     16                             $html->image( 
     17                                          'static/forum.gif',  
     18                                          array('alt'=>"Forum: ".$v['description'], 'title'=>"Forum: ".$v['description'])),  
     19                             '/forums/display/'.$v["title"].'/'.$v["user_id"],  
     20                             null, null, false) . '  '; 
     21 
     22        echo $html->link($v['title'], '/forums/display/'.$v['id'], array('style'=>'font-weight:bold')) 
     23.' '.$v['description'].'<br />'; 
    1824        echo '</div>'; 
    1925      } 
  • trunk/app/views/entries/admin_start.ctp

    r258 r322  
    4545</div> 
    4646 
    47 <!-- div class="main-item" title="Forums" onclick="document.location.href = '/admin/catforums/listing'"> 
    48   <span class="main-item-icon"> 
    49      <?php echo $html->link($html->image('messages.png', array("title"=>"Forums", "alt"=>"Forums")), '/admin/catforums/listing', null, null, false); ?> 
    50   </span> 
    51   <a href="/admin/catphorums/listing" title="Phorums" class="main-item-caption">Forums</a> 
    52 </div --> 
     47<div class="main-item" title="Forums" onclick="document.location.href = '/admin/catforums/listing'"> 
     48  <span class="main-item-icon"> 
     49     <?php echo $html->link($html->image('static/forums.png', array("title"=>"Forums", "alt"=>"Forums")), '/admin/catforums/listing', null, null, false); ?> 
     50  </span> 
     51  <a href="/admin/caforums/listing" title="Phorums" class="main-item-caption">Forums</a> 
     52</div> 
    5353 
    5454<div class="main-item" title="Glossary" onclick="document.location.href = '/admin/cat/glossaries/list'"> 
  • trunk/app/views/forums/admin_topics.ctp

    r321 r322  
    1 <?php 
    2 //die( debug($data)); 
    3 ?> 
    4  
    51<div class="title_section">Topics on Forum <?php echo $data['Forum']['title']; ?></div> 
    62 
     
    2218--> 
    2319</script> 
    24  
    25 <p> 
    26     <?php echo $html->link($html->image('admin/new.gif', array("alt"=>"Add new", "title"=>"Add new")), '#',  
    27     array("onclick"=>"hU()"), false, false) ?> 
    28 </p> 
    29      
    30 <table class="tbadmin" id="tbl"> 
    3120<?php 
    3221foreach ($data['Topic'] as $val) 
    3322 { 
     23   $st =  ($val['status'] == 1 ) ? 'Published' : 'Hidden'; 
    3424   $t  =  '<b>'.$val['subject']  . '</b><br />'; 
    35    $t .=  $val['message']   . '<br />'; 
    36    $t .=  $val['status']    . '<br />'; 
    37    $t .=  $val['created']   . '<br />'; 
    38  
    39    echo $html->div('topics', $t); 
     25   $t .=  $val['message']        . '<br />'; 
     26   $t .=  'Status: ' .   $html->link($st, '/admin/topics/change/'.$val['id'].'/'.$val['status'].'/'.$val['forum_id'], array('title'=>'Change status'))      . '<br />'; 
     27   $t .=  $val['created']         . '<br />'; 
     28    
     29   echo $html->div('adminblock', $t); 
    4030 } 
    4131?> 
  • trunk/app/views/forums/display.ctp

    r321 r322  
    11<?php 
    22//die(print_r($data)); 
    3 echo '<p>Foro: '. $html->link($data["Catforum"]["title"], '/catforums/display/'.$blog["User"]["username"].'/'.$blog["User"]["id"].'/'.$data["Catforum"]["id"]) . '</p>'; 
     3echo $html->para(null, 'Foro: '. $html->link($data["Catforum"]["title"], '/catforums/display/'.$blog["User"]["username"].'/'.$blog["User"]["id"].'/'.$data["Catforum"]["id"])); 
    44 
    5   echo '<div style="padding:6px;border:1px dotted gray;margin:15px 0 15px 0">'; 
    6          echo '<div style="padding:6px;border:1px solid orange;font-size:17pt;color:orange;font-weight:bold">'; 
    7                 echo $data["Forum"]["title"]; 
    8          echo '</div>'; 
    9          echo '<span ="font-size:pt">'. $data["Forum"]["description"] . "</span>"; 
     5 echo '<div style="padding:6px;border:1px dotted gray;margin:15px 0 15px 0">'; 
     6   echo '<div style="padding:6px;border:1px solid orange;font-size:17pt;color:orange;font-weight:bold">'.$data["Forum"]["title"].'</div>'; 
     7     echo '<span ="font-size:pt">'. $data["Forum"]["description"] . "</span>";        
     8     echo '<div style="width:100px;margin-top:15px">'; 
     9     echo $html->link($html->image('static/new_post.gif', array("alt"=>"Add new topic", "title"=>"Add new topic")),  
     10                      '/topics/add/'.$blog["User"]["username"].'/'.$data["Forum"]["id"],  
     11                      null, null, false); 
     12     echo '</div>'; 
    1013          
    11          echo '<div style="width:100px;margin-top:15px">'; 
    12          echo $html->link($html->image('static/new_post.gif', array("alt"=>"Add new topic", "title"=>"Add new topic")),  
    13                       '/topics/add/'.$blog["User"]["username"].'/'.$data["Forum"]["title"].'/'.$data["Forum"]["id"].'/'.$data["Forum"]["user_id"], null, null, false); 
    14          echo '</div>'; 
    15           
    16          //Topics 
    17          echo '<table style="border-collapse:collapse;width:100%">'; 
    18              
    19             if ( count($data["Topic"]) == 0) 
    20             { 
     14     //Topics 
     15     echo '<table style="border-collapse:collapse;width:100%">'; 
     16        if ( count($data["Topic"]) == 0) 
     17        { 
    2118                 echo '<tr><td colspan="6"><br /><h4>There is not topic on this forum yet</h4></td></tr>'; 
    22             } 
    23             else 
    24             { 
     19        } 
     20        else 
     21        { 
    2522                $th = array('Read', 'Topics', 'Replies', 'Author', 'Views', 'Last Post'); 
    2623                echo $html->tableHeaders($th); 
    27             } 
    28             //die(print_r($data["Topic"])); 
     24        } 
     25        //die(print_r($data["Topic"])); 
    2926             
    30             foreach ($data["Topic"] as $val) 
    31             { 
    32              $tr = array ( 
    33                    $html->image('static/folder.gif'), 
    34                    $html->link($val['subject'], '/topics/display/'.$Element[0]["User"]["username"].'/'.$Element[0]["User"]["id"].'/'.$data["Forum"]["id"].'/'.$val['id']), 
     27        foreach ($data["Topic"] as $val) 
     28        { 
     29     if ($val['level'] == 0) 
     30     { 
     31         $tr = array ( 
     32         $html->image('static/folder.gif'),  
     33         $html->link($val['subject'], '/forums/discussion/'.$data['Forum']['user_id'].'/'.$val['forum_id'].'/'.$val['id']), 
    3534                   count($data["Topic"]), 
    3635                   $val["User"]["username"], 
     
    4039                
    4140               echo $html->tableCells($tr, array("style"=>"border:1px solid gray;padding:6px;background-color:#e8f6fe"),  
    42                                            array("style"=>"border:1px solid gray;padding:6px;background-color:#c0c0c0")); 
    43              } 
     41                                            array("style"=>"border:1px solid gray;padding:6px;background-color:#c0c0c0")); 
     42     } 
     43         } 
    4444               
    4545          echo '</table>'; 
  • trunk/app/views/topics/display.ctp

    r314 r322  
    11<?php 
    2 //die(var_dump($data)); 
     2die(debug($data)); 
    33echo '<div>'; 
    4 echo $html->link($html->image('static/new_topic.gif', array("alt"=>"New topic", "title"=>"New topic")), '/topics/add/'.$blog[0]["User"]["id"].'/'.$phorum_id, false, false, null);  
     4 
     5echo $html->link( 
     6                 $html->image( 
     7                              'static/new_topic.gif', array("alt"=>"New topic", "title"=>"New topic") 
     8                             ), 
     9                  '/topics/add/'.$blog[0]["User"]["id"].'/'.$phorum_id,  
     10                  false, false, null 
     11                 );  
    512 
    613echo $html->link($html->image('static/reply.gif', array("alt"=>"Reply", "title"=>"Reply")), '/topics/reply/'.$blog[0]["User"]["id"].'/'.$topic_id, false, false, null);  
  • trunk/app/views/users/portfolio.ctp

    r264 r322  
    1919 
    2020<div class="portfolio" id="forums"  onmouseover="changecolor(this.id, 'yellow');" onMouseOut="changecolor(this.id, '#ffcc00');"> 
    21      <?php echo $html->link($html->image('phorum.png', array("title"=>"Forums", "alt"=>"Forums")), '/catforums/display/'.$blog["User"]["username"] .'/'. $blog["User"]["id"], null, null, false); ?><br /> 
     21     <?php echo $html->link($html->image('static/forums.png', array("title"=>"Forums", "alt"=>"Forums")), '/catforums/display/'.$blog["User"]["username"] .'/'. $blog["User"]["id"], null, null, false); ?><br /> 
    2222        Forums 
    2323</div> 
  • trunk/app/webroot/css/cpanel/cpanel.css

    r182 r322  
    10181018} 
    10191019 
     1020.adminblock{ margin:2px;padding:2px;border:1px dotted gray; } 
     1021 
  • trunk/app/webroot/css/rubyx/rubyx.css

    r163 r322  
    1616* {min-height:1px;} 
    1717body {border:0; margin:0; padding:0; background:#fff1f3 url("/css/rubyx/img/bg.gif") 0 0 repeat-x; font:70%/160% "verdana",sans-serif; color:#7f000b; _text-align:center;} 
     18 
     19.topic{padding:4px;border:1px dotted gray; margin:3px; } 
    1820 
    1921a {color:#7f000b;}