models/opiniarbo.php
author viric@mandarina
Thu, 25 Dec 2008 11:25:58 +0000
changeset 0 3773f4677c40
permissions -rw-r--r--
Opiniarbo - versikontrolita.

<?php
class Opiniarbo_model extends Model {

    function Opiniarbo_model()
    {
        parent::Model();
    }

    function get_my_heads($user)
    {
        $query = $this->db->get_where('asertoj',
            array('user' => $user, 'parent' => NULL));
        return $query->result();
    }

    function get_other_heads($user)
    {
        $query = $this->db->get_where('asertoj',
            array('user !=' => $user, 'parent' => NULL));
        return $query->result();
    }

    function get_my_subasserts($parent, $user)
    {
        $query = $this->db->get_where('asertoj',
            array('user' => $user,
                  'parent' => $parent));
        return $query->result();
    }

    function get_other_subasserts($parent, $user)
    {
        $query = $this->db->get_where('asertoj',
            array('user !=' => $user,
                  'parent' => $parent));
        return $query->result();
    }

    function get_calc_value($assert, $orig_value)
    {
        $query = $this->db->get_where('asertoj',
            array('parent' => $assert));

        if ($query->num_rows() > 0)
        {
            $val = 0;
            foreach($query->result() as $row)
            {
                $val += get_calc_value($row->id, $row->value);
            }
            $query2 = $this->db->where('id', $row->id);
            $query2->update('asertoj', array(
                'calc_value' => $val));

            return $val;
        }

        return $orig_value;
    }

    function recalculate()
    {
        // Get all heads
        get_calc_value(NULL, 0);
    }

    function insert_assertion()
    {
        if (isset($_POST['parent']))
        {
            $data['parent'] = $_POST['parent'];
            $data['influence'] = $_POST['influence'];
        }
        else
        {
            $data['parent'] = NULL;
            $data['influence'] = $_POST['influence'];
        }
        $data['assert'] = $_POST['assert'];
        $data['context'] = $_POST['context'];
        $data['value'] = float($_POST['value']);
    }
}

?>