/** * Rècupère une ligne de résultat * * Récupère la ligne suivante d'une ressource de résultat * * @param Ressource $r Ressource de résultat (issu de sql_select) * @param string $t Structure de résultat attendu (défaut ASSOC) * @param string $serveur Nom de la connexion * @param bool $requeter Inutilisé * @return array Ligne de résultat */ function spip_sqlite_fetch($r, $t = '', $serveur = '', $requeter = true) { $link = _sqlite_link($serveur); $is_v3 = _sqlite_is_version(3, $link); if (!$t) { $t = $is_v3 ? SPIP_SQLITE3_ASSOC : SPIP_SQLITE2_ASSOC; } $retour = false; if ($r) { $retour = $is_v3 ? $r->fetch($t) : sqlite_fetch_array($r, $t); } // les version 2 et 3 parfois renvoie des 'table.titre' au lieu de 'titre' tout court ! pff ! // suppression de 'table.' pour toutes les cles (c'est un peu violent !) // c'est couteux : on ne verifie que la premiere ligne pour voir si on le fait ou non if ($retour and strpos(implode('', array_keys($retour)), '.') !== false) { foreach ($retour as $cle => $val) { if (($pos = strpos($cle, '.')) !== false) { $retour[substr($cle, $pos + 1)] =& $retour[$cle]; unset($retour[$cle]); } } } return $retour; }