imagecms/ImageCMS

View on GitHub
application/modules/custom_scripts/models/custom_scripts_model.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

/**
 * @property CI_DB_active_record $db
 * @property DX_Auth $dx_auth
 */
class Custom_scripts_model extends CI_Model
{

    /**
     * @param $position 1 /body| -1 /header
     * @return string|null
     */
    public function getScript($position = 1) {
        $query = $this->db->select('value')->where('position', $position)->get('custom_scripts');

        return $query->num_rows() ? $query->row_array()['value'] : null;

    }

    /**
     * @param $position 1 /body| -1 /header
     * @param string $script
     * @return null|string
     * @throws Exception
     */
    public function saveScript($position, $script) {
        if (!in_array($position, [1, -1])) {
            throw new Exception('Undefined position');
        }

        $query = $this->db->select('value')->where('position', $position)->get('custom_scripts');

        $create = $query->num_rows() < 1;

        $this->db->set('value', trim($script));
        if ($create) {
            $this->db->set('position', $position);
            $this->db->insert('custom_scripts');
        } else {
            $this->db->where('position', $position);
            $this->db->update('custom_scripts');
        }

    }

}