/**
  * Set language codes
  *
  * @param $langs
  *
  * @return boolean
  */
 public static function setLangs($langs)
 {
     $langs = explode(',', General::sanitize($langs));
     // if no language codes, return false
     if ($langs === false || !is_array($langs)) {
         return false;
     }
     $langs = self::cleanLanguageCodes($langs);
     if (count($langs) === 0) {
         return false;
     }
     $new_codes = array();
     $all_codes = array_keys(Languages::all()->listAll());
     // only valid language codes are preserved
     foreach ($langs as $lc) {
         if (in_array($lc, $all_codes)) {
             $new_codes[] = $lc;
         }
     }
     // if no valid language codes, return false
     if (empty($new_codes)) {
         return false;
     }
     // store the new language codes
     self::$_langs = $new_codes;
     return true;
 }