本文整理汇总了PHP中supprimer_fichier函数的典型用法代码示例。如果您正苦于以下问题:PHP supprimer_fichier函数的具体用法?PHP supprimer_fichier怎么用?PHP supprimer_fichier使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了supprimer_fichier函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: inc_meta_dist
function inc_meta_dist($table = 'meta')
{
// Lire les meta, en cache si present, valide et lisible
// en cas d'install ne pas faire confiance au meta_cache eventuel
$cache = cache_meta($table);
if ((_request('exec') !== 'install' or !test_espace_prive()) and $new = jeune_fichier($cache, _META_CACHE_TIME) and lire_fichier_securise($cache, $meta) and $meta = @unserialize($meta)) {
$GLOBALS[$table] = $meta;
}
if (isset($GLOBALS[$table]['touch']) and $GLOBALS[$table]['touch'] < time() - _META_CACHE_TIME) {
$GLOBALS[$table] = array();
}
// sinon lire en base
if (!$GLOBALS[$table]) {
$new = !lire_metas($table);
}
// renouveller l'alea general si trop vieux ou sur demande explicite
if (test_espace_prive() || isset($_GET['renouvelle_alea']) and $GLOBALS[$table] and time() > _RENOUVELLE_ALEA + $GLOBALS['meta']['alea_ephemere_date']) {
// si on n'a pas l'acces en ecriture sur le cache,
// ne pas renouveller l'alea sinon le cache devient faux
if (supprimer_fichier($cache)) {
include_spip('inc/acces');
renouvelle_alea();
$new = false;
} else {
spip_log("impossible d'ecrire dans " . $cache);
}
}
// et refaire le cache si on a du lire en base
if (!$new) {
touch_meta(false, $table);
}
}
示例2: cfg_php_enregistrer_fichier
function cfg_php_enregistrer_fichier($fichier, $contenu)
{
if (is_null($contenu)) {
return supprimer_fichier($fichier);
}
$contenu = '<?php
/**************
* Config ecrite par CFG le ' . date('r') . '
*
* NE PAS EDITER MANUELLEMENT !
***************/
$cfg = ' . var_export($contenu, true) . ';
?>
';
return ecrire_fichier($fichier, $contenu);
}
示例3: recuperer_lapage
function recuperer_lapage($url, $trans = false, $get = 'GET', $taille_max = _INC_DISTANT_MAX_SIZE, $datas = '', $refuser_gz = false, $date_verif = '', $uri_referer = '')
{
// $copy = copier le fichier ?
$copy = (is_string($trans) and strlen($trans) > 5);
// eviter "false" :-)
// si on ecrit directement dans un fichier, pour ne pas manipuler
// en memoire refuser gz
if ($copy) {
$refuser_gz = true;
}
// ouvrir la connexion et envoyer la requete et ses en-tetes
list($f, $fopen) = init_http($get, $url, $refuser_gz, $uri_referer, $datas, _INC_DISTANT_VERSION_HTTP, $date_verif);
if (!$f) {
spip_log("ECHEC init_http {$url}");
return false;
}
// Sauf en fopen, envoyer le flux d'entree
// et recuperer les en-tetes de reponses
if ($fopen) {
$headers = '';
} else {
$headers = recuperer_entetes($f, $date_verif);
if (is_numeric($headers)) {
fclose($f);
// Chinoisierie inexplicable pour contrer
// les actions liberticides de l'empire du milieu
if ($headers) {
spip_log("HTTP status {$headers} pour {$url}");
return false;
} elseif ($result = @file_get_contents($url)) {
return array('', $result);
} else {
return false;
}
}
if (!is_array($headers)) {
// cas Location
fclose($f);
include_spip('inc/filtres');
return suivre_lien($url, $headers);
}
$headers = join('', $headers);
}
if ($trans === NULL) {
return array($headers, '');
}
// s'il faut deballer, le faire via un fichier temporaire
// sinon la memoire explose pour les gros flux
$gz = preg_match(",\\bContent-Encoding: .*gzip,is", $headers) ? _DIR_TMP . md5(uniqid(mt_rand())) . '.tmp.gz' : '';
# spip_log("entete ($trans $copy $gz)\n$headers");
$result = recuperer_body($f, $taille_max, $gz ? $gz : ($copy ? $trans : ''));
fclose($f);
if (!$result) {
return array($headers, $result);
}
// Decompresser au besoin
if ($gz) {
$result = join('', gzfile($gz));
supprimer_fichier($gz);
}
// Faut-il l'importer dans notre charset local ?
if ($trans === true) {
include_spip('inc/charsets');
$result = transcoder_page($result, $headers);
}
return array($headers, $result);
}
示例4: recuperer_url
//.........这里部分代码省略.........
$head .= 'Content-Length: ' . strlen($postdata);
}
$options['datas'] = $head . "\r\n\r\n" . $postdata;
}
// Accepter les URLs au format feed:// ou qui ont oublie le http:// ou les urls relatives au protocole
$url = preg_replace(',^feed://,i', 'http://', $url);
if (!tester_url_absolue($url)) {
$url = 'http://' . $url;
} elseif (strncmp($url, "//", 2) == 0) {
$url = 'http:' . $url;
}
$result = array('status' => 0, 'headers' => '', 'page' => '', 'length' => 0, 'last_modified' => '', 'location' => '', 'url' => $url);
// si on ecrit directement dans un fichier, pour ne pas manipuler en memoire refuser gz
$refuser_gz = ($options['refuser_gz'] or $copy) ? true : false;
// ouvrir la connexion et envoyer la requete et ses en-tetes
list($handle, $fopen) = init_http($options['methode'], $url, $refuser_gz, $options['uri_referer'], $options['datas'], $options['version_http'], $options['if_modified_since']);
if (!$handle) {
spip_log("ECHEC init_http {$url}");
return false;
}
// Sauf en fopen, envoyer le flux d'entree
// et recuperer les en-tetes de reponses
if (!$fopen) {
$res = recuperer_entetes_complets($handle, $options['if_modified_since']);
if (!$res) {
fclose($handle);
$t = @parse_url($url);
$host = $t['host'];
// Chinoisierie inexplicable pour contrer
// les actions liberticides de l'empire du milieu
if (!need_proxy($host) and $res = @file_get_contents($url)) {
$result['length'] = strlen($res);
if ($copy) {
ecrire_fichier($copy, $res);
$result['file'] = $copy;
} else {
$result['page'] = $res;
}
$res = array('status' => 200);
} else {
return false;
}
} elseif ($res['location'] and $options['follow_location']) {
$options['follow_location']--;
fclose($handle);
include_spip('inc/filtres');
$url = suivre_lien($url, $res['location']);
spip_log("recuperer_url recommence sur {$url}");
return recuperer_url($url, $options);
} elseif ($res['status'] !== 200) {
spip_log("HTTP status " . $res['status'] . " pour {$url}");
}
$result['status'] = $res['status'];
if (isset($res['headers'])) {
$result['headers'] = $res['headers'];
}
if (isset($res['last_modified'])) {
$result['last_modified'] = $res['last_modified'];
}
if (isset($res['location'])) {
$result['location'] = $res['location'];
}
}
// on ne veut que les entetes
if (!$options['taille_max'] or $options['methode'] == 'HEAD' or $result['status'] == "304") {
return $result;
}
// s'il faut deballer, le faire via un fichier temporaire
// sinon la memoire explose pour les gros flux
$gz = false;
if (preg_match(",\\bContent-Encoding: .*gzip,is", $result['headers'])) {
$gz = _DIR_TMP . md5(uniqid(mt_rand())) . '.tmp.gz';
}
// si on a pas deja recuperer le contenu par une methode detournee
if (!$result['length']) {
$res = recuperer_body($handle, $options['taille_max'], $gz ? $gz : $copy);
fclose($handle);
if ($copy) {
$result['length'] = $res;
$result['file'] = $copy;
} elseif ($res) {
$result['page'] =& $res;
$result['length'] = strlen($result['page']);
}
}
if (!$result['page']) {
return $result;
}
// Decompresser au besoin
if ($gz) {
$result['page'] = implode('', gzfile($gz));
supprimer_fichier($gz);
}
// Faut-il l'importer dans notre charset local ?
if ($options['transcoder']) {
include_spip('inc/charsets');
$result['page'] = transcoder_page($result['page'], $result['headers']);
}
return $result;
}
示例5: retire_cache
function retire_cache($cache)
{
if (preg_match("|^([0-9a-f]/)?([0-9]+/)?[^.][\\-_\\%0-9a-z]+--[0-9a-f]+(\\.gz)?\$|i", $cache)) {
// supprimer le fichier (de facon propre)
supprimer_fichier(_DIR_CACHE . $cache);
} else {
spip_log("Nom de fichier cache incorrect : {$cache}");
}
}
示例6: public_cacher_dist
/**
* Interface du gestionnaire de cache
* Si son 3e argument est non vide, elle passe la main a creer_cache
* Sinon, elle recoit un contexte (ou le construit a partir de REQUEST_URI)
* et affecte les 4 autres parametres recus par reference:
* - use_cache qui vaut
* -1 s'il faut calculer la page sans la mettre en cache
* 0 si on peut utiliser un cache existant
* 1 s'il faut calculer la page et la mettre en cache
* - chemin_cache qui est le chemin d'acces au fichier ou vide si pas cachable
* - page qui est le tableau decrivant la page, si le cache la contenait
* - lastmodified qui vaut la date de derniere modif du fichier.
* Elle retourne '' si tout va bien
* un message d'erreur si le calcul de la page est totalement impossible
*
* http://code.spip.net/@public_cacher_dist
*
* @param array $contexte
* @param int $use_cache
* @param string $chemin_cache
* @param array $page
* @param int $lastmodified
* @return string|void
*/
function public_cacher_dist($contexte, &$use_cache, &$chemin_cache, &$page, &$lastmodified)
{
# fonction de cache minimale : dire "non on ne met rien en cache"
# $use_cache = -1; return;
// Second appel, destine a l'enregistrement du cache sur le disque
if (isset($chemin_cache)) {
return creer_cache($page, $chemin_cache);
}
// Toute la suite correspond au premier appel
$contexte_implicite = $page['contexte_implicite'];
// Cas ignorant le cache car completement dynamique
if ($_SERVER['REQUEST_METHOD'] == 'POST' or _request('connect')) {
$use_cache = -1;
$lastmodified = 0;
$chemin_cache = "";
$page = array();
return;
}
// Controler l'existence d'un cache nous correspondant
$chemin_cache = generer_nom_fichier_cache($contexte, $page);
$lastmodified = 0;
// charger le cache s'il existe (et si il a bien le bon hash = anticollision)
if (!($page = lire_cache($chemin_cache))) {
$page = array();
}
// s'il est sessionne, charger celui correspondant a notre session
if (isset($page['invalideurs']) and isset($page['invalideurs']['session'])) {
$chemin_cache_session = generer_nom_fichier_cache(array("chemin_cache" => $chemin_cache), array("session" => spip_session()));
if ($page_session = lire_cache($chemin_cache_session) and $page_session['lastmodified'] >= $page['lastmodified']) {
$page = $page_session;
} else {
$page = array();
}
}
// Faut-il effacer des pages invalidees (en particulier ce cache-ci) ?
if (isset($GLOBALS['meta']['invalider'])) {
// ne le faire que si la base est disponible
if (spip_connect()) {
include_spip('inc/invalideur');
retire_caches($chemin_cache);
# API invalideur inutile
supprimer_fichier(_DIR_CACHE . $chemin_cache);
if (isset($chemin_cache_session) and $chemin_cache_session) {
supprimer_fichier(_DIR_CACHE . $chemin_cache_session);
}
}
}
// Si un calcul, recalcul [ou preview, mais c'est recalcul] est demande,
// on supprime le cache
if (defined('_VAR_MODE') && _VAR_MODE && (isset($_COOKIE['spip_session']) || isset($_COOKIE['spip_admin']) || @file_exists(_ACCESS_FILE_NAME))) {
$page = array('contexte_implicite' => $contexte_implicite);
// ignorer le cache deja lu
include_spip('inc/invalideur');
retire_caches($chemin_cache);
# API invalideur inutile
supprimer_fichier(_DIR_CACHE . $chemin_cache);
if (isset($chemin_cache_session) and $chemin_cache_session) {
supprimer_fichier(_DIR_CACHE . $chemin_cache_session);
}
}
// $delais par defaut
// pour toutes les pages sans #CACHE{} hors modeles/ et espace privé
// qui sont a cache nul par defaut
if (!isset($GLOBALS['delais'])) {
if (!defined('_DUREE_CACHE_DEFAUT')) {
define('_DUREE_CACHE_DEFAUT', 24 * 3600);
}
$GLOBALS['delais'] = _DUREE_CACHE_DEFAUT;
}
// determiner la validite de la page
if ($page) {
$use_cache = cache_valide($page, isset($page['lastmodified']) ? $page['lastmodified'] : 0);
// le contexte implicite n'est pas stocke dans le cache, mais il y a equivalence
// par le nom du cache. On le reinjecte donc ici pour utilisation eventuelle au calcul
$page['contexte_implicite'] = $contexte_implicite;
if (!$use_cache) {
//.........这里部分代码省略.........
示例7: spip_unlink
/**
* Supprimer brutalement un fichier, s'il existe
*
* @param string $f
* Chemin du fichier
*/
function spip_unlink($f)
{
if (!is_dir($f)) {
supprimer_fichier($f, false);
} else {
@unlink("{$f}/.ok");
@rmdir($f);
}
}
示例8: cs_initialise_includes
//.........这里部分代码省略.........
// css inline
$temp = array("<style type=\"text/css\">\n$temp_css\n</style>");
if(is_array($cs_metas_pipelines['header_css'])) $temp = array_merge($temp, $cs_metas_pipelines['header_css']);
$cs_metas_pipelines['header_css'] = $cs_metas_pipelines['header_css_prive'] = join("\n", $temp);
}
unset($temp_css);
}
if(count($temp_jq_init)) {
$temp_js[] = "var cs_init = function() {\n\t".join("\n\t", $temp_jq_init)."\n}\nif(typeof onAjaxLoad=='function') onAjaxLoad(cs_init);";
$temp_jq[] = "cs_init.apply(document);";
unset($temp_jq_init);
}
$temp_jq = count($temp_jq)?"\njQuery(document).ready(function(){\n\t".join("\n\t", $temp_jq)."\n});":'';
$temp_js[] = "if(window.jQuery) {\nvar cs_sel_jQuery=typeof jQuery(document).selector=='undefined'?'@':'';\nvar cs_CookiePlugin=\"<cs_html>#CHEMIN{javascript/jquery.cookie.js}</cs_html>\";$temp_jq\n}";
unset($temp_jq);
if(count($temp_js)) {
$temp_js = "var cs_prive=window.location.pathname.match(/\\/ecrire\\/\$/)!=null;
jQuery.fn.cs_todo=function(){return this.not('.cs_done').addClass('cs_done');};\n" . join("\n", $temp_js);
if(function_exists('compacte_js')) $temp_js = compacte_js($temp_js);
if(strlen($temp_js)>_CS_HIT_EXTERNE) {
// hit externe
$cs_metas_pipelines['header_js_ext'] = $temp_js;
} else {
// js inline
$temp = array("<script type=\"text/javascript\"><!--\n$temp_js\n// --></script>\n");
if(is_array($cs_metas_pipelines['header_js'])) $temp = array_merge($temp, $cs_metas_pipelines['header_js']);
$cs_metas_pipelines['header_js'] = $cs_metas_pipelines['header_js_prive'] = join("\n", $temp);
}
unset($temp_js);
}
// effacement du repertoire temporaire de controle
if(@file_exists(_DIR_CS_TMP) && ($handle = @opendir(_DIR_CS_TMP))) {
while (($fichier = @readdir($handle)) !== false)
if($fichier[0] != '.') supprimer_fichier(_DIR_CS_TMP.$fichier);
closedir($handle);
} else spip_log('Erreur - cs_initialise_includes() : '._DIR_CS_TMP.' introuvable !');
// join final...
foreach(array('css', 'js') as $type) {
$f = 'header_'.$type;
if(isset($cs_metas_pipelines[$temp = $f.'_ext'])) {
$fichier_dest = _DIR_CS_TMP . "header.$type.html";
if(!ecrire_fichier($fichier_dest, $cs_metas_pipelines[$temp], true)) cs_log("ERREUR ECRITURE : $fichier_dest");
unset($cs_metas_pipelines[$temp]);
$infos_pipelines['header_prive']['inline'][] = "cs_header_hit(\$flux, '$type', '_prive');";
$infos_pipelines['insert_head'.($type=='css'?'_css':'')]['inline'][] = "cs_header_hit(\$flux, '$type');";
}
}
// SPIP 2.0 ajoute les parametres "TYPO" et $connect aux fonctions typo() et propre()
$liste_pivots = defined('_SPIP19300')
?array(
// Fonctions pivots : on peut en avoir plusieurs pour un meme traitement
// Exception : 'typo' et 'propre' ne cohabitent pas ensemble
'typo' => defined('_TRAITEMENT_TYPO')?_TRAITEMENT_TYPO:'typo(%s,"TYPO",$connect)', // guillemets doubles requises pour le compilo
'propre' => defined('_TRAITEMENT_RACCOURCIS')?_TRAITEMENT_RACCOURCIS:'propre(%s,$connect)',
):array(
'typo' => 'typo(%s)',
'propre' => 'propre(%s)',
);
// mise en code des traitements trouves
$traitements_post_propre = 0;
foreach($traitements_utilises as $bal=>$balise) {
foreach($balise as $obj=>$type_objet) {
// ici, on fait attention de ne pas melanger propre et typo
if(array_key_exists('typo', $type_objet) && array_key_exists('propre', $type_objet)) die(_T('couteauprive:erreur:traitements'));
$traitements_type_objet = &$traitements_utilises[$bal][$obj];
foreach($type_objet as $f=>$fonction) {
示例9: public_cacher_dist
function public_cacher_dist($contexte, &$use_cache, &$chemin_cache, &$page, &$lastmodified) {
// Second appel, destine a l'enregistrement du cache sur le disque
if (isset($chemin_cache)) return creer_cache($page, $chemin_cache);
// Toute la suite correspond au premier appel
$contexte_implicite = $page['contexte_implicite'];
// Cas ignorant le cache car completement dynamique
if ($_SERVER['REQUEST_METHOD'] == 'POST'
OR (substr($contexte_implicite['cache'],0,8)=='modeles/')
OR (_request('connect'))
// Mode auteur authentifie appelant de ecrire/ : il ne faut rien lire du cache
// et n'y ecrire que la compilation des squelettes (pas les pages produites)
// car les references aux repertoires ne sont pas relatifs a l'espace public
OR test_espace_prive()) {
$use_cache = -1;
$lastmodified = 0;
$chemin_cache = "";
$page = array();
return;
}
// Controler l'existence d'un cache nous correspondant
$chemin_cache = generer_nom_fichier_cache($contexte, $page);
$lastmodified = 0;
// charger le cache s'il existe
if (lire_fichier(_DIR_CACHE . $chemin_cache, $page))
$page = @unserialize($page);
else
$page = array();
// s'il est sessionne, charger celui correspondant a notre session
if (isset($page['invalideurs'])
AND isset($page['invalideurs']['session'])) {
$chemin_cache_session = $chemin_cache . '_' . spip_session();
if (lire_fichier(_DIR_CACHE . $chemin_cache_session, $page_session)
AND $page_session = @unserialize($page_session)
AND $page_session['lastmodified'] >= $page['lastmodified'])
$page = $page_session;
else
$page = array();
}
// HEAD : cas sans jamais de calcul pour raisons de performance
if ($_SERVER['REQUEST_METHOD'] == 'HEAD') {
$use_cache = 0;
$page = array('contexte_implicite'=>$contexte_implicite);
return;
}
// Si un calcul, recalcul [ou preview, mais c'est recalcul] est demande,
// on supprime le cache
if ($GLOBALS['var_mode'] &&
(isset($_COOKIE['spip_session'])
|| isset($_COOKIE['spip_admin'])
|| @file_exists(_ACCESS_FILE_NAME))
) {
$page = array('contexte_implicite'=>$contexte_implicite); // ignorer le cache deja lu
include_spip('inc/invalideur');
retire_caches($chemin_cache); # API invalideur inutile
supprimer_fichier(_DIR_CACHE.$chemin_cache);
if ($chemin_cache_session)
supprimer_fichier(_DIR_CACHE.$chemin_cache_session);
}
// $delais par defaut (pour toutes les pages sans #CACHE{})
if (!isset($GLOBALS['delais'])) {
define('_DUREE_CACHE_DEFAUT', 24*3600);
$GLOBALS['delais'] = _DUREE_CACHE_DEFAUT;
}
// determiner la validite de la page
if ($page) {
$use_cache = cache_valide($page, $page['lastmodified']);
// le contexte implicite n'est pas stocke dans le cache, mais il y a equivalence
// par le nom du cache. On le reinjecte donc ici pour utilisation eventuelle au calcul
$page['contexte_implicite'] = $contexte_implicite;
if (!$use_cache) {
// $page est un cache utilisable
gunzip_page($page);
return;
}
} else {
$page = array('contexte_implicite'=>$contexte_implicite);
$use_cache = cache_valide($page,0); // fichier cache absent : provoque le calcul
}
// Si pas valide mais pas de connexion a la base, le garder quand meme
if (!spip_connect()) {
if (isset($page['texte'])) {
gunzip_page($page);
$use_cache = 0;
}
else {
spip_log("Erreur base de donnees, impossible utiliser $chemin_cache");
include_spip('inc/minipres');
return minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'));
}
//.........这里部分代码省略.........
示例10: mysql_query
<?php
require_once "fonctions.php";
require_once "config.php";
$id = $_GET['idev'];
$idp = $_GET['idp'];
$ide = $_GET['ide'];
$sel = "SELECT chemindoc FROM documents_evenement WHERE ide='" . $id . "'";
$res = mysql_query($sel);
while ($row1 = mysql_fetch_array($res)) {
$chemin = $row1['chemindoc'];
supprimer_fichier($chemin);
}
// on libère le résultat
mysql_free_result($res);
$sql = "DELETE FROM evenement WHERE id='{$id}'";
$result = mysql_query($sql);
?>
<script language="Javascript">
<!--
document.location.replace("table.php?ide=<?php
echo $ide;
?>
&idp=<?php
echo $idp;
?>
");
// -->
</script>';
示例11: mysql_query
<?php
include "fonctions.php";
include 'menu_debut.php';
$ida = $_GET['ida'];
$idp = $_GET['idp'];
$idta = $_GET['idta'];
$sql1 = "SELECT nomdoc,chemindoc FROM documents_action WHERE action='{$ida}' ";
$result = mysql_query($sql1);
while ($row = mysql_fetch_array($result)) {
$cd = $row['chemindoc'];
}
supprimer_fichier($cd);
mysql_free_result($result);
$sql = "DELETE FROM action WHERE ida='{$ida}' ";
mysql_query($sql);
?>
<script language="Javascript">
<!--
document.location.replace("table_action.php?ida=<?php
echo $idta;
?>
&idp=<?php
echo $idp;
?>
");
// -->
</script>';
示例12: vignette_revision
function vignette_revision($id, $data, $type, $ref)
{
$s = sql_fetsel("id_document,id_vignette", "spip_documents", "id_document=" . intval($id));
if (!is_array($s)) {
return false;
}
include_spip('inc/modifier');
include_spip('inc/documents');
include_spip('action/editer_document');
//pour revision_document
// Chargement d'un nouveau doc ?
if ($data['vignette']) {
define('FILE_UPLOAD', true);
if (is_numeric($s['id_vignette']) && $s['id_vignette'] > 0) {
spip_log('suppression de la vignette');
// Suppression du document
$vignette = sql_getfetsel('fichier', 'spip_documents', 'id_document=' . intval($s['id_vignette']));
if (@file_exists($f = get_spip_doc($vignette))) {
spip_log("efface {$f}");
supprimer_fichier($f);
}
sql_delete('spip_documents', 'id_document=' . intval($s['id_vignette']));
sql_delete('spip_documents_liens', 'id_document=' . intval($s['id_vignette']));
pipeline('post_edition', array('args' => array('operation' => 'supprimer_document', 'table' => 'spip_documents', 'id_objet' => $s['id_vignette']), 'data' => null));
$id_vignette = 0;
}
$arg = $data['vignette'];
check_upload_error($arg['error']);
// Ajout du document comme vignette
/**
* Méthode >= SPIP 3.0
* ou SPIP 2.x + Mediatheque
*/
if ($ajouter_documents = charger_fonction('ajouter_documents', 'action', true)) {
$x = $ajouter_documents(null, array($arg), '', 0, 'vignette');
$vignette = reset($x);
if (intval($vignette)) {
document_modifier($id, array('id_vignette' => $vignette));
} else {
if ($id_vignette) {
document_modifier($id, array('id_vignette' => $id_vignette));
}
}
} else {
if ($ajouter_documents = charger_fonction('ajouter_documents', 'inc', true)) {
// On remet l'id_vignette a 0 si on l'a supprimé
if ($id_vignette) {
revision_document($s['id_document'], array('id_vignette' => 0));
}
$x = $ajouter_documents($arg['tmp_name'], $arg['name'], '', '', 'vignette', $id, $actifs);
}
}
} else {
// Suppression de la vignette ?
if ($wid = array_pop($ref) and $_POST['content_' . $wid . '_vignette_supprimer'] == 'on') {
if (is_numeric($s['id_vignette']) && $s['id_vignette'] > 0) {
// Suppression du document
$vignette = sql_getfetsel('fichier', 'spip_documents', 'id_document=' . intval($s['id_vignette']));
if (@file_exists($f = get_spip_doc($vignette))) {
spip_log("efface {$f}");
supprimer_fichier($f);
}
sql_delete('spip_documents', 'id_document=' . intval($s['id_vignette']));
sql_delete('spip_documents_liens', 'id_document=' . intval($s['id_vignette']));
pipeline('post_edition', array('args' => array('operation' => 'supprimer_document', 'table' => 'spip_documents', 'id_objet' => $s['id_vignette']), 'data' => null));
// On remet l'id_vignette a 0
revision_document($s['id_document'], array('id_vignette' => 0));
}
}
}
return true;
}
示例13: supprimer_documents
function supprimer_documents($liste = array()) {
if (!count($liste))
return;
$in = sql_in('id_document', $liste);
// Supprimer les fichiers locaux et les copies locales
// des docs distants
$s = sql_select("fichier, distant", "spip_documents", $in);
while ($t = sql_fetch($s)) {
if ($t['distant'] == 'oui') {
include_spip('inc/distant');
if ($local = copie_locale($t['fichier'], 'test'))
spip_log("efface $local = ".$t['fichier']);
supprimer_fichier($local);
}
else {
if (@file_exists($f = get_spip_doc($t['fichier']))) {
spip_log("efface $f");
supprimer_fichier($f);
}
}
}
// Supprimer les entrees dans spip_documents et associees
sql_delete('spip_documents', $in);
// en principe il ne devrait rien y avoir ici si les documents sont bien orphelins
sql_delete('spip_documents_liens', $in);
}
示例14: vignette_revision
function vignette_revision($id, $data, $type, $ref) {
$s = sql_fetsel("*","spip_documents","id_document=".intval($id));
if (!is_array($s))
return false;
include_spip('inc/modifier');
include_spip('inc/documents');
// Chargement d'un nouveau doc ?
if ($data['vignette']) {
define('FILE_UPLOAD', true);
if(is_numeric($s['id_vignette']) && ($s['id_vignette']>0)){
spip_log('suppression de la vignette');
// Suppression du document
$vignette = sql_getfetsel('fichier', 'spip_documents', 'id_document='.intval($s['id_vignette']));
if (@file_exists($f = get_spip_doc($vignette))) {
spip_log("efface $f");
supprimer_fichier($f);
}
sql_delete('spip_documents', 'id_document='.intval($s['id_vignette']));
sql_delete('spip_documents_liens', 'id_document='.intval($s['id_vignette']));
pipeline('post_edition',
array(
'args' => array(
'operation' => 'supprimer_document',
'table' => 'spip_documents',
'id_objet' => $s['id_vignette']
),
'data' => null
)
);
// On remet l'id_vignette a 0
revision_document($s['id_document'], array('id_vignette'=>0));
}
// Ajout du document comme vignette
$ajouter_documents = charger_fonction('ajouter_documents', 'inc');
$arg = $data['vignette'];
check_upload_error($arg['error']);
$x = $ajouter_documents($arg['tmp_name'], $arg['name'],'','', 'vignette', $id, $actifs);
}else
// Suppression de la vignette ?
if ($wid = array_pop($ref)
AND $_POST['content_'.$wid.'_vignette_supprimer'] == 'on') {
if(is_numeric($s['id_vignette']) && ($s['id_vignette']>0)){
// Suppression du document
$vignette = sql_getfetsel('fichier', 'spip_documents', 'id_document='.intval($s['id_vignette']));
if (@file_exists($f = get_spip_doc($vignette))) {
spip_log("efface $f");
supprimer_fichier($f);
}
sql_delete('spip_documents', 'id_document='.intval($s['id_vignette']));
sql_delete('spip_documents_liens', 'id_document='.intval($s['id_vignette']));
pipeline('post_edition',
array(
'args' => array(
'operation' => 'supprimer_document',
'table' => 'spip_documents',
'id_objet' => $s['id_vignette']
),
'data' => null
)
);
// On remet l'id_vignette a 0
revision_document($s['id_document'], array('id_vignette'=>0));
}
}
return true;
}
示例15: ecrire_fichier
function ecrire_fichier($contenu)
{
$fichier = $this->get_fichier();
if (!$contenu) {
return supprimer_fichier($fichier);
}
$contenu = '<?php
/**************
* Config ecrite par cfg le ' . date('r') . '
*
* NE PAS EDITER MANUELLEMENT !
***************/
$cfg = ' . var_export($contenu, true) . ';
?>
';
return ecrire_fichier($fichier, $contenu);
}