Esempio n. 1
0
/**
 * Retrouve le nom d'objet à partir de la table
 * 
 * - spip_articles -> articles
 * - id_article    -> articles
 * - article       -> articles
 *
 * @api
 * @param string $type
 *     Nom de la table SQL (le plus souvent)
 *     Tolère un nom de clé primaire.
 * @param string $serveur
 *     Nom du connecteur
 * @return string
 *     Nom de l'objet
**/
function table_objet($type, $serveur = '')
{
    $surnoms = lister_tables_objets_surnoms();
    $type = preg_replace(',^spip_|^id_|s$,', '', $type);
    if (!$type) {
        return;
    }
    if (isset($surnoms[$type])) {
        return $surnoms[$type];
    }
    if ($serveur !== false) {
        $trouver_table = charger_fonction('trouver_table', 'base');
        if ($desc = $trouver_table(rtrim($type, 's') . "s", $serveur)) {
            return $desc['id_table'];
        } elseif ($desc = $trouver_table($type, $serveur)) {
            return $desc['id_table'];
        }
        spip_log('table_objet(' . $type . ') calculee sans verification', _LOG_AVERTISSEMENT);
    }
    return rtrim($type, 's') . "s";
    # cas historique ne devant plus servir, sauf si $serveur=false
}
Esempio n. 2
0
/**
 * Retrouve le nom d'objet à partir de la table
 * 
 * - spip_articles -> articles
 * - id_article    -> articles
 * - article       -> articles
 *
 * @api
 * @param string $type
 *     Nom de la table SQL (le plus souvent)
 *     Tolère un nom de clé primaire.
 * @param string $serveur
 *     Nom du connecteur
 * @return string
 *     Nom de l'objet
**/
function table_objet($type,$serveur='') {
	$surnoms = lister_tables_objets_surnoms();
	$type = preg_replace(',^spip_|^id_|s$,', '', $type);
	if (!$type) return;
	if (isset($surnoms[$type]))
		return $surnoms[$type];

	if ($serveur!==false){
		$t=lister_tables_spip($serveur);
		$trouver_table = charger_fonction('trouver_table', 'base');
		$typetrim = rtrim($type,'s')."s";
		if (
		  (isset($t[$typetrim]) OR in_array($typetrim,$t))
		  AND ($desc = $trouver_table(rtrim($type,'s')."s",$serveur))
		  )
			return $desc['id_table'];
		elseif (
			(isset($t[$type]) OR in_array($type,$t))
			AND ($desc = $trouver_table($type,$serveur))
		  )
			return $desc['id_table'];

		spip_log( 'table_objet('.$type.') calculee sans verification');
	}

	return rtrim($type,'s')."s"; # cas historique ne devant plus servir, sauf si $serveur=false
}