public function isDataValid()
 {
     if (!isClientLoggedIn()) {
         $this->message = "U moet ingelogd zijn om mee te kunnen doen aan een verloting!";
         return false;
     }
     $product = new Product();
     $product->loadByGUID($this->data['product']);
     if ($product->guid == null || $product->isgone == true) {
         $this->message = "Geen geldig product";
         return false;
     }
     if ($product->user->guid == $_SESSION['guid']) {
         $this->message = "U kunt niet meedoen in de verloting van uw eigen product!";
         return false;
     }
     $active_user = new User();
     $active_user->loadByGUID($_SESSION['guid']);
     if ($product->isUserInLottery($active_user)) {
         $this->message = "U bent al ingeschreven voor deze verloting!";
         return false;
     }
     $this->product = $product;
     $this->user = $active_user;
     return true;
 }
/**
 * 
 * @param type $search_string
 * @param type $distance
 * @return Product[]
 */
function getSearchResult($search_string, $distance = null)
{
    $words = explode(" ", $search_string);
    $name_result = array();
    $desc_result = array();
    foreach ($words as $word) {
        $sql = select_sql("SELECT guid FROM product WHERE name LIKE ?", 's', '%' . $word . '%');
        if (!empty($sql)) {
            $name_result[$word] = toSingleArray($sql);
        }
        $sql2 = select_sql("SELECT guid FROM product WHERE description LIKE ?", 's', '%' . $word . '%');
        if (!empty($sql2)) {
            $desc_result[$word] = toSingleArray($sql2);
        }
        foreach ($words as $word2) {
            $sql = select_sql("SELECT guid FROM product WHERE name LIKE ?", 's', '%' . $word . ' ' . $word2 . '%');
            if (!empty($sql)) {
                $name_result[$word . ' ' . $word2] = toSingleArray($sql);
            }
            $sql2 = select_sql("SELECT guid FROM product WHERE description LIKE ?", 's', '%' . $word . ' ' . $word2 . '%');
            if (!empty($sql2)) {
                $desc_result[$word . ' ' . $word2] = toSingleArray($sql2);
            }
            foreach ($words as $word3) {
                $sql = select_sql("SELECT guid FROM product WHERE name LIKE ?", 's', '%' . $word . ' ' . $word2 . ' ' . $word3 . '%');
                if (!empty($sql)) {
                    $name_result[$word . ' ' . $word2 . ' ' . $word3] = toSingleArray($sql);
                }
                $sql2 = select_sql("SELECT guid FROM product WHERE description LIKE ?", 's', '%' . $word . ' ' . $word2 . ' ' . $word3 . '%');
                if (!empty($sql2)) {
                    $desc_result[$word . ' ' . $word2 . ' ' . $word3] = toSingleArray($sql2);
                }
            }
        }
    }
    $final_result = array();
    foreach ($name_result as $name => $guid_list) {
        foreach ($guid_list as $guid) {
            if (!array_key_exists($guid, $final_result)) {
                $final_result[$guid] = 3 * pow(count(str_split($name)), 2);
            } else {
                $final_result[$guid] += 3 * pow(count(str_split($name)), 2);
            }
        }
    }
    foreach ($desc_result as $desc => $guid_list) {
        foreach ($guid_list as $guid) {
            if (!array_key_exists($guid, $final_result)) {
                $final_result[$guid] = pow(count(str_split($desc)), 2);
            } else {
                $final_result[$guid] += pow(count(str_split($desc)), 2);
            }
        }
    }
    arsort($final_result);
    $actual_result = array();
    foreach ($final_result as $key => $value) {
        $product = new Product();
        $product->loadByGUID($key);
        array_push($actual_result, $product);
    }
    return $actual_result;
}
Example #3
0
    <div class="row">
        <div class="col-lg-12">
            <h1 class="page-header">Recente verlotingen
                <small></small>
            </h1>
        </div>
    </div>
    <!-- /.row -->

    <?php 
$db = select_sql("SELECT guid FROM product WHERE isgone = 0 ORDER BY upload_date DESC LIMIT 9");
for ($i = 0; $i < 3; $i++) {
    echo '<div class="row">';
    for ($j = 0; $j < 3; $j++) {
        if (count($db) - 1 < $i * 3 + $j) {
            continue;
        }
        $product = new Product();
        $product->loadByGUID($db[$i * 3 + $j]['guid']);
        $product->echoProduct();
    }
    echo '</div>';
}
?>

</div>
<!-- /.container -->

<!-- Footer -->
<?php 
include 'php/footer.php';
 /**
  * 
  * @param type $page_number
  * @param type $amount_per_page
  * @return Product[]
  */
 public function getProductsForPage($page_number, $amount_per_page)
 {
     $sql = select_sql("SELECT p.guid FROM product p WHERE p.guid IN(SELECT product_guid FROM product_has_category phc WHERE phc.category_guid = ?) ORDER BY p.allot_date DESC LIMIT ?, ?", 'sii', array($this->guid, $page_number * $amount_per_page, $amount_per_page));
     $result = array();
     foreach ($sql as $s) {
         $product = new Product();
         $product->loadByGUID($s['guid']);
         array_push($result, $product);
     }
     return $result;
 }