<?php

class SQ_Models_Services_Keywords extends SQ_Models_Abstract_Seo {


    public function __construct() {
        parent::__construct();
        if ($this->_post->sq->doseo) {
            add_filter('sq_keywords', array($this, 'generateKeywords'));
            add_filter('sq_keywords', array($this, 'clearKeywords'), 98);
            add_filter('sq_keywords', array($this, 'packKeywords'), 99);
        } else {
            add_filter('sq_keywords', array($this, 'returnFalse'));
        }
    }

    public function generateKeywords($keywords = '') {

        if (($this->_post->sq->keywords <> -1) && $this->_post->sq->keywords <> '') {
            $keywords = $this->_post->sq->keywords;
        }

        if ($keywords == '' && SQ_Classes_Tools::getOption('sq_keywordtag')) {
            $posttags = get_the_tags($this->_post->post_id);
            if (!empty($posttags)) {
                foreach($posttags as $tag) {
                    $tags[] = $tag->name;
                }
                $keywords = join(',', $tags);
            }
        }

        return $keywords;
    }

    public function packKeywords($keywords = '') {
        if ($keywords <> '') {
            return sprintf("<meta name=\"keywords\" content=\"%s\" />", $keywords);
        }
        return '';
    }
}