<?php

// h-source, a web software to build a community of people that want to share their hardware information.
// Copyright (C) 2010  Antonio Gallo (h-source-copyright.txt)
//
// This file is part of h-source
//
// h-source 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 3 of the License, or
// (at your option) any later version.
// 
// h-source 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 h-source.  If not, see <http://www.gnu.org/licenses/>.

if (!defined('EG')) die('Direct access not allowed!');

class Distributions
{
	
	public static $allowed = array(
		'blag_90001'	=>	'BLAG 90001',
		'blag_120000'	=>	'BLAG 120000',
		'blag_140000'	=>	'BLAG 140000',
		'dragora_1_1'	=>	'Dragora 1.1',
		'dragora_2_0'	=>	'Dragora 2.0 Ardi',
		'dragora_2_2' 	=>	'Dragora 2.2 Rafaela',
		'dynebolic_2_5_2'	=>	'Dyne:bolic 2.5.2 DHORUBA',
		'dynebolic_3_0_X'	=>	'Dyne:III 3.0.X MUNIR',
		'gnewsense_2_3'	=>	'gNewSense 2.3 Deltah',
		'gnewsense_3_0'	=>	'gNewSense 3.0 Metad (beta)',
		'gnewsense_3_0_parkes'	=>	'gNewSense 3.0 Parkes',
		'musix_2_0'		=>	'Musix GNU+Linux 2.0 R0',
		'parabola'		=>	'Parabola GNU/Linux',
		'trisquel_3_5' 	=>	'Trisquel 3.5 Awen',
		'trisquel_4_0' 	=>	'Trisquel 4.0 Taranis',
		'trisquel_4_5' 	=>	'Trisquel 4.5 Slaine',
		'trisquel_5_0' 	=>	'Trisquel 5.0 Dagda',
		'trisquel_5_5' 	=>	'Trisquel 5.5 Brigantia',
		'trisquel_6_0'	=>	'Trisquel 6.0 Toutatis',
		'ututo_xs_2009'	=>	'UTUTO XS 2009',
		'ututo_xs_2010'	=>	'UTUTO XS 2010',
		'ututo_xs_2012_04'	=>	'UTUTO XS 2012.04',
		'venenux_0_8'	=>	'VENENUX 0.8',
		'venenux_0_8_2'	=>	'VENENUX-EC 0.8.2',
		'venenux_0_9'	=>	'VENENUX 0.9',
	);
	
	public static function getList()
	{
		return implode(' , ',array_keys(self::$allowed));
	}
	
	public static function getName($distList = '')
	{
		$returnString = null;
		$returnArray = array();
		$distArray = explode(',',$distList);
		foreach ($distArray as $dist)
		{
			$dist = trim($dist);
			if (array_key_exists($dist,self::$allowed))
			{
				$returnArray[] = self::$allowed[$dist];
			}
		}
		return implode(" <br /> ",$returnArray);
	}
	
	public static function check($distString)
	{
		$distArray = explode(',',$distString);
		
		$allowedArray = array_keys(self::$allowed);
		
		foreach ($distArray as $dist)
		{
			$dist = trim($dist);
			if (!in_array($dist,$allowedArray)) return false;
		}
		
		return true;
	}
	
	public static function getFormHtml()
	{
		$str = "<div class='dist_checkboxes_hidden_box'>";
		$str .= "<div class='dist_checkboxes_hidden_box_inner'>";
		foreach (self::$allowed as $value => $label)
		{
			$str .= "<div class=\"hidden_box_item\"><input class=\"hidden_box_input $value\" type=\"checkbox\" name=\"$value\" value=\"$value\"/> $label</div>";
		}
		$str .= "</div>";
		$str .= "<input class=\"hidden_box_distribution_submit\" type=\"submit\" value=\"apply\">";
		$str .= "<input class=\"hidden_box_distribution_cancel\" type=\"submit\" value=\"cancel\">";
		$str .= "</div>";
		
		return $str;
	}
	
}