-- Posts

	import(/admin/post.sql);

	
	-- overwrite get post defined in admin to get omit things like get all post descriptions

	-- get one post

	CREATE PROCEDURE get(
		IN post_id INT,
        IN slug CHAR,
        IN language_id INT,
        IN comment_count INT,
        IN comment_status INT,
        IN type CHAR,
		OUT fetch_row,
	)
	BEGIN

		SELECT _.*,pd.*,ad.admin_id,ad.username,ad.display_name,ad.email, ad.avatar, ad.bio, ad.first_name, ad.last_name
		
		@IF isset(:comment_count)
			THEN
				,(SELECT COUNT(c.comment_id) 
						FROM comment c 
					WHERE 
						_.post_id = c.post_id
					
						@IF isset(:comment_status)
						THEN
							AND c.status = :comment_status
						END @IF
					) 
				
				AS comment_count
			END @IF 
			
			FROM post AS _
			LEFT JOIN post_content pd ON (_.post_id = pd.post_id AND pd.language_id = :language_id)  
			LEFT JOIN admin ad ON (_.admin_id = ad.admin_id)  
		WHERE 1 = 1

        	@IF isset(:slug) && !(isset(:post_id) && :post_id) 
        	THEN 
			AND pd.slug = :slug 
        	END @IF			

        	@IF isset(:post_id)
        	THEN
			AND _.post_id = :post_id
        	END @IF			
			
        	@IF isset(:type)
        	THEN
			AND _.type = :type
        	END @IF			

        LIMIT 1; 
		
		
		SELECT "key" as array_key,"value" as array_value FROM post_meta as _
			WHERE _.post_id = @result.post_id;
		
          
	END

	-- get all languages content

	CREATE PROCEDURE getContent(
		IN post_id INT,
		IN site_id INT,
                IN slug CHAR,
		OUT fetch_all,
	)
	BEGIN

		SELECT post.*,_.post_id,_.slug,_.name,_.meta_keywords,_.meta_description,_.language_id,post.template,language.code,language.slug,language.slug as array_key
			FROM post_content AS _
			LEFT JOIN language ON (language.language_id = _.language_id)
			LEFT JOIN post ON (post.post_id = _.post_id)

		@IF isset(:site_id)
		THEN
			LEFT JOIN post_to_site pt ON (pt.post_id = _.post_id)
		END @IF			
			
		WHERE 1 = 1

		@IF isset(:slug) && !(isset(:post_id) && :post_id) 
        	THEN 
			AND _.post_id = (SELECT post_id FROM post_content WHERE slug = :slug LIMIT 1)
        	END @IF			

		@IF isset(:post_id) && :post_id > 0
        	THEN
			AND _.post_id = :post_id
        	END @IF			

		@IF isset(:site_id)
		THEN
            	    AND pt.site_id = :site_id
        	END @IF			
	END

	-- Get categories

	CREATE PROCEDURE postCategories(
		IN  post_id INT,
	)
	BEGIN
	END
