当前位置: 首页>>代码示例>>PHP>>正文


PHP sql_select函数代码示例

本文整理汇总了PHP中sql_select函数的典型用法代码示例。如果您正苦于以下问题:PHP sql_select函数的具体用法?PHP sql_select怎么用?PHP sql_select使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了sql_select函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: revisions_repair_unserialized_fragments

function revisions_repair_unserialized_fragments()
{
    $res = sql_select("*", "spip_versions_fragments", "compress=" . intval(-1));
    $n = sql_count($res);
    spip_log("{$n} fragments a verifier", "maj");
    while ($row = sql_fetch($res)) {
        $fragment = $row['fragment'];
        $set = array('compress' => 0);
        // verifier que le fragment est bien serializable
        if (unserialize($fragment) === false and strncmp($fragment, "corrompu", 8) !== 0) {
            $dir_tmp = sous_repertoire(_DIR_TMP, "versions_fragments_corrompus");
            $set['fragment'] = revisions_repair_serialise($fragment);
            if (strncmp($set['fragment'], "corrompu", 8) == 0) {
                $f = $row['id_fragment'] . "-" . $row['objet'] . "-" . $row['id_objet'];
                spip_log("Fragment serialize corrompu {$f}", "maj" . _LOG_ERREUR);
                $f = $f . "-serialize.txt";
                ecrire_fichier($dir_tmp . $f, $fragment);
            }
        }
        sql_updateq("spip_versions_fragments", $set, $w = "id_fragment=" . intval($row['id_fragment']) . " AND id_objet=" . intval($row['id_objet']) . " AND objet=" . sql_quote($row['objet']) . " AND version_min=" . intval($row['version_min']));
        #spip_log($w,"maj");
        if (time() > _TIME_OUT) {
            return;
        }
    }
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:26,代码来源:revisions_administrations.php

示例2: formulaires_delete_traiter_dist

function formulaires_delete_traiter_dist($id_article = 'new', $retour = '', $ajaxload = 'oui')
{
    include_spip('base/abstract_sql');
    include_spip('inc/texte');
    include_spip('action/editer_article');
    include_spip('inc/autoriser');
    $article = _request('article');
    $id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
    include_spip('inc/autoriser');
    if (!autoriser('modifier', 'article', $article)) {
        $id_article = false;
        $result = sql_select('*', 'spip_auteurs_liens', 'id_objet=' . intval($article) . ' AND objet=' . sql_quote("article"));
        if ($row = sql_fetch($result)) {
            if ($row['id_auteur'] == $id_auteur) {
                $id_article = $article;
            }
        }
    } else {
        $id_article = $article;
    }
    if ($id_article) {
        // 2 actualizampos los campos del articulo
        sql_updateq('spip_articles', array('statut' => 'poubelle'), 'id_article=' . intval($id_article));
        // message
        return array("editable" => true, "message_ok" => _T('cgeomap:message_delete') . ':' . $id_article);
    } else {
        // message
        return array("editable" => false, "message_erreur" => _T('cgeomap:not_allowed'));
    }
}
开发者ID:horaciogd,项目名称:CGeomap,代码行数:30,代码来源:delete.php

示例3: formulaires_ecatalogue_article_option_charger_dist

function formulaires_ecatalogue_article_option_charger_dist($id_article)
{
    $valeurs = array();
    if ($res = sql_select('id_rubrique', 'spip_articles', 'id_article=' . $id_article)) {
        while ($r = sql_fetch($res)) {
            $id_rubrique = $r['id_rubrique'];
        }
    }
    $rubriques = array($id_rubrique);
    $rubrique_mdl = new PdkRubriqueModel();
    do {
        // get all parents id
        $rubrique = $rubrique_mdl->select_by_id($id_rubrique);
        $id_rubrique = $rubrique['id_parent'];
        $rubriques[] = $id_rubrique;
    } while ($id_rubrique != '0');
    $groupe_ids = array();
    if ($res = sql_select('id_groupe', 'spip_ecatalogue_rubriques_groupes', 'id_rubrique in (' . implode(',', $rubriques) . ')')) {
        while ($r = sql_fetch($res)) {
            $groupe_ids[] = $r['id_groupe'];
        }
    }
    $valeurs['groupe_ids'] = $groupe_ids;
    $ao_mdl = new ArticleOptionModel();
    $connections = $ao_mdl->select('id_article=' . $id_article);
    foreach ($connections as $connection) {
        $valeurs["options[" . $connection['id_option'] . "]"] = $connection['id_option'];
    }
    return $valeurs;
}
开发者ID:foobar64,项目名称:spip-ecatalogue,代码行数:30,代码来源:ecatalogue_article_option.php

示例4: migrer_articles

function migrer_articles($where_articles, $champ_date_debut, $champ_date_fin, $horaire, $where_mots)
{
    include_spip('action/editer_evenement');
    $where_mots = implode(' AND ', $where_mots);
    $nb = 0;
    $res = sql_select('*', 'spip_articles', $where_articles);
    while ($row = sql_fetch($res)) {
        $id_evenement = evenement_inserer($row['id_article']);
        // mettre les champs
        $set = array('date_debut' => $row[$champ_date_debut], 'date_fin' => $row[$champ_date_fin], 'titre' => $row['titre'], 'horaire' => $horaire ? 'oui' : 'non');
        evenement_modifier($id_evenement, $set);
        // associer les mots : en sql pour ne pas exploser si plein de mots en base
        $mots = sql_allfetsel('M.id_mot', 'spip_mots AS M JOIN spip_mots_liens AS L ON (M.id_mot=L.id_mot AND L.objet=' . sql_quote('article') . ')', 'id_objet=' . intval($row['id_article']) . ' AND (' . $where_mots . ')');
        if (count($mots)) {
            $insert = array();
            foreach ($mots as $mot) {
                $insert[] = array('id_mot' => $mot['id_mot'], 'objet' => 'evenement', 'id_objet' => $id_evenement);
            }
            sql_insertq_multi('spip_mots_liens', $insert);
        }
        // publier l'evenement
        evenement_modifier($id_evenement, array('statut' => 'publie'));
        $nb++;
    }
    return $nb;
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:26,代码来源:migrer_agenda.php

示例5: getAPIKey

/**
* url: /?p=api_key
* Returns api_key for user by basic authentication
* {
*   api_token: "TOKEN"
*  }
*/
function getAPIKey()
{
    header("Content-Type: application/json; charset=utf-8");
    $user = $_SERVER["PHP_AUTH_USER"];
    $password = $_SERVER["PHP_AUTH_PW"];
    if ($user == "" || $password == "") {
        // user is not authenticated
        header("WWW-Authenticate: Basic realm=Authorization Required");
        header("HTTP/1.1 401 unauthorized");
        echo "{\"error\": \"please send basic auth header\"}";
        die;
    } else {
        // check user
        $foundUser = sql_select("SELECT * FROM `User` WHERE `Nick`='" . sql_escape($user) . "'");
        // find user by username
        if (count($foundUser) == 1) {
            $user = $foundUser[0];
            if (verify_password($password, $user['Passwort'], $user['UID'])) {
                echo "{\"api_token\": \"" . $user["api_key"] . "\"}";
            }
        } else {
            // TODO: handle wrong auth
            header("HTTP/1.1 403 Forbidden");
            echo "{\"error\": \"forbidden\"}";
        }
        die;
    }
}
开发者ID:kekru,项目名称:engelsystem,代码行数:35,代码来源:api_key.php

示例6: formulaires_editer_json_article_traiter_dist

function formulaires_editer_json_article_traiter_dist($id_article = 'new', $retour = '')
{
    $message = array('editable' => true, 'message_ok' => '');
    $vhplab_json = _request('vhplab_json');
    $vhplab_json_num = intval($vhplab_json);
    if ($vhplab_json_num > 0) {
        // comprobamos si el articulo ya ha sido relacionado con un id
        $result = sql_select('*', 'spip_vhplab_json_liens', 'id_objet=' . intval($id_article) . ' AND objet=' . sql_quote("article"));
        if ($row = sql_fetch($result)) {
            // si el articulo ya ha sido relacionado con un id actualizamos el enlace
            sql_updateq('spip_vhplab_json', array('id_json' => $vhplab_json_num), 'id_vhplab_json=' . intval($row['id_vhplab_json']));
            $message['message_ok'] = _T('vhplab:json_update_ok');
        } else {
            // si el articulo no ha sido relacionado con ningún id creamos un enlace
            $id_vhplab = sql_insertq("spip_vhplab_json", array('id_json' => $vhplab_json_num));
            sql_insertq('spip_vhplab_json_liens', array('id_vhplab_json' => intval($id_vhplab), 'id_objet' => intval($id_article), 'objet' => 'article'));
            $message['message_ok'] = _T('vhplab:json_insert_ok');
        }
    }
    if ($retour) {
        include_spip('inc/headers');
        $message['message_ok'] .= redirige_formulaire($retour);
    }
    return $message;
}
开发者ID:horaciogd,项目名称:CGeomap,代码行数:25,代码来源:editer_json_article.php

示例7: action_documenter_post

function action_documenter_post($r)
{
	// - sign indique le portfolio image ou document, dans le cas de
	// la page exec=articles
	// - id est l'id_objet (id_article ou id_rubrique etc)
	// - type est 'article' (ou 'rubrique')
	// - id_document le doc a supprimer ou a delier de l'objet
	//   SI VIDE, on supprime tous les documents du type SIGN
	//   (bouton "supprimer tous les documents")
	list(, $sign, $id, $type, ,$id_document) = $r;

	if ($id_document) {
		supprimer_lien_document($id_document, $type, $id);
	}
	else {
		$obj = "id_objet=".intval($id)." AND objet=".sql_quote($type);
		$typdoc = sql_in('docs.extension', array('gif', 'jpg', 'png'), $sign  ? '' : 'NOT');

		$s = sql_select('docs.id_document AS id_doc', "spip_documents AS docs LEFT JOIN spip_documents_liens AS l ON l.id_document=docs.id_document", "$obj AND docs.mode='document' AND $typdoc");
		while ($t = sql_fetch($s)) {
			supprimer_lien_document($t['id_doc'], $type, $id);
		}
	}

	if ($type == 'rubrique') {
		include_spip('inc/rubriques');
		depublier_branche_rubrique_if($id);
	}
}
开发者ID:rhertzog,项目名称:lcs,代码行数:29,代码来源:documenter.php

示例8: __construct

 function __construct($userid = 0, $server = "", $database = "", $username = "", $password = "")
 {
     $this->userid = $userid;
     $this->server_mysql = $server;
     $this->user_mysql = $username;
     $this->passw_mysql = $password;
     $this->database_mysql = $database;
     //
     if ($server == "" or $database == "" or $username == "" or $password == "") {
         // busca datos de conexion
         echo "<pre>";
         echo "server_mysql----->{$this->server_mysql}<br>";
         echo "database_mysql--->{$this->database_mysql}<br>";
         echo "user_mysql------->{$this->user_mysql}<br>";
         echo "pass_mysql------->{$this->passw_mysql}<br>";
         echo "</pre>";
         //
         $query = "SELECT  `id`,`username`,`password`,`server`,`database`\n                    FROM    `users`\n                    WHERE   `usertype`='mysql' AND\n                            `userid`={$userid}";
         echo "query---->{$query}<br>";
         if (sql_select($query, $results)) {
             if ($connection = $results->fetch(PDO::FETCH_ASSOC)) {
                 $this->server_mysql = $connection['server'];
                 $this->database_mysql = $connection['database'];
                 $this->user_mysql = $connection['username'];
                 $this->passw_mysql = $connection['password'];
             }
         }
     }
     $this->rowCount = 0;
     if (!($this->dblink = new PDO('mysql:host=' . $this->server_mysql . ';dbname=' . $this->database_mysql . ';charset=utf8', $this->user_mysql, $this->passw_mysql))) {
         echo "No es posible conectar con la base de datos " . $base_datos . "<br>";
         return false;
     }
 }
开发者ID:pjg711,项目名称:alerta-sondas-detenidas,代码行数:34,代码来源:class_imetos.php

示例9: action_supprimer_rubrique

function action_supprimer_rubrique($r)
{
	list(,,$id_rubrique) = $r;
	sql_delete("spip_rubriques", "id_rubrique=$id_rubrique");
	sql_delete("spip_mots_rubriques", "id_rubrique=$id_rubrique");
	// Les admin restreints qui n'administraient que cette rubrique
	// deviennent redacteurs
	// (il y a sans doute moyen de faire ca avec un having)

	$q = sql_select("id_auteur", "spip_auteurs_rubriques", "id_rubrique=$id_rubrique");

	while ($r = sql_fetch($q)) {
		$id_auteur = $r['id_auteur'];
		sql_delete("spip_auteurs_rubriques", "id_rubrique=$id_rubrique AND id_auteur=$id_auteur");
		$n = sql_countsel("spip_auteurs_rubriques", "id_auteur=$id_auteur");
		if (!$n)
			sql_updateq("spip_auteurs", array("statut" => '1comite'), "id_auteur=$id_auteur");
	}
	// menu_rubriques devra recalculer
	effacer_meta("date_calcul_rubriques");

	// Une rubrique supprimable n'avait pas le statut "publie"
	// donc rien de neuf pour la rubrique parente
	include_spip('inc/rubriques');
	calculer_langues_rubriques();

	// invalider les caches marques de cette rubrique
	include_spip('inc/invalideur');
	suivre_invalideur("id='id_rubrique/$id_rubrique'");
}
开发者ID:rhertzog,项目名称:lcs,代码行数:30,代码来源:supprimer.php

示例10: optimiser_base_revisions

/**
 * Supprimer les révisions des objets disparus
 */
function optimiser_base_revisions()
{
    /**
     * On commence par récupérer la liste des types d'objet ayant au moins une révision
     */
    $objets_revises = sql_select('objet', 'spip_versions', 'id_version=1', 'objet');
    /**
     * Pour chaque objet, on va contruire un tableau des identifiants disparus
     * On supprimera ensuite les occurences dans spip_versions et spip_versions_fragments
     */
    while ($objet = sql_fetch($objets_revises)) {
        $in = array();
        $table = table_objet_sql($objet['objet']);
        $id_table_objet = id_table_objet($objet['objet']);
        $res = sql_select("A.id_objet AS id_objet, A.objet AS objet", "spip_versions AS A LEFT JOIN {$table} AS R\n\t\t\t\t\t\t\tON R.{$id_table_objet}=A.id_objet AND A.objet=" . sql_quote($objet['objet']), "R.{$id_table_objet} IS NULL AND A.objet=" . sql_quote($objet['objet']) . " AND A.id_objet > 0", "A.id_objet", "A.id_objet");
        while ($row = sql_fetch($res)) {
            $in[$row['id_objet']] = true;
        }
        sql_free($res);
        /**
         * Si on a un array
         * On supprime toute occurence des objets disparus dans :
         * -* spip_versions
         * -* spip_versions_fragments
         */
        if ($in) {
            foreach (array('spip_versions', 'spip_versions_fragments') as $table) {
                sql_delete($table, sql_in('id_objet', array_keys($in)) . " AND objet=" . sql_quote($objet['objet']));
            }
        }
    }
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:35,代码来源:optimiser_revisions.php

示例11: action_supprimer_rubrique_dist

/**
 * Effacer une rubrique
 *
 * http://doc.spip.org/@action_supprimer_dist
 *
 * @param null $id_rubrique
 * @return void
 */
function action_supprimer_rubrique_dist($id_rubrique = null)
{
    if (is_null($id_rubrique)) {
        $securiser_action = charger_fonction('securiser_action', 'inc');
        $id_rubrique = $securiser_action();
    }
    if (intval($id_rubrique)) {
        sql_delete("spip_rubriques", "id_rubrique=" . intval($id_rubrique));
        // Les admin restreints qui n'administraient que cette rubrique
        // deviennent redacteurs
        // (il y a sans doute moyen de faire ca avec un having)
        $q = sql_select("id_auteur", "spip_auteurs_liens", "objet='rubrique' AND id_objet=" . intval($id_rubrique));
        while ($r = sql_fetch($q)) {
            $id_auteur = $r['id_auteur'];
            // degrader avant de supprimer la restriction d'admin
            // section critique sur les droits
            $n = sql_countsel("spip_auteurs_liens", "objet='rubrique' AND id_objet!=" . intval($id_rubrique) . " AND id_auteur=" . intval($id_auteur));
            if (!$n) {
                include_spip('action/editer_auteur');
                auteurs_set($id_auteur, array("statut" => '1comite'));
            }
            sql_delete("spip_auteurs_liens", "objet='rubrique' AND id_objet=" . intval($id_rubrique) . " AND id_auteur=" . intval($id_auteur));
        }
        // menu_rubriques devra recalculer
        effacer_meta("date_calcul_rubriques");
        // Une rubrique supprimable n'avait pas le statut "publie"
        // donc rien de neuf pour la rubrique parente
        include_spip('inc/rubriques');
        calculer_langues_rubriques();
        // invalider les caches marques de cette rubrique
        include_spip('inc/invalideur');
        suivre_invalideur("id='rubrique/{$id_rubrique}'");
    }
}
开发者ID:nursit,项目名称:SPIP,代码行数:42,代码来源:supprimer_rubrique.php

示例12: exec_editer_mots_args

function exec_editer_mots_args($id_objet, $objet)
{
	$base="";
	if (!$id_objet OR !$objet)
		$droit = false;
	elseif ($GLOBALS['connect_toutes_rubriques']) // pour eviter SQL
		$droit = true;
	elseif ($objet == 'article')
		$droit = autoriser('modifier','article',$id_objet);
	elseif ($objet == 'rubrique')
		$droit = autoriser('publierdans','rubrique',$id_objet);
	else {
		if ($objet == 'breve')
			$droit = sql_select("id_rubrique", "spip_breves", "id_breve=".sql_quote($id_objet));
		else
			$droit = sql_select("id_rubrique", "spip_syndic", "id_syndic=".sql_quote($id_objet));
		$droit = autoriser('publierdans','rubrique',$droit['id_rubrique']);
	}
	$bases = array('article'=>'articles','breve'=>'breves_voir','rubrique'=>'naviguer','syndic'=>'sites');
	if (isset($bases[$objet]))
		$base = $bases[$objet];

	if (!$droit) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

		$ch = _request('cherche_mot');
		$id_groupe = _request('select_groupe');
		$editer_mots = charger_fonction('editer_mots', 'inc');
		ajax_retour($editer_mots($objet, $id_objet, $ch, $id_groupe, 'ajax',false,$base)); 
	}
}
开发者ID:rhertzog,项目名称:lcs,代码行数:33,代码来源:editer_mots.php

示例13: inc_bank_editer_ticket_admin_dist

/**
 * Generer un ticket resume de la transaction
 * pour les admins indiques dans la configuration
 * 
 * @param <type> $id_transaction
 * @return <type>
 */
function inc_bank_editer_ticket_admin_dist($id_transaction)
{
    // il faut avoir configure un ou des emails de notification
    $c = unserialize($GLOBALS['meta']['bank_paiement']);
    if (!strlen($email = $c['email_ticket_admin'])) {
        spip_log(var_export($GLOBALS['meta']['bank_paiement'], true), 'bank_ticket');
        return;
    }
    $ticket = "";
    $res = sql_select("*", "spip_transactions", "id_transaction=" . intval($id_transaction));
    if ($row = sql_fetch($res)) {
        $montant = $row['montant_regle'];
        $ticket .= "<h2>Transaction {$id_transaction}</h2>\n<table border='1'>";
        foreach ($row as $k => $v) {
            $ticket .= "<tr><td>{$k}</td><td>{$v}</td>";
        }
        $ticket .= "</table>";
    }
    // ensuite un pipeline pour editer le ticket
    $ticket = pipeline('bank_editer_ticket_reglement', array('args' => array('id_transaction' => $id_transaction), 'data' => $ticket));
    $ticket = "<html>{$ticket}</html>";
    $header = "MIME-Version: 1.0\n" . "Content-Type: text/html; charset=" . $GLOBALS['meta']['charset'] . "\n" . "Content-Transfer-Encoding: 8bit\n";
    $sujet = "Transaction OK #{$id_transaction} [" . affiche_monnaie($montant) . "]";
    $url = parse_url($GLOBALS['meta']['adresse_site']);
    $envoyer_mail = charger_fonction('envoyer_mail', 'inc');
    $envoyer_mail($email, $sujet, $ticket, 'reglements@' . $url['host'], $header);
}
开发者ID:rougerose,项目名称:bank,代码行数:34,代码来源:bank_editer_ticket_admin.php

示例14: precharger_objet

/**
 * Retourne les valeurs à charger pour un formulaire d'édition d'un objet
 *
 * Lors d'une création, certains champs peuvent être préremplis
 * (c'est le cas des traductions)
 *
 * @param string $type
 *     Type d'objet (article, breve...)
 * @param string|int $id_objet
 *     Identifiant de l'objet, ou "new" pour une création
 * @param int $id_rubrique
 *     Identifiant éventuel de la rubrique parente
 * @param int $lier_trad
 *     Identifiant éventuel de la traduction de référence
 * @param string $champ_titre
 *     Nom de la colonne SQL de l'objet donnant le titre : pas vraiment idéal !
 *     On devrait pouvoir le savoir dans la déclaration de l'objet
 * @return array
 *     Couples clés / valeurs des champs du formulaire à charger.
 **/
function precharger_objet($type, $id_objet, $id_rubrique = 0, $lier_trad = 0, $champ_titre = 'titre')
{
    $table = table_objet_sql($type);
    $_id_objet = id_table_objet($table);
    // si l'objet existe deja, on retourne simplement ses valeurs
    if (is_numeric($id_objet)) {
        return sql_fetsel("*", $table, "{$_id_objet}={$id_objet}");
    }
    // ici, on demande une creation.
    // on prerempli certains elements : les champs si traduction,
    // les id_rubrique et id_secteur si l'objet a ces champs
    $desc = lister_tables_objets_sql($table);
    # il faudrait calculer $champ_titre ici
    $is_rubrique = isset($desc['field']['id_rubrique']);
    $is_secteur = isset($desc['field']['id_secteur']);
    // si demande de traduction
    // on recupere les valeurs de la traduction
    if ($lier_trad) {
        if ($select = charger_fonction("precharger_traduction_" . $type, 'inc', true)) {
            $row = $select($id_objet, $id_rubrique, $lier_trad);
        } else {
            $row = precharger_traduction_objet($type, $id_objet, $id_rubrique, $lier_trad, $champ_titre);
        }
    } else {
        $row[$champ_titre] = '';
        if ($is_rubrique) {
            $row['id_rubrique'] = $id_rubrique;
        }
    }
    // calcul de la rubrique
    # note : comment faire pour des traductions sur l'objet rubriques ?
    if ($is_rubrique) {
        // appel du script a la racine, faut choisir
        // admin restreint ==> sa premiere rubrique
        // autre ==> la derniere rubrique cree
        if (!$row['id_rubrique']) {
            if ($GLOBALS['connect_id_rubrique']) {
                $row['id_rubrique'] = $id_rubrique = current($GLOBALS['connect_id_rubrique']);
            } else {
                $row_rub = sql_fetsel("id_rubrique", "spip_rubriques", "", "", "id_rubrique DESC", 1);
                $row['id_rubrique'] = $id_rubrique = $row_rub['id_rubrique'];
            }
            if (!autoriser('creerarticledans', 'rubrique', $row['id_rubrique'])) {
                // manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
                $res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0");
                while (!autoriser('creerarticledans', 'rubrique', $row['id_rubrique']) && ($row_rub = sql_fetch($res))) {
                    $row['id_rubrique'] = $row_rub['id_rubrique'];
                }
            }
        }
    }
    // recuperer le secteur, pour affecter les bons champs extras
    if ($id_rubrique and $is_secteur) {
        if (!$row['id_secteur']) {
            $row_rub = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=" . sql_quote($id_rubrique));
            $row['id_secteur'] = $row_rub;
        }
    }
    return $row;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:80,代码来源:precharger_objet.php

示例15: admin_repair_plat

function admin_repair_plat(){
	spip_log("verification des documents joints");
	$out = "";
	$repertoire = array();
	include_spip('inc/getdocument');
	$res = sql_select('*','spip_documents',"fichier REGEXP CONCAT('^',extension,'[^/\]') AND distant='non'");

	while ($row=sql_fetch($res)){
		$ext = $row['extension'];
		if (!$ext) {
			spip_log("document sans extension: " . $row['id_document']);
			continue;
		}
		if (!isset($repertoire[$ext])){
			if (@file_exists($plat = _DIR_IMG. $ext .".plat"))
				spip_unlink($plat);
			$repertoire[$ext] = creer_repertoire_documents($ext);
			if (preg_match(',_$,',$repertoire[$ext]))
				$repertoire[$ext] = false;
		}
		if ($d=$repertoire[$ext]){
			$d = substr($d,strlen(_DIR_IMG));
			$src = $row['fichier'];
			$dest = $d . substr($src,strlen($d));
			if (deplacer_fichier_upload(_DIR_IMG . $src, _DIR_IMG . $dest)) {
				sql_updateq('spip_documents',array('fichier'=>$dest),'id_document='.intval($row['id_document']));
				spip_unlink(_DIR_IMG . $src);
				$out .= "$src => $dest<br />";				
			}
		}
	}

	return $out;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:34,代码来源:admin_repair.php


注:本文中的sql_select函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。