72 lines
1.7 KiB
PHP
72 lines
1.7 KiB
PHP
<?php
|
|
class Langage{
|
|
|
|
//FIXME const
|
|
public static $java;
|
|
public static $vba;
|
|
|
|
public static $languages = array();
|
|
|
|
protected $ID;
|
|
protected $name;
|
|
protected $avalivableFiles;//String "jar xlsx javadoc" in constructor , stored as a string array
|
|
|
|
|
|
public function __construct($ID,$name,$avalivableFiles){
|
|
$this->ID = $ID;
|
|
$this->name = $name;
|
|
$this->avalivableFiles = explode(" ",$avalivableFiles);
|
|
Langage::$languages[] = $this;
|
|
}
|
|
|
|
public function getID(){
|
|
return $this->ID;
|
|
}
|
|
public function getName(){
|
|
return $this->name;
|
|
}
|
|
public function getAvalivableFiles(){
|
|
return $this->avalivableFiles;
|
|
}
|
|
public function isJarAvalivable(){
|
|
return in_array("jar",$this->avalivableFiles);
|
|
}
|
|
public function isJavaAvalivable(){
|
|
return in_array("java",$this->avalivableFiles);
|
|
}
|
|
public function isJavadocAvalivable(){
|
|
return in_array("javadoc",$this->avalivableFiles);
|
|
}
|
|
public function isXlsmAvalivable(){
|
|
return in_array("xlsm",$this->avalivableFiles);
|
|
}
|
|
public function isVbAvalivable(){
|
|
return in_array("vb",$this->avalivableFiles);
|
|
}
|
|
|
|
public static function getFromID($ID){
|
|
foreach(Langage::$languages AS $language){
|
|
if($language->getID() == $ID)
|
|
return $language;
|
|
}
|
|
return NULL;
|
|
}
|
|
public static function getFromName($name){
|
|
foreach(Langage::$languages AS $language){
|
|
if($language->getName() == $name)
|
|
return $language;
|
|
}
|
|
return NULL;
|
|
}
|
|
public static function getLanguagesFromVersions($versions){
|
|
$languages = array();
|
|
foreach($versions AS $version)
|
|
array_push($languages,$version->getLanguage());
|
|
$languages = array_unique($languages,SORT_REGULAR);
|
|
return $languages;
|
|
}
|
|
|
|
}
|
|
Langage::$java = new Langage(0, "Java", "jar java javadoc");
|
|
Langage::$vba = new Langage(1, "VBA", "xlsm vb");
|