Changeset 112652 in spip-zone
- Timestamp:
- Dec 6, 2018, 12:06:23 PM (3 months ago)
- Location:
- _plugins_/xray/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/xray/trunk/paquet.xml
r112628 r112652 2 2 prefix="xray" 3 3 categorie="outil" 4 version="0.1 8.0"4 version="0.19.0" 5 5 etat="test" 6 6 compatibilite="[2.1.0;3.2.*]" -
_plugins_/xray/trunk/plugin.xml
r112628 r112652 9 9 <licence>GPL</licence> 10 10 <licence>PHP</licence> 11 <version>0.1 8.0</version>11 <version>0.19.0</version> 12 12 <etat>test</etat> 13 13 <description> -
_plugins_/xray/trunk/xray_apc.php
r112629 r112652 54 54 defaults('ADMIN_PASSWORD', 'password'); // Admin Password - CHANGE THIS TO ENABLE!!! 55 55 56 defaults('MAXLEN_HTMLCOURT', 1000); // Couper les html 57 56 58 // (beckerr) I'm using a clear text password here, because I've no good idea how to let 57 59 // users generate a md5 or crypt password in a easy way to fill it in above … … 85 87 86 88 // Strings utils 89 90 function ajuste_longueur_html($str) { 91 $court = (!isset($_GET['ZOOM']) or ($_GET['ZOOM'] != 'TEXTELONG')); 92 $str = trim(preg_replace(array('/ +/', "/(\n\s*)+/"), array(' ',"\n "), $str)); 93 if ($court and (mb_strlen($str) > MAXLEN_HTMLCOURT)) 94 $str = mb_substr($str, 0, MAXLEN_HTMLCOURT) . '...'; 95 elseif (!$str) 96 $str = '(vide)'; 97 return "ajuste_longueur=".$str; 98 } 87 99 88 100 function is_serialized($str) { … … 122 134 123 135 function spipsafe_unserialize($str) { 124 if (strpos($str, "SPIPTextWheelRuleset") !== false) { 125 if (isset($_GET['ZOOM']) and ($_GET['ZOOM'] == 'TEXTECOURT')) 126 return "Début : " . substr(trim($str), 0, 80) . '...'; 127 else 128 return "Brut : $str"; 129 } 136 if (strpos($str, "SPIPTextWheelRuleset") !== false) 137 return ajuste_longueur_html($str); 130 138 $unser = unserialize($str); 131 139 if (is_array($unser) and isset($unser['texte'])) { 132 140 gunzip_page($unser); // si 'texte' est trop grand il est gzcompress par gzip_page 133 if (isset($_GET['ZOOM']) and ($_GET['ZOOM'] == 'TEXTECOURT')) { 134 $unser['texte'] = trim(preg_replace('/\s+/', ' ', $unser['texte'])); 135 if (mb_strlen($unser['texte']) > 80) 136 $unser['texte'] = mb_substr($unser['texte'], 0, 80) . '...'; 137 elseif (!$unser['texte']) 138 $unser['texte'] = '(vide)'; 139 } 141 $unser['texte'] = ajuste_longueur_html($unser['texte']); 140 142 } 141 143 return print_contexte($unser, 1); 142 144 } 143 145 144 function print_contexte($extra, $tostring ) {145 $print = print_r($extra,1);146 function print_contexte($extra, $tostring=true) { 147 $print=print_r($extra,1); 146 148 if (stripos($print, 'Array') === 0) { 147 149 // On enlève 'Array( ' au début et ')' à la fin … … 153 155 }, $print); 154 156 // [squelette] => html_5731a2e40776724746309c16569cac40 155 $print = preg_replace_callback("/\[(squelette|source)\]\s*=>\s*(html_[a-f0-9]+|[a-z0-9_\.\/\-]+\.html)$/im", function($match) 157 // et [source] => plugins/paeco/squelettes/inclure/element/tag-rubrique.html 158 $print = preg_replace_callback("/\[(squelette|source)\]\s*=>\s*(html_[a-f0-9]{32}+|[\w_\.\/\-]+\.html)$/im", 159 function($match) 156 160 { 157 161 if (!defined('_SPIP_ECRIRE_SCRIPT')) … … 169 173 return "[{$match[1]}] => </xmp><a title='{$title}' 170 174 href='".generer_url_ecrire('xray', "SOURCE=$source")."' 171 target='blank'><xmp>{$match[2]}</xmp></a><xmp>"; 172 }, $print); 173 } 174 $print=preg_replace('/^ /m', '', $print); 175 target='blank'><xmp>{$match[2]}</xmp> 🔗</a><xmp>"; 176 }, 177 $print); 178 $extra = $print; 179 } 180 $extra=preg_replace('/^ /m', '', $extra); 175 181 if ($tostring) 176 return $ print;177 echo $ print;182 return $extra; 183 echo $extra; 178 184 } 179 185 … … 286 292 'ZOOM' => '/^(|TEXTECOURT|TEXTELONG)$/', // 287 293 'WHERE' => '/^(|ALL|HTML|META|CONTEXTE)$/', // recherche dans le contenu 288 'EXTRA' => '/^(|CONTEXTE|CONTEXTES_SPECIAUX| INFO_AUTEUR|INFO_OBJET_SPECIAL|INVALIDEURS|INVALIDEURS_SPECIAUX|INCLUSIONS'294 'EXTRA' => '/^(|CONTEXTE|CONTEXTES_SPECIAUX|HTML_COURT|INFO_AUTEUR|INFO_OBJET_SPECIAL|INVALIDEURS|INVALIDEURS_SPECIAUX|INCLUSIONS' 289 295 .(plugin_est_actif('macrosession') ? '|MACROSESSIONS|MACROAUTORISER' : '') 290 296 .')$/' // Affichage pour chaque élément de la liste … … 292 298 293 299 global $MYREQUEST; // fix apcu 300 $MYREQUEST = array(); 301 294 302 // handle POST and GET requests 295 303 if (empty($_REQUEST)) { … … 317 325 } 318 326 319 // check parameter sema tics327 // check parameter semantics 320 328 if (empty($MYREQUEST['S_KEY'])) 321 329 $MYREQUEST['S_KEY'] = "H"; … … 326 334 if (!isset($MYREQUEST['COUNT'])) 327 335 $MYREQUEST['COUNT'] = 20; 336 if (!isset($MYREQUEST['EXTRA'])) 337 $MYREQUEST['EXTRA'] = ''; 338 if (!isset($MYREQUEST['ZOOM'])) 339 $MYREQUEST['ZOOM'] = 'TEXTECOURT'; 328 340 329 341 global $MY_SELF; // fix apcu … … 1201 1213 1202 1214 $cols = 6; 1203 echo ' 1204 <div class=sorting> 1205 <form>' 1206 ."<input type='hidden' name='OB' value='".$MYREQUEST['OB']."'> 1207 <input type='hidden' name='exec' value='".$MYREQUEST['exec']."'> 1208 Sorting: 1209 <select name=S_KEY onChange='form.submit()'> 1210 <option value=H", $MYREQUEST['S_KEY'] == 'H' ? ' selected' : '', '>Hits</option> 1211 <option value=Z', $MYREQUEST['S_KEY'] == 'Z' ? ' selected' : '', '>Size</option> 1212 <option value=S', $MYREQUEST['S_KEY'] == 'S' ? ' selected' : '', '>Squelette</option>', 1213 '<option value=A', $MYREQUEST['S_KEY'] == 'A' ? ' selected' : '', '>Last accessed</option> 1214 <option value=C', $MYREQUEST['S_KEY'] == 'C' ? ' selected' : '', '>Created at</option>'; 1215 if ($fieldname == 'info') 1216 echo '<option value=D', $MYREQUEST['S_KEY'] == 'T' ? ' selected' : '', '>Timeout</option>'; 1217 1218 echo '</select> 1219 <select name=SORT onChange="form.submit()">', 1220 '<option value=D', $MYREQUEST['SORT'] == 'D' ? ' selected' : '', '>DESC</option>', 1221 '<option value=A', $MYREQUEST['SORT'] == 'A' ? ' selected' : '', '>ASC</option>', 1222 '</select> 1223 <b>HTML:</b> 1224 <select name=ZOOM onChange="form.submit()"> 1225 <option value=TEXTECOURT', $MYREQUEST['ZOOM'] == 'TEXTECOURT' ? ' selected' : '', '>Courts</option> 1226 <option value=TEXTELONG', $MYREQUEST['ZOOM'] == 'TEXTELONG' ? ' selected' : '', '>Entiers</option> 1227 </select> 1228 <b>Affichage extra:</b> 1215 1216 echo '<form> 1217 <input type="hidden" name="OB" value="'.$MYREQUEST['OB'].'"> 1218 <input type="hidden" name="exec" value="'.$MYREQUEST['exec'].'"> 1219 <b>Affichage extra:</b> 1229 1220 <select name=EXTRA onChange="form.submit()"> 1230 1221 <option value="" ', $MYREQUEST['EXTRA'] == '' ? ' selected' : '', '></option> 1231 1222 <option value=CONTEXTE ', $MYREQUEST['EXTRA'] == 'CONTEXTE' ? ' selected' : '', '>Contexte</option> 1232 1223 <option value=CONTEXTES_SPECIAUX ', $MYREQUEST['EXTRA'] == 'CONTEXTES_SPECIAUX' ? ' selected' : '', '>Contextes spécifiques</option> 1224 <option value=HTML_COURT ', $MYREQUEST['EXTRA'] == 'HTML_COURT' ? ' selected' : '', '>HTML (...)</option> 1233 1225 <option value=INFO_AUTEUR ', $MYREQUEST['EXTRA'] == 'INFO_AUTEUR' ? ' selected' : '', '>Infos auteur</option> 1234 1226 <option value=INFO_OBJET_SPECIAL ', $MYREQUEST['EXTRA'] == 'INFO_OBJET_SPECIAL' ? ' selected' : '', '>Infos '.XRAY_OBJET_SPECIAL.'</option> … … 1255 1247 <option value=100', $MYREQUEST['COUNT'] == '100' ? ' selected' : '', '>Top 100</option> 1256 1248 <option value=150', $MYREQUEST['COUNT'] == '150' ? ' selected' : '', '>Top 150</option> 1257 <option value=2 00', $MYREQUEST['COUNT'] == '200' ? ' selected' : '', '>Top 200</option>1249 <option value=250', $MYREQUEST['COUNT'] == '250' ? ' selected' : '', '>Top 250</option> 1258 1250 <option value=500', $MYREQUEST['COUNT'] == '500' ? ' selected' : '', '>Top 500</option> 1259 1251 <option value=0 ', $MYREQUEST['COUNT'] == '0' ? ' selected' : '', '>All</option> … … 1456 1448 and $data_success) { 1457 1449 $extra = null; 1458 $ liens = '';1450 $print_contexte=true; 1459 1451 if (is_array($data)) { 1460 1452 switch ($MYREQUEST['EXTRA']) { … … 1465 1457 $extra = '(non défini)'; 1466 1458 break; 1459 1467 1460 case 'CONTEXTES_SPECIAUX': 1468 1461 if (isset($data['contexte'])) { … … 1479 1472 $extra = '(non défini)'; 1480 1473 break; 1474 1475 case 'HTML_COURT' : 1476 $print_contexte = false; 1477 $extra = ajuste_longueur_html($data['texte']); 1478 break; 1479 1481 1480 case 'INFO_AUTEUR': 1482 1481 if (isset($data['contexte'])) { … … 1492 1491 }; 1493 1492 break; 1493 1494 1494 case 'INFO_OBJET_SPECIAL': 1495 1495 if (isset($data['contexte'])) { … … 1540 1540 } 1541 1541 } 1542 if ($extra = print_contexte($extra, 1)) 1542 if ($print_contexte) 1543 $extra = print_contexte($extra, 1); 1544 1545 if ($extra) 1543 1546 echo "<br><xmp>$extra</xmp>"; 1544 if ($liens) // inutilisé désormais en fait1545 echo "< small style='float:right'>$liens</small>";1547 else 1548 echo "<br>(rien)</br>"; 1546 1549 } 1547 1550 echo '</td> … … 1573 1576 echo '<td colspan="7">'; 1574 1577 1575 if ( isset($_GET['ZOOM']) and ($_GET['ZOOM'] == 'TEXTECOURT')) {1578 if (!isset($_GET['ZOOM']) or ($_GET['ZOOM'] != 'TEXTELONG')) { 1576 1579 $url = parametre_url($self, 'ZOOM', 'TEXTELONG') . "#key-$sh"; 1577 1580 $menuzoom = "<a href='$url' class='menuzoom'>Voir tout le texte</a> "; 1581 if (isset($data['texte'])) 1582 $data['texte'] = ajuste_longueur_html($data['texte']); 1578 1583 } else { 1579 1584 $url = parametre_url($self, 'ZOOM', 'TEXTECOURT') . "#key-$sh"; … … 1585 1590 if ($data_success) { 1586 1591 echo "<p>$menuzoom</p>"; 1587 echo '<xmp>' . print_r($data, 1) . '</xmp>'; 1592 // echo '<xmp>' . print_r($data, 1) . '</xmp>'; 1593 echo '<xmp>'.print_contexte($data,1).'</xmp>'; 1588 1594 } else { 1589 1595 if (!apcu_exists($entry['info']))
Note: See TracChangeset
for help on using the changeset viewer.