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


PHP get_spip_doc函数代码示例

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


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

示例1: urls_generer_url_document_dist

/**
 * Generer l'url d'un document dans l'espace public,
 * fonction du statut du document
 *
 * @param int $id
 * @param string $args
 * @param string $ancre
 * @param string $public
 * @param string $connect
 * @return string
 *
 * http://doc.spip.org/@generer_url_ecrire_document
 */
function urls_generer_url_document_dist($id, $args = '', $ancre = '', $public = null, $connect = '')
{
    include_spip('inc/autoriser');
    include_spip('inc/documents');
    if (!autoriser('voir', 'document', $id)) {
        return '';
    }
    $r = sql_fetsel("fichier,distant", "spip_documents", "id_document=" . intval($id));
    if (!$r) {
        return '';
    }
    $f = $r['fichier'];
    if ($r['distant'] == 'oui') {
        return $f;
    }
    // Si droit de voir tous les docs, pas seulement celui-ci
    // il est inutilement couteux de rajouter une protection
    $r = autoriser('voir', 'document');
    if ($r and $r !== 'htaccess') {
        return get_spip_doc($f);
    }
    include_spip('inc/securiser_action');
    // cette url doit etre publique !
    $cle = calculer_cle_action($id . ',' . $f);
    // renvoyer une url plus ou moins jolie
    if ($GLOBALS['meta']['creer_htaccess']) {
        return _DIR_RACINE . "docrestreint.api/{$id}/{$cle}/{$f}";
    } else {
        return get_spip_doc($f) . "?{$id}/{$cle}";
    }
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:44,代码来源:generer_url_document.php

示例2: cfg_pre_traiter_cfg_fichier

/**
 * Pré-traitement du fichier $nom
 *
 * @param  string $nom
 * @param  Object $cfg
 * @return Object
 */
function cfg_pre_traiter_cfg_fichier($nom, &$cfg){
	include_spip('inc/flock');
	
	// enlever <OLD>
	$cfg->val[$nom] = str_replace('<OLD>','', $cfg->val[$nom]);
	
	// effacement
	if (_request('_cfg_delete')){
		$supprimer_fichier = _COMPAT_CFG_192 ? 'cfg_supprimer_fichier' : 'supprimer_fichier';
		if (!$supprimer_fichier(get_spip_doc($cfg->val[$nom]))) {
			$cfg->messages['erreurs'][$nom] = _T('cfg:erreur_suppression_fichier', array('fichier'=>get_spip_doc($cfg->val[$nom])));		
		}
	// ajout ou modification
	} else {
		$f = cfg_get_info_fichier_upload($nom);
		if ($f['tmp_name']) {
			// suppression de l'ancien fichier
			$supprimer_fichier = _COMPAT_CFG_192 ? 'cfg_supprimer_fichier' : 'supprimer_fichier';
			if ($cfg->val[$nom] && !$supprimer_fichier(get_spip_doc($cfg->val[$nom]))) {
				$cfg->messages['erreurs'][$nom] = _T('cfg:erreur_suppression_fichier', array('fichier'=>get_spip_doc($cfg->val[$nom])));	
			} else {
				if (!$fichier = cfg_ajoute_un_document($f['tmp_name'],$f['name'],$nom, 'config/'.$cfg->vue)){
					$cfg->messages['erreurs'][$nom] = _T('cfg:erreur_copie_fichier', array('fichier'=>'config/'.$cfg->vue . '/' . $f['name']));	
				} else {
					$cfg->val[$nom] = set_spip_doc($fichier);
				}
			}
		}
	}

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

示例3: action_tourner_post

/**
 * Tourner un document
 *
 * http://code.spip.net/@action_tourner_post
 *
 * @param int $id_document
 * @param int $angle
 *   angle de rotation en degre>0
 * @return
 */
function action_tourner_post($id_document, $angle)
{
    $row = sql_fetsel("fichier,extension", "spip_documents", "id_document=" . intval($id_document));
    if (!$row) {
        return;
    }
    include_spip('inc/charsets');
    # pour le nom de fichier
    include_spip('inc/documents');
    // Fichier destination : on essaie toujours de repartir de l'original
    $var_rot = $angle;
    $effacer = false;
    include_spip('inc/distant');
    # pour copie_locale
    $src = _DIR_RACINE . copie_locale(get_spip_doc($row['fichier']));
    if (preg_match(',^(.*)-r(90|180|270)\\.([^.]+)$,', $src, $match)) {
        $effacer = $src;
        $src = $match[1] . '.' . $match[3];
        $var_rot += intval($match[2]);
    }
    $var_rot = (360 + $var_rot) % 360;
    // 0, 90, 180 ou 270
    if ($var_rot > 0) {
        $dest = preg_replace(',\\.[^.]+$,', '-r' . $var_rot . '$0', $src);
        spip_log("rotation {$var_rot} {$src} : {$dest}");
        include_spip('inc/filtres');
        include_spip('public/parametrer');
        // charger les fichiers fonctions #bugfix spip 2.1.0
        $res = filtrer('image_rotation', $src, $var_rot);
        $res = filtrer('image_format', $res, $row['extension']);
        list($hauteur, $largeur) = taille_image($res);
        $res = extraire_attribut($res, 'src');
        include_spip('inc/getdocument');
        deplacer_fichier_upload($res, $dest);
    } else {
        $dest = $src;
        $size_image = @getimagesize($dest);
        $largeur = $size_image[0];
        $hauteur = $size_image[1];
    }
    // succes !
    if ($largeur > 0 and $hauteur > 0) {
        $set = array('fichier' => set_spip_doc($dest), 'largeur' => $largeur, 'hauteur' => $hauteur, 'distant' => 'non');
        if ($taille = @filesize($dest)) {
            $set['taille'] = $taille;
        }
        sql_updateq('spip_documents', $set, "id_document=" . intval($id_document));
        if ($effacer) {
            spip_log("rotation : j'efface {$effacer}");
            spip_unlink($effacer);
        }
        // pipeline pour les plugins
        pipeline('post_edition', array('args' => array('table' => 'spip_documents', 'table_objet' => 'documents', 'spip_table_objet' => 'spip_documents', 'type' => 'document', 'id_objet' => $id_document, 'champs' => array('rotation' => $angle, 'orientation' => $var_rot, 'fichier' => $row['fichier']), 'action' => 'tourner'), 'data' => $set));
    }
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:65,代码来源:tourner.php

示例4: BOUCLE_documents_portfoliohtml_4dc0f36e18dd7a26ebc382429cbc9835

function BOUCLE_documents_portfoliohtml_4dc0f36e18dd7a26ebc382429cbc9835(&$Cache, &$Pile, &$doublons, &$Numrows, $SP)
{
    static $command = array();
    static $connect;
    $command['connect'] = $connect = '';
    $doublons_index = array();
    $in = array();
    $in[] = 'png';
    $in[] = 'jpg';
    $in[] = 'gif';
    // Initialise le(s) critère(s) doublons
    if (!isset($doublons[$d = 'documents'])) {
        $doublons[$d] = '';
    }
    if (!isset($command['table'])) {
        $command['table'] = 'documents';
        $command['id'] = '_documents_portfolio';
        $command['from'] = array('documents' => 'spip_documents', 'L1' => 'spip_documents_liens', 'L2' => 'spip_types_documents');
        $command['type'] = array();
        $command['groupby'] = array();
        $command['select'] = array("0+documents.titre AS num", "documents.date", "documents.id_document", "L2.mime_type", "L1.id_objet AS id_rubrique", "documents.titre", "documents.fichier");
        $command['orderby'] = array('num', 'documents.date');
        $command['join'] = array('L1' => array('documents', 'id_document'), 'L2' => array('documents', 'extension'));
        $command['limit'] = '';
        $command['having'] = array();
    }
    $command['where'] = array(quete_condition_statut('documents.statut', 'publie,prop,prepa', 'publie', ''), array('(documents.taille > 0 OR documents.distant=\'oui\')'), array('=', 'L1.id_objet', sql_quote(@$Pile[0]['id_rubrique'], '', 'bigint(21) NOT NULL DEFAULT \'0\'')), array('=', 'L1.objet', sql_quote('rubrique')), array('=', 'documents.mode', "'document'"), sql_in('documents.extension', sql_quote($in)), array('=', 'L1.vu', "'non'"), array(sql_in('documents.id_document', $doublons[$doublons_index[] = 'documents'], 'NOT')));
    if (defined("_BOUCLE_PROFILER")) {
        $timer = time() + microtime();
    }
    $t0 = "";
    // REQUETE
    $iter = IterFactory::create("SQL", $command, array('squelettes/inc/inc-rub-documents.html', 'html_4dc0f36e18dd7a26ebc382429cbc9835', '_documents_portfolio', 2, $GLOBALS['spip_lang']));
    if (!$iter->err()) {
        $SP++;
        // RESULTATS
        while ($Pile[$SP] = $iter->fetch()) {
            foreach ($doublons_index as $k) {
                $doublons[$k] .= "," . $Pile[$SP]['id_document'];
            }
            // doublons
            $t0 .= ($t1 = strval(vider_url(urlencode_1738(generer_url_entite($Pile[$SP]['id_document'], 'document', '', '', true))))) !== '' ? '
		<a href="' . $t1 . ('" type="' . interdire_scripts($Pile[$SP]['mime_type']) . '" onclick="location.href=\'' . parametre_url(vider_url(urlencode_1738(generer_url_entite($Pile[$SP]['id_rubrique'], 'rubrique', '', '', true))), 'id_document', $Pile[$SP]['id_document']) . '#documents_portfolio\';return false;"' . (($t2 = strval(interdire_scripts(@$Pile[0]['exposer']))) !== '' ? ' class="' . $t2 . '"' : '') . (($t2 = strval(interdire_scripts(couper(attribut_html(traiter_doublons_documents($doublons, typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0]))), '80')))) !== '' ? ' title="' . $t2 . '"' : '') . '>' . interdire_scripts(inserer_attribut(inserer_attribut(filtrer('image_graver', filtrer('image_reduire', copie_locale(get_spip_doc($Pile[$SP]['fichier'])), '0', '100')), 'class', 'spip_vignette_portfolio'), 'alt', interdire_scripts(couper(attribut_html(traiter_doublons_documents($doublons, typo(supprimer_numero($Pile[$SP]['titre']), "TYPO", $connect, $Pile[0]))), '80')))) . '</a>
	') : '';
        }
        $iter->free();
    }
    if (defined("_BOUCLE_PROFILER") and 1000 * ($timer = time() + microtime() - $timer) > _BOUCLE_PROFILER) {
        spip_log(intval(1000 * $timer) . "ms BOUCLE_documents_portfolio @ squelettes/inc/inc-rub-documents.html", "profiler" . _LOG_AVERTISSEMENT);
    }
    return $t0;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:52,代码来源:html_4dc0f36e18dd7a26ebc382429cbc9835.php

示例5: action_supprimer_document_dist

function action_supprimer_document_dist($id_document = 0)
{
    if (!$id_document) {
        $securiser_action = charger_fonction('securiser_action', 'inc');
        $id_document = $securiser_action();
    }
    include_spip('inc/autoriser');
    if (!autoriser('supprimer', 'document', $id_document)) {
        spip_log("Echec : Suppression document {$id_document} interdite", _LOG_ERREUR);
        return false;
    }
    // si c'etait une vignette, modifier le document source !
    if ($source = sql_getfetsel('id_document', 'spip_documents', 'id_vignette=' . intval($id_document))) {
        include_spip('action/editer_document');
        document_modifier($source, array("id_vignette" => 0));
    }
    include_spip('inc/documents');
    if (!($doc = sql_fetsel('*', 'spip_documents', 'id_document=' . intval($id_document)))) {
        spip_log("Echec : Suppression document {$id_document} : le document n'existe pas en base", _LOG_ERREUR);
        return false;
    }
    spip_log("Suppression du document {$id_document} (" . $doc['fichier'] . ")");
    include_spip('action/editer_liens');
    // Si c'est un document ayant une vignette, supprimer aussi la vignette
    if ($doc['id_vignette']) {
        action_supprimer_document_dist($doc['id_vignette']);
        objet_dissocier(array('document' => $doc['id_vignette']), '*');
    }
    // Si c'est un document ayant des documents annexes (sous-titre, ...)
    // les supprimer aussi
    $annexes = array_map('reset', sql_allfetsel("id_document", "spip_documents_liens", "objet='document' AND id_objet=" . intval($id_document)));
    foreach ($annexes as $id) {
        action_supprimer_document_dist($id);
    }
    // dereferencer dans la base
    objet_dissocier(array('document' => $id_document), '*', array('role' => '*'));
    sql_delete('spip_documents', 'id_document=' . intval($id_document));
    // Supprimer le fichier si le doc est local,
    // et la copie locale si le doc est distant
    if ($doc['distant'] == 'oui') {
        include_spip('inc/distant');
        if ($local = _DIR_RACINE . copie_locale($doc['fichier'], 'test')) {
            spip_unlink($local);
        }
    } else {
        spip_unlink(get_spip_doc($doc['fichier']));
    }
    pipeline('post_edition', array('args' => array('operation' => 'supprimer_document', 'action' => 'supprimer_document', 'table' => 'spip_documents', 'id_objet' => $id_document, 'document' => $doc), 'data' => null));
    return true;
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:50,代码来源:supprimer_document.php

示例6: action_verifier_documents_brises_dist

/**
 * Verifier tous les fichiers brises
 *
 */
function action_verifier_documents_brises_dist()
{
    $securiser_action = charger_fonction('securiser_action', 'inc');
    $arg = $securiser_action();
    include_spip('inc/autoriser');
    if (autoriser('administrer', 'mediatheque')) {
        include_spip('inc/documents');
        $res = sql_select('fichier,brise,id_document', 'spip_documents', "distant='non'");
        while ($row = sql_fetch($res)) {
            if (($brise = !@file_exists(get_spip_doc($row['fichier']))) != $row['brise']) {
                sql_updateq('spip_documents', array('brise' => $brise), 'id_document=' . intval($row['id_document']));
            }
        }
    }
}
开发者ID:genma,项目名称:spip_ynh,代码行数:19,代码来源:verifier_documents_brises.php

示例7: action_elix_sansson_reencode_dist

function action_elix_sansson_reencode_dist($arg = false)
{
    if (!intval($arg)) {
        $securiser_action = charger_fonction('securiser_action', 'inc');
        $arg = $securiser_action();
    }
    $ps_ffmpeg = exec('ps -C ffmpeg', $retour, $retour_int);
    if ($retour_int == 1 && count($retour) >= 3) {
        return false;
    }
    include_spip('inc/documents');
    $source = sql_fetsel('*', 'spip_documents', 'id_document=' . intval($arg));
    if (isset($source['fichier'])) {
        $chemin = get_spip_doc($source['fichier']);
        $dest = _DIR_TMP . basename($source['fichier']);
        $commande = 'ffmpeg -i ' . escapeshellarg($chemin) . ' -an -vcodec copy ' . escapeshellarg($dest);
        $encodage = exec($commande, $retour, $retour_int);
        if (file_exists($dest) && filesize($dest) > 0) {
            @rename($chemin, "{$chemin}--.old");
            $id_article = sql_getfetsel('id_objet', 'spip_documents_liens', 'id_document=' . intval($arg) . ' AND objet="article"');
            $ajouter_doc = charger_fonction('ajouter_documents', 'action');
            $objet = 'article';
            $id_objet = $id_article;
            $mode = 'document';
            $files = array();
            $filename = basename($dest);
            $files[0]['tmp_name'] = $dest;
            $files[0]['name'] = $filename;
            $id_document_new = $ajouter_doc($arg, $files, $objet, $id_objet, $mode);
            if (intval(reset($id_document_new)) > 0) {
                // retablir le fichier !
                if ($chemin) {
                    @rename("{$chemin}--.old", $chemin);
                }
            } else {
                // supprimer vraiment le fichier initial
                spip_unlink("{$chemin}--.old");
            }
        }
        if (file_exists($dest)) {
            spip_unlink($dest);
        }
    }
}
开发者ID:kent1D,项目名称:elix_sans_son,代码行数:44,代码来源:elix_sansson_reencode.php

示例8: formulaires_illustrer_document_charger_dist

function formulaires_illustrer_document_charger_dist($id_document)
{
    include_spip('inc/documents');
    $valeurs = sql_fetsel('id_document,mode,id_vignette,extension,media', 'spip_documents', 'id_document=' . intval($id_document));
    if (!$valeurs) {
        return array('editable' => false, 'id' => $id_document);
    }
    $valeurs['id'] = $id_document;
    $valeurs['_hidden'] = "<input name='id_document' value='{$id_document}' type='hidden' />";
    $valeurs['mode'] = 'vignette';
    // pour les id dans le dom
    $vignette = sql_fetsel('fichier,largeur,hauteur,id_document', 'spip_documents', 'id_document=' . $valeurs['id_vignette']);
    $valeurs['vignette'] = get_spip_doc($vignette['fichier']);
    $valeurs['hauteur'] = $vignette['hauteur'];
    $valeurs['largeur'] = $vignette['largeur'];
    $valeurs['id_vignette'] = $vignette['id_document'];
    $valeurs['_pipeline'] = array('editer_contenu_objet', array('type' => 'illustrer_document', 'id' => $id_document));
    return $valeurs;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:19,代码来源:illustrer_document.php

示例9: formulaires_changer_fichier_document_traiter_dist

function formulaires_changer_fichier_document_traiter_dist($id_document)
{
    if (_request('copier_local')) {
        $copier_local = charger_fonction('copier_local', 'action');
        $res = array('editable' => true);
        if (($err = $copier_local($id_document)) === true) {
            $res['message_ok'] = _T('medias:document_copie_locale_succes');
        } else {
            $res['message_erreur'] = $err;
        }
    } else {
        // liberer le nom de l'ancien fichier pour permettre le remplacement par un fichier du meme nom
        if ($ancien_fichier = sql_getfetsel('fichier', 'spip_documents', 'id_document=' . intval($id_document)) and @file_exists($f = get_spip_doc($ancien_fichier))) {
            spip_unlink($f);
        }
        $traiter = charger_fonction('traiter', 'formulaires/joindre_document');
        $res = $traiter($id_document);
    }
    return $res;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:20,代码来源:changer_fichier_document.php

示例10: action_supprimer_document_dist

function action_supprimer_document_dist($id_document) {
	include_spip('inc/autoriser');
	if (!autoriser('supprimer','document',$id_document))
		return false;

	include_spip('inc/documents');
	if (!$doc = sql_fetsel('*', 'spip_documents', 'id_document='.$id_document))
		return false;

	spip_log("Suppression du document $id_document (".$doc['fichier'].")");

	// Si c'est un document ayant une vignette, supprimer aussi la vignette
	if ($doc['id_vignette']) {
		action_supprimer_document_dist($doc['id_vignette']);
		sql_delete('spip_documents_liens', 'id_document='.$doc['id_vignette']);
	}

	// Supprimer le fichier si le doc est local,
	// et la copie locale si le doc est distant
	if ($doc['distant'] == 'oui') {
		include_spip('inc/distant');
		if ($local = copie_locale($doc['fichier'],'test'))
			spip_unlink($local);
	}
	else spip_unlink(get_spip_doc($doc['fichier']));

	sql_delete('spip_documents', 'id_document='.$id_document);

	pipeline('post_edition',
		array(
			'args' => array(
				'operation' => 'supprimer_document',
				'table' => 'spip_documents',
				'id_objet' => $id_document
			),
			'data' => null
		)
	);
}
开发者ID:rhertzog,项目名称:lcs,代码行数:39,代码来源:supprimer_document.php

示例11: document_modifier

/**
 * Enregistre une revision de document.
 * $set est un contenu (par defaut on prend le contenu via _request())
 *
 * @param int $id_document
 * @param array|bool $set
 */
function document_modifier($id_document, $set = false)
{
    include_spip('inc/modifier');
    include_spip('inc/filtres');
    // champs normaux
    $champs = collecter_requests(objet_info('document', 'champs_editables'), array('parents', 'ajout_parents'), $set);
    $invalideur = "";
    $indexation = false;
    // Si le document est publie, invalider les caches et demander sa reindexation
    $t = sql_getfetsel("statut", "spip_documents", 'id_document=' . intval($id_document));
    if ($t == 'publie') {
        $invalideur = "id='id_document/{$id_document}'";
        $indexation = true;
    }
    $ancien_fichier = "";
    // si le fichier est modifie, noter le nom de l'ancien pour faire le menage
    if (isset($champs['fichier'])) {
        $ancien_fichier = sql_getfetsel('fichier', 'spip_documents', 'id_document=' . intval($id_document));
    }
    if ($err = objet_modifier_champs('document', $id_document, array('invalideur' => $invalideur, 'indexation' => $indexation), $champs)) {
        return $err;
    }
    // nettoyer l'ancien fichier si necessaire
    if ($champs['fichier'] and $ancien_fichier and $ancien_fichier !== $champs['fichier'] and @file_exists($f = get_spip_doc($ancien_fichier))) {
        spip_unlink($f);
    }
    // Changer le statut du document ?
    // le statut n'est jamais fixe manuellement mais decoule de celui des objets lies
    $champs = collecter_requests(array('parents', 'ajouts_parents'), array(), $set);
    if (document_instituer($id_document, $champs)) {
        //
        // Post-modifications
        //
        // Invalider les caches
        include_spip('inc/invalideur');
        suivre_invalideur("id='id_document/{$id_document}'");
    }
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:45,代码来源:editer_document.php

示例12: 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;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:71,代码来源:crayons.php

示例13: image_du_document

function image_du_document($document)
{
    $e = $document['extension'];
    if (strpos($GLOBALS['meta']['formats_graphiques'], $e) !== false and (!test_espace_prive() or $GLOBALS['meta']['creer_preview'] == 'oui') and $document['fichier']) {
        if ($document['distant'] == 'oui') {
            $image = _DIR_RACINE . copie_locale($document['fichier']);
        } else {
            $image = get_spip_doc($document['fichier']);
        }
        if (@file_exists($image)) {
            return $image;
        }
    }
    return '';
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:15,代码来源:documents.php

示例14: action_acceder_document_dist

function action_acceder_document_dist() {
	include_spip('inc/documents');

	// $file exige pour eviter le scan id_document par id_document
	$f = rawurldecode(_request('file'));
	$file = get_spip_doc($f);
	$arg = rawurldecode(_request('arg'));

	$status = $dcc = false;
	if (strpos($f,'../') !== false
	OR preg_match(',^\w+://,', $f)) {
		$status = 403;
	}
	else if (!file_exists($file) OR !is_readable($file)) {
		$status = 404;
	} else {
		$where = "documents.fichier=".sql_quote(set_spip_doc($file))
		. ($arg ? " AND documents.id_document=".intval($arg): '');

		$doc = sql_fetsel("documents.id_document, documents.titre, documents.fichier, types.mime_type, types.inclus, documents.extension", "spip_documents AS documents LEFT JOIN spip_types_documents AS types ON documents.extension=types.extension",$where);
		if (!$doc) {
			$status = 404;
		} else {

			// ETag pour gerer le status 304
			$ETag = md5($file . ': '. filemtime($file));
			if (isset($_SERVER['HTTP_IF_NONE_MATCH'])
			AND $_SERVER['HTTP_IF_NONE_MATCH'] == $ETag) {
				http_status(304); // Not modified
				exit;
			} else {
				header('ETag: '.$ETag);
			}

			//
			// Verifier les droits de lecture du document
			// en controlant la cle passee en argument
			//
			include_spip('inc/securiser_action');
			$cle = _request('cle');
			if (!verifier_cle_action($doc['id_document'].','.$f, $cle)) {
				spip_log("acces interdit $cle erronee");
				$status = 403;
			}
		}
	}

	switch($status) {

	case 403:
		include_spip('inc/minipres');
		echo minipres();
		break;

	case 404:
		http_status(404);
		include_spip('inc/minipres');
		echo minipres(_T('erreur').' 404',
			_T('info_document_indisponible'));
		break;

	default:
		header("Content-Type: ". $doc['mime_type']);

		// pour les images ne pas passer en attachment
		// sinon, lorsqu'on pointe directement sur leur adresse,
		// le navigateur les downloade au lieu de les afficher

		if ($doc['inclus']=='non') {

			$f = basename($file);
			// ce content-type est necessaire pour eviter des corruptions de zip dans ie6
			header('Content-Type: application/octet-stream');

			header("Content-Disposition: attachment; filename=\"$f\";");
			header("Content-Transfer-Encoding: binary");

			// fix for IE catching or PHP bug issue
			header("Pragma: public");
			header("Expires: 0"); // set expiration time
			header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

		}

		if ($cl = filesize($file))
			header("Content-Length: ". $cl);

		readfile($file);
		break;
	}

}
开发者ID:rhertzog,项目名称:lcs,代码行数:92,代码来源:acceder_document.php

示例15: boutons_rotateurs

function boutons_rotateurs($document, $type, $id, $id_document, $script) {
	global $spip_lang_right;

	$process = $GLOBALS['meta']['image_process'];

	// bloc rotation de l'image
	// si c'est une image, qu'on sait la faire tourner, qu'elle
	// n'est pas distante, qu'elle est bien presente dans IMG/
	// qu'elle n'a pas de vignette perso ; et qu'on a la bibli !
	if ($document['distant']!='oui' 
	AND in_array($document['extension'], array('gif', 'jpg', 'png'))
	AND (strpos($GLOBALS['meta']['formats_graphiques'], $document['extension'])!==false)
	AND ($process == 'imagick'
		OR $process == 'gd2'
		OR $process == 'convert'
		OR $process == 'netpbm')
	AND @file_exists(get_spip_doc($document['fichier']))
	) {

	  return "\n<div class='verdana1' style='float: $spip_lang_right; text-align: $spip_lang_right;'>" .

		bouton_tourner_document($id, $id_document, $script, -90, $type, 'tourner-gauche-10.gif', _T('image_tourner_gauche')) .

		bouton_tourner_document($id, $id_document, $script,  90, $type, 'tourner-droite-10.gif', _T('image_tourner_droite')) .

		bouton_tourner_document($id, $id_document, $script, 180, $type, 'tourner-demitour-10.gif', _T('image_tourner_180')) .
		"</div>\n";
	}
}
开发者ID:rhertzog,项目名称:lcs,代码行数:29,代码来源:tourner.php


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