<?php
# ***** BEGIN LICENSE BLOCK *****
# This file is part of DotClear.
# Copyright (c) 2005 Olivier Meunier and contributors. All rights
# reserved.
#
# DotClear is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# 
# DotClear is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with DotClear; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# ***** END LICENSE BLOCK *****

$core->addBehavior('xmlrpcGetPostInfo',array('metaXMLRPCbehaviors','getPostInfo'));
$core->addBehavior('xmlrpcAfterNewPost',array('metaXMLRPCbehaviors','editPost'));
$core->addBehavior('xmlrpcAfterEditPost',array('metaXMLRPCbehaviors','editPost'));

class metaXMLRPCbehaviors
{
	public static function getPostInfo(&$x,$type,&$res)
	{
		$res =& $res[0];
		
		$meta = new dcMeta($x->core);
		$rs = $meta->getMeta('tag',null,null,$res['postid']);
		
		$m = array();
		while($rs->fetch()) {
			$m[] = $rs->meta_id;
		}
		
		$res['mt_keywords'] = implode(', ',$m);
	}
	
	# Same function for newPost and editPost
	public static function editPost($x,$post_id,&$cur,$content,$struct,$publish)
	{
		# Check if we have mt_keywords in struct
		if (isset($struct['mt_keywords']))
		{
			$meta = new dcMeta($x->core);
			
			$meta->delPostMeta($post_id,'tag');
			
			foreach ($meta->splitMetaValues($struct['mt_keywords']) as $m) {
				$meta->setPostMeta($post_id,'tag',$m);
			}
		}
	}
}
?>