Example #1
0
 public function index()
 {
     $db = new Database();
     // clean up old orders that are a week or older and are 'Pending'
     $dat = time();
     $lastweek = $dat - 604800;
     $result = $db->query('DELETE FROM orders WHERE date_modified < ' . $lastweek . ' AND statusID = 1');
     // In Kohana, all views are loaded and treated as objects.
     $this->template->content = new View('homepage');
     $this->template->metaDescription = $this->description;
     $this->template->metaKeywords = $this->keywords;
     $this->template->metaTitle = $this->title;
     // getOccasions and getOccasion($id) is a method defined in Occasion_Model
     $occasions = new Occasion_Model();
     $this->template->content->occasionresults = $occasions->getOccasions();
     // getProducts is a method defined in Product_Model
     $products = new Product_Model();
     $this->template->content->productresults = $products->getHomepageProducts();
     // getLatestTestimonial is a method defined in Testimonial_Model
     $testimonial = new Testimonial_Model();
     $this->template->content->testimonialresult = $testimonial->getLatestTestimonial();
     // get the most recently created hearts of each product type
     $result = $db->query('SELECT orders.id, orders.can_share, orders_baskets.id, orders_baskets.product_id, orders_baskets.designpath, orders_baskets.msg_text1, orders_baskets.msg_text2, fc.name FROM orders INNER JOIN orders_baskets ON orders.id = orders_baskets.order_id LEFT JOIN foil_colors fc ON fc.id = orders_baskets.foil_id WHERE orders.can_share = 1 AND orders_baskets.designpath != "" AND orders_baskets.img_approved = 1 AND orders.statusID IN (2,4,5) AND orders.site_id = ' . My_Template_Controller::getCurrentSite()->id . ' ORDER BY order_date DESC LIMIT 4');
     $recentForward = array();
     $recentBack = array();
     $i = 0;
     foreach ($result as $recent) {
         if ($i < 10) {
             $recentForward[$i] = $recent;
         } else {
             $recentBack[$i - 10] = $recent;
         }
         $i++;
     }
     $this->template->content->recentHearts = $recentForward;
     $this->template->content->recentHeartsBack = $recentBack;
     //$result = $db->query('SELECT orders.id, orders.can_share, orders_baskets.id, orders_baskets.product_id, orders_baskets.designpath FROM orders INNER JOIN orders_baskets ON orders.id = orders_baskets.order_id WHERE orders.can_share = 1 AND orders_baskets.designpath != "" AND orders_baskets.img_approved = 1 AND orders.statusID IN (2,4,5) ORDER BY order_date ASC LIMIT 10');
     // You can assign anything variable to a view by using standard OOP
     // methods. In my welcome view, the $title variable will be assigned
     // the value I give it here.
     $this->template->title = $this->title;
     $result = $db->query("SELECT * FROM slides WHERE site_id = '" . My_Template_Controller::getCurrentSite()->id . "'");
     $this->template->content->slides = $result;
 }
 public function add()
 {
     $argumentarray = Router::$arguments;
     $testimonials = new Testimonial_Model();
     $id = $testimonials->getNextID();
     if (isset($_POST['save'])) {
         $post = new Validation(array_merge($_POST, $_FILES));
         $post->pre_filter('trim', 'testimonialName', 'testimonialDescription');
         $post->add_rules('testimonialName', 'required');
         if (!$post->validate()) {
             $errors = $post->errors('form_errors');
             foreach ($errors as $error) {
                 echo '<p class="error">' . $error . '</p>';
             }
         } else {
             //$id = $argumentarray[0];
             $testimonials = new Testimonial_Model();
             $testimonial = ORM::factory('testimonial');
             $testimonial->name = $post->testimonialName;
             $testimonial->location = $post->testimonialLocation;
             $testimonial->headline = $post->testimonialHeadline;
             $testimonial->description = $post->testimonialDescription;
             $testimonial->save();
             if (!empty($post->testimonialSites)) {
                 foreach ($post->testimonialSites as $site_id) {
                     $sc = ORM::factory('sites_testimonial')->where('testimonial_id', $testimonial->id)->where('site_id', $site_id)->find();
                     if ($sc->id == 0) {
                         $sc->testimonial_id = $testimonial->id;
                         $sc->site_id = $site_id;
                         $sc->save();
                     }
                 }
             }
             url::redirect('/testimonials/edit/' . $testimonial->id);
         }
     }
     $this->_renderView();
 }