Miglioramento del codice

Utilizzo della funzione str_contains al posto dei singoli strpos per semplificare i controlli sui contenuti delle stringhe.
This commit is contained in:
Thomas Zilio 2017-08-28 15:29:03 +02:00
parent 2d6d54d940
commit e25e609d80
21 changed files with 43 additions and 42 deletions

View File

@ -235,6 +235,7 @@ if (Modules::getPermission($permesso) == 'rw') {
// Esecuzione delle operazioni di gruppo
$id_records = post('id_records');
$id_records = is_array($id_records) ? $id_records : explode(',', $id_records);
$id_records = array_unique($id_records);
$bulk = null;
if (file_exists($docroot.$directory.'/custom/bulk.php')) {

View File

@ -45,7 +45,7 @@ if (!empty($module_query) && $module_query != 'menu' && $module_query != 'custom
$search_filters = [];
for ($i = 0; $i < count($columns); ++$i) {
if (!empty($columns[$i]['search']['value'])) {
if (strpos($total['search_inside'][$i], '|search|') !== false) {
if (str_contains($total['search_inside'][$i], '|search|')) {
$pieces = explode(',', $columns[$i]['search']['value']);
foreach ($pieces as $piece) {
$piece = trim($piece);
@ -83,7 +83,7 @@ if (!empty($module_query) && $module_query != 'menu' && $module_query != 'custom
if (!empty($sums)) {
$r = [];
foreach ($sums as $key => $sum) {
if (strpos($key, 'sum_') !== false) {
if (str_contains($key, 'sum_')) {
$r[str_replace('sum_', '', $key)] = Translator::numberToLocale($sum);
}
}

View File

@ -26,7 +26,7 @@ if (!function_exists('completeResults')) {
{
$dbo = Database::getConnection();
if (strpos($query, '|filter|') !== false) {
if (str_contains($query, '|filter|')) {
$query = str_replace('|filter|', !empty($filter) ? 'WHERE '.implode(' OR ', $filter) : '', $query);
} elseif (!empty($filter)) {
$where[] = '('.implode(' OR ', $filter).')';

View File

@ -226,9 +226,9 @@ if (Auth::check()) {
<section class="content">
<div class="row">';
if (strpos($_SERVER['SCRIPT_FILENAME'], 'editor.php') !== false) {
if (str_contains($_SERVER['SCRIPT_FILENAME'], 'editor.php')) {
$location = 'editor_right';
} elseif (strpos($_SERVER['SCRIPT_FILENAME'], 'controller.php') !== false) {
} elseif (str_contains($_SERVER['SCRIPT_FILENAME'], 'controller.php')) {
$location = 'controller_right';
}

View File

@ -82,7 +82,7 @@ if (file_exists($docroot.'/include/custom/top.php')) {
}
// Controllo se è una beta e in caso mostro un warning
if (strpos($version, 'beta') !== false) {
if (str_contains($version, 'beta')) {
echo '
<div class="alert alert-warning alert-dismissable pull-right fade in">
<i class="fa fa-warning"></i> <b>'._('Attenzione!').'</b> '._('Stai utilizzando una versione <b>non stabile</b> di OSM.').'

View File

@ -212,7 +212,7 @@ class HTMLBuilder
foreach ($values as $key => $value) {
// Fix per la presenza di apici doppi
$value = prepareToField(is_array($value) ? implode(' ', $value) : $value);
if (strpos($result, '|'.$key.'|') !== false) {
if (str_contains($result, '|'.$key.'|')) {
$result = str_replace('|'.$key.'|', $value, $result);
} elseif (!empty($value) || is_numeric($value)) {
$attributes[] = $key.'="'.$value.'"';

View File

@ -197,7 +197,7 @@ class Modules
$select = '*';
$options = !empty($module['options2']) ? $module['options2'] : $module['options'];
if (strpos($options, '|select|') !== false) {
if (str_contains($options, '|select|')) {
$query = $options;
$user = Auth::user();

View File

@ -65,7 +65,7 @@ class Permissions
$result = true;
if (!self::getSkip()) {
if (!Auth::check() && strpos($_SERVER['SCRIPT_FILENAME'], 'index.php') === false) {
if (!Auth::check() && slashes($_SERVER['SCRIPT_FILENAME']) == slashes(DOCROOT.'/index.php')) {
redirect(ROOTDIR.'/index.php');
exit();
$result = false;

View File

@ -44,7 +44,7 @@ class Settings
$result = $results[0];
$value = $result['valore'];
if (!empty($descrizione) && strpos($result['tipo'], 'query=') !== false) {
if (!empty($descrizione) && str_contains($result['tipo'], 'query=')) {
$data = $database->fetchArray(str_replace('query=', '', $result['tipo']));
if (!empty($data)) {
$value = $data[0]['descrizione'];

View File

@ -68,7 +68,7 @@ class Update
foreach ($results as $result) {
// Individuazione di script e sql
$temp = explode('_', $result);
$file = DOCROOT.((strpos($result, '_') !== false) ? '/modules/'.implode('_', explode('_', $result, -1)) : '').'/update/'.str_replace('.', '_', end($temp));
$file = DOCROOT.((str_contains($result, '_')) ? '/modules/'.implode('_', explode('_', $result, -1)) : '').'/update/'.str_replace('.', '_', end($temp));
$sql = file_exists($file.'.sql') ? 1 : 0;
$script = file_exists($file.'.php') ? 1 : 0;
@ -100,7 +100,7 @@ class Update
$temp = explode('_', $value['version']);
$updates[$key]['filename'] = str_replace('.', '_', end($temp));
$updates[$key]['directory'] = ((strpos($value['version'], '_') !== false) ? '/modules/'.implode('_', explode('_', $value['version'], -1)) : '').'/update/';
$updates[$key]['directory'] = ((str_contains($value['version'], '_')) ? '/modules/'.implode('_', explode('_', $value['version'], -1)) : '').'/update/';
}
self::$updates = $updates;
@ -164,7 +164,7 @@ class Update
protected static function getFile($file)
{
$file = (strpos($file, DOCROOT.DIRECTORY_SEPARATOR) !== false) ? $file : DOCROOT.DIRECTORY_SEPARATOR.$file;
$file = (str_contains($file, DOCROOT.DIRECTORY_SEPARATOR)) ? $file : DOCROOT.DIRECTORY_SEPARATOR.$file;
$result = '';

View File

@ -137,7 +137,7 @@ class Ini
$tipo = ($array[$sezione]['tipo'] == 'input') ? 'text' : $array[$sezione]['tipo'];
$valore = $array[$sezione]['valore'];
$opzioni = strpos($array[$sezione]['opzioni'], ',') ? explode(',', $array[$sezione]['opzioni']) : [];
$opzioni = str_contains($array[$sezione]['opzioni'], ',') ? explode(',', $array[$sezione]['opzioni']) : [];
$values = [];
foreach ($opzioni as $o) {
$values[] = '\"'.addslashes(addslashes($o)).'\": \"'.addslashes(addslashes($o)).'\"';

View File

@ -170,7 +170,7 @@ switch (post('op')) {
}
}
$idagente = ($agente_is_logged && strpos($tipoanagrafica_dst, 'Cliente') !== false) ? $user['idanagrafica'] : 0;
$idagente = ($agente_is_logged && str_contains($tipoanagrafica_dst, 'Cliente')) ? $user['idanagrafica'] : 0;
// Inserisco l'anagrafica
$query = 'INSERT INTO an_anagrafiche(ragione_sociale, codice, idagente) VALUES ('.prepare($ragione_sociale).', '.prepare($codice).', '.prepare($idagente).')';
@ -185,13 +185,13 @@ switch (post('op')) {
$dbo->query($query);
}
if (strpos($tipoanagrafica_dst, 'Azienda') !== false) {
if (str_contains($tipoanagrafica_dst, 'Azienda')) {
$dbo->query('UPDATE zz_settings SET valore='.prepare($new_id)." WHERE nome='Azienda predefinita'");
$_SESSION['infos'][] = _('Anagrafica Azienda impostata come predefinita. Per ulteriori informazionioni, visitare "Strumenti -> Impostazioni -> Generali".');
}
// Creo il relativo conto nel partitario
if (strpos($tipoanagrafica_dst, 'Cliente') !== false) {
if (str_contains($tipoanagrafica_dst, 'Cliente')) {
// Calcolo prossimo numero cliente
$rs = $dbo->fetchArray("SELECT MAX(CAST(co_pianodeiconti3.numero AS UNSIGNED)) AS max_numero FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti2.descrizione='Crediti clienti e crediti diversi'");
$new_numero = $rs[0]['max_numero'] + 1;
@ -203,7 +203,7 @@ switch (post('op')) {
// Collegamento conto
$dbo->query('UPDATE an_anagrafiche SET idconto_cliente='.prepare($idconto).' WHERE idanagrafica='.prepare($new_id));
} elseif (strpos($tipoanagrafica_dst, 'Fornitore') !== false) {
} elseif (str_contains($tipoanagrafica_dst, 'Fornitore')) {
// Calcolo prossimo numero cliente
$rs = $dbo->fetchArray("SELECT MAX(CAST(co_pianodeiconti3.numero AS UNSIGNED)) AS max_numero FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti2.descrizione='Debiti fornitori e debiti diversi'");
$new_numero = $rs[0]['max_numero'] + 1;
@ -219,7 +219,7 @@ switch (post('op')) {
$id_record = $new_id;
if (isAjaxRequest() && strpos($tipoanagrafica_dst, post('tipoanagrafica')) !== false) {
if (isAjaxRequest() && str_contains($tipoanagrafica_dst, post('tipoanagrafica'))) {
echo json_encode(['id' => $id_record, 'text' => $ragione_sociale]);
}
@ -229,7 +229,7 @@ switch (post('op')) {
case 'delete':
// Disattivo l'anagrafica, solo se questa non è l'azienda principale
if (strpos($records[0]['idtipianagrafica'], $id_azienda) === false) {
if (str_contains($records[0]['idtipianagrafica'], $id_azienda) === false) {
$dbo->query('UPDATE an_anagrafiche SET deleted = 1 WHERE idanagrafica = '.prepare($id_record).Modules::getAdditionalsQuery($id_module));
$_SESSION['infos'][] = _('Anagrafica eliminata!');

View File

@ -7,13 +7,16 @@ switch (post('op')) {
$id_azienda = $dbo->fetchArray("SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione='Azienda'")[0]['idtipoanagrafica'];
foreach ($id_records as $id) {
$records = $dbo->fetchArray('SELECT an_tipianagrafiche.idtipoanagrafica FROM an_tipianagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE idanagrafica='.prepare($id));
$tipi = array_column($records, 'idtipoanagrafica');
// Disattivo l'anagrafica, solo se questa non è l'azienda principale
if (strpos($records[0]['idtipianagrafica'], $id_azienda) === false) {
if (!in_array($id_azienda, $tipi)) {
$dbo->query('UPDATE an_anagrafiche SET deleted = 1 WHERE idanagrafica = '.prepare($id).Modules::getAdditionalsQuery($id_module));
}
}
$_SESSION['infos'][] = _('Anagrafica eliminata!');
$_SESSION['infos'][] = _('Anagrafiche eliminate!');
break;
}

View File

@ -287,7 +287,7 @@ if ($fornitore) {
<div class="row">
<div class="col-md-3">
{[ "type": "select", "multiple": "1", "label": "<?php echo _('Tipo di anagrafica'); ?>", "name": "idtipoanagrafica[]", "values": "query=SELECT idtipoanagrafica AS id, descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica NOT IN (SELECT DISTINCT(x.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche x INNER JOIN an_tipianagrafiche t ON x.idtipoanagrafica = t.idtipoanagrafica INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = x.idanagrafica WHERE t.descrizione = 'Azienda' AND deleted = 0) OR idtipoanagrafica IN (SELECT DISTINCT(z.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche z WHERE idanagrafica = <?php echo $records[0]['idanagrafica']; ?>) ORDER BY descrizione", "value": "$idtipianagrafica$"<?php if (strpos($records[0]['idtipianagrafica'], $id_azienda) !== false) {
{[ "type": "select", "multiple": "1", "label": "<?php echo _('Tipo di anagrafica'); ?>", "name": "idtipoanagrafica[]", "values": "query=SELECT idtipoanagrafica AS id, descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica NOT IN (SELECT DISTINCT(x.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche x INNER JOIN an_tipianagrafiche t ON x.idtipoanagrafica = t.idtipoanagrafica INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = x.idanagrafica WHERE t.descrizione = 'Azienda' AND deleted = 0) OR idtipoanagrafica IN (SELECT DISTINCT(z.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche z WHERE idanagrafica = <?php echo $records[0]['idanagrafica']; ?>) ORDER BY descrizione", "value": "$idtipianagrafica$"<?php if (str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
echo ', "readonly": 1';
} ?> ]}
</div>
@ -331,7 +331,7 @@ if ($fornitore) {
</div>
</form>
<?php
if (strpos($records[0]['idtipianagrafica'], $id_azienda) === false) {
if (!str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
echo '
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> '._('Elimina').'

View File

@ -90,7 +90,7 @@ if (!empty($rs)) {
echo '
<td class="text-center">';
if (strpos($r['descrizione'], 'SCONTO') === false) {
if (!str_contains($r['descrizione'], 'SCONTO')) {
echo '
<big>'.Translator::numberToLocale($r['qta'] - $r['qta_evasa']).'</big>
<br><small>('._('Q. iniziale').': '.Translator::numberToLocale($r['qta']).')</small>';
@ -135,7 +135,7 @@ if (!empty($rs)) {
// Possibilità di rimuovere una riga solo se il ddt non è evaso
echo '
<td class="text-center">';
if ($records[0]['stato'] != 'Evaso' && strpos($r['descrizione'], 'SCONTO') === false) {
if ($records[0]['stato'] != 'Evaso' && !str_contains($r['descrizione'], 'SCONTO')) {
echo "
<form action='".$rootdir.'/editor.php?id_module='.Modules::getModule($name)['id'].'&id_record='.$id_record."' method='post' id='delete-form-".$r['id']."' role='form'>
<input type='hidden' name='backto' value='record-edit'>
@ -174,7 +174,7 @@ if (!empty($rs)) {
</form>";
}
if (strpos($r['descrizione'], 'SCONTO') === false) {
if (!str_contains($r['descrizione'], 'SCONTO')) {
echo '
<div class="handle clickable" style="padding:10px">
<i class="fa fa-sort"></i>

View File

@ -177,7 +177,7 @@ if (!empty($rs)) {
echo '
<td class="text-center">';
if ($records[0]['stato'] != 'Pagato' && $records[0]['stato'] != 'Emessa' && strpos($r['descrizione'], 'SCONTO') === false) {
if ($records[0]['stato'] != 'Pagato' && $records[0]['stato'] != 'Emessa' && !str_contains($r['descrizione'], 'SCONTO')) {
echo "
<form action='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record."' method='post' id='delete-form-".$r['id']."' role='form'>
<input type='hidden' name='backto' value='record-edit'>
@ -204,7 +204,7 @@ if (!empty($rs)) {
</form>";
}
if (strpos($r['descrizione'], 'SCONTO') === false) {
if (!str_contains($r['descrizione'], 'SCONTO')) {
echo '
<div class="handle clickable" style="padding:10px">
<i class="fa fa-sort"></i>

View File

@ -123,7 +123,7 @@ foreach ($rs as $r) {
echo ' selected="selected"';
$list[] = $componente['id'];
}
if (strpos($componente['contenuto'], '[Matricola]') !== false) {
if (str_contains($componente['contenuto'], '[Matricola]')) {
$ini_array = parse_ini_string($componente['contenuto'], true);
foreach ($ini_array as $sezione => $array_impostazioni) {
if ($sezione == 'Matricola') {

View File

@ -84,7 +84,7 @@ if (!empty($rs)) {
echo '
<td class="text-center">';
if (strpos($r['descrizione'], 'SCONTO') === false) {
if (!str_contains($r['descrizione'], 'SCONTO')) {
echo '
<big>'.Translator::numberToLocale($r['qta'] - $r['qta_evasa']).'</big>
<br><small>('._('Q. iniziale').': '.Translator::numberToLocale($r['qta']).')</small>';
@ -130,7 +130,7 @@ if (!empty($rs)) {
echo '
<td class="text-center">';
if ($records[0]['stato'] != 'Evaso' && strpos($r['descrizione'], 'SCONTO') === false) {
if ($records[0]['stato'] != 'Evaso' && !str_contains($r['descrizione'], 'SCONTO')) {
echo "
<form action='".$rootdir.'/editor.php?id_module='.Modules::getModule($name)['id'].'&id_record='.$id_record."' method='post' id='delete-form-".$r['id']."' role='form'>
<input type='hidden' name='backto' value='record-edit'>
@ -161,7 +161,7 @@ if (!empty($rs)) {
</form>";
}
if (strpos($r['descrizione'], 'SCONTO') === false) {
if (!str_contains($r['descrizione'], 'SCONTO')) {
echo '
<div class="handle clickable" style="padding:10px">
<i class="fa fa-sort"></i>

View File

@ -78,7 +78,7 @@ if (!empty($rs)) {
echo '
<td class="text-center">';
if ($records[0]['stato'] != 'Pagato' && strpos($r['descrizione'], 'SCONTO') === false) {
if ($records[0]['stato'] != 'Pagato' && !str_contains($r['descrizione'], 'SCONTO')) {
echo "
<form action='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record."' method='post' id='delete-form-".$r['id']."' role='form'>
<input type='hidden' name='backto' value='record-edit'>
@ -94,7 +94,7 @@ if (!empty($rs)) {
</form>";
}
if (strpos($r['descrizione'], 'SCONTO') === false) {
if (!str_contains($r['descrizione'], 'SCONTO')) {
echo '
<div class="handle clickable" style="padding:10px">
<i class="fa fa-sort"></i>

View File

@ -52,15 +52,12 @@ echo '
</div>
</div>';
if ($options != '' && $options != 'menu' && $options != 'custom') {
$module_query = $options;
$total = Modules::getQuery($id_record);
if (strpos($module_query, '|select|') === false) {
$module_query = json_decode($module_query, true);
$module_query = $module_query['main_query'][0]['query'];
}
$module_query = str_replace('|select|', $total['select'], $module_query);
$module_query = $total['query'];
$module_query = str_replace('|period_start|', $_SESSION['period_start'], $module_query);
$module_query = str_replace('|period_end|', $_SESSION['period_end'], $module_query);
$module_query = str_replace('|select|', $total['select'], $module_query);
echo '
<div class="row">

View File

@ -110,7 +110,7 @@ foreach ($replace as $prefix => $values) {
}
// Aggiunta del footer standard
if (strpos($body, '<page_footer>') === false && strpos($report, '<page_footer>') === false) {
if (!str_contains($body, '<page_footer>') && !str_contains($report, '<page_footer>')) {
$report .= '
<!-- Footer -->
<page_footer>