05.08 php
ionix
Note
ionix did not leave a note
  1. the link controller
  2. function search()
  3.     {
  4.         if(!empty($this->data)) {
  5.             $this->Link->set($this->data);
  6.             if(!$this->Link->validates())
  7.             pr($this->Link->validationErrors);
  8.             $this->set('searched',1);
  9.             $url=$this->data['Link']['url'];
  10.             $mylinks = $this->Link->findall(array('and' => array('Link.url' => 'LIKE %' . $url . '%', 'Link.user_id' => $this->loggedUser->id)));
  11.             $this->set('mylinks', $mylinks);
  12.             $otherlinks = $this->Link->findall(array('and' => array('Link.url' => 'LIKE %' . $url . '%', 'Link.user_id' => '<>' . $this->loggedUser->id)));
  13.             $this->set('otherlinks', $otherlinks);
  14.             return;
  15.         }
  16.         $this->set('searched', 0);
  17.        
  18.     }
  19.  
  20. The model
  21.  
  22. class Link extends AppModel
  23. {
  24.     var $name = 'Link';
  25.     var $belongsTo = array('User' => array('className' => 'User', 'foreignKey' => 'user_id'));
  26.     var $validate = array(
  27.                             'url' => array(
  28.                                 'rule' => array('minLength' => 5)
  29.                             )
  30.                          );
  31. }
  32.  
  33. And the view
  34. Searching!<br />
  35. <?php if($searched==1): ?>
  36. <?php if(!empty($mylinks)): ?>
  37. <table>
  38. <tr><td colspan="3" align="center"><strong>My sites</b></td></tr>
  39. <?php echo $html->tableHeaders(array('Site', 'Created', 'Status')); ?>
  40. <?php foreach($mylinks as $link): ?>
  41. <tr><td><?php echo $html->link($link['Link']['url'], null, array('target' => '_blank')); ?></td><td><?php echo $link['Link']['created']; ?></td><td><?php echo $link['Link']['status']; ?></td></tr>
  42. <?php endforeach; ?>
  43. </table>
  44. <p>
  45. <?php endif;?>
  46.  <?php if(!empty($otherlinks)): ?>
  47. <table>
  48. <tr><td colspan="3" align="center"><strong>My sites</b></td></tr>
  49. <?php echo $html->tableHeaders(array('Site', 'Created', 'Status')); ?>
  50. <?php foreach($otherlinks as $link): ?>
  51. <tr><td><?php echo $html->link($link['Link']['url'], null, array('target' => '_blank')); ?></td><td><?php echo $link['Link']['created']; ?></td><td><?php echo $link['Link']['status']; ?></td></tr>
  52. <?php endforeach; ?>
  53. </table>
  54. <div id="addsite">
  55. <p><h3>Add a site</h3></p>
  56. <?php
  57. echo $form->create(null, array('url' => '/links/add'));
  58. echo $form->label('Link.url', 'Full address: ');
  59. echo $form->error('Link.url');
  60. echo $form->text('Link.url', array('size' => '40'));
  61. echo $form->submit('Add');
  62. echo $form->end();
  63. ?>
  64. </div>
  65. <?php endif;?>
  66.  
  67. <?php else: ?>
  68. <?php echo $form->create(null, array('url' => '/links/search')); ?>
  69. <?php echo $form->label('Link.url', 'Full address: '); ?>
  70. <?php echo $form->error('Link.url'); ?>
  71. <?php echo $form->text('Link.url', array('size' => '40', 'value' => 'http://', 'onfocus' =>'javascript:if(this.value==\'http://\') this.value=\'\';') ); ?>
  72. <?php echo $form->submit('Search'); ?>
  73. <?php echo $form->end(); ?>
  74. <?php endif; ?>
Parsed in 0.271 seconds, using GeSHi 1.0.7.14

Modify this Paste