Editeur Editez un fichier

Edition d'un fichier

Editez le fichier applications/nuasix/api_command_posts.php
<?php
//_________________________________________________________________________________
//Récupération tous les posts de la commande
$commandId                  = encrypt_decrypt("decrypt", rawurldecode($_GET['element']), $key_user, $iv_user);
$reqCommand                 = getQueries('api_commands', array('idCommand'  => $commandId));
$command	                = $reqCommand['result'][0];
//POSTS
$reqPosts               = getQueries("api_posts LEFT JOIN nx_users ON api_posts.user_id = nx_users.idUser", 
                                     array("command_id" => $commandId, "entite_id" => $idEntite, "ORDER BY" => "idPost DESC LIMIT 20"));
$posts                  = $reqPosts['result'];
//_________________________________________________________________________________
//_________________________________________________________________________________
//Récupère des données techniques
/*
$sth                    = $bdd -> query('SHOW TABLE STATUS');
$dbSize                 = 0;
$row                    = $sth -> fetch(PDO::FETCH_ASSOC);
$dbSize                 = $row["Data_length"];
$decimals               = 2;  
$mbytes                 = round($dbSize/(1024*1024),$decimals);
*/
//Version PHP et DB
$versionPHP             = phpversion();
$sth                    = $bdd -> query('SELECT VERSION()');
$versionDB              = $sth -> fetch();
//_________________________________________________________________________________
//_________________________________________________________________________________
//Supprimer des posts
if(isset($_POST['delete-posts'])) {

    //Posts à supprimer
    $posts            = $_POST['posts_selected'];

    
    foreach($posts as $post) {

        //Est-ce que le post n'est pas dans un flux de validation ?
        $selector           = array("post_id" => $post);
        $reqValidation      = getQueries("api_validations", array('validation_status' => 0, "post_id" => $post));
        
        //_________________________________________________________________________________
        if(!$reqValidation['count'] || ($user -> superAdmin() == 1)) {

            $selector       = 'idPost = '.$post.'';
            $response       = dbRowDelete('api_posts', $selector);
            
            if( $response ) {
                
                //Suppression des validations attachées à ce post
                $reqValidations      = getQueries("api_validations", array("post_id" => $post));
                
                foreach($reqValidations['result'] as $validation) {
                    dbRowDelete('api_validations_as_users', array('validation_id' => $validation['idValidation']));
                    dbRowDelete('api_validations', array('idValidation' => $validation['idValidation']));
                }
                
                itsLog(array('log_table'        => "api_posts",
                             'log_operation'    => "Requête supprimée", 
                             'log_request'      => json_encode(array($selector)),
                             'log_response'     => json_encode($response),
                             'log_color'        => "success", 
                             'log_display'      => 1,
                             'log_timeout'      => 5000,
                             'id_log'           => $post, 
                             'user_id'          => $user -> getUserId()
                ));
            } else {
                itsLog(array('log_table'        => 'api_posts', 
                             'id_log'           => $post,
                             'log_operation'    => "Erreur dans la suppression de la requête",
                             'log_request'      => json_encode(array($selector)),
                             'log_response'     => json_encode($response),
                             'log_color'        => 'danger',
                             'log_display'      => 1,
                             'log_timeout'      => 5000,
                             'user_id'          => $user -> getUserId()
                ));
            } 
        } else {
            itsLog(array('log_table'        => 'api_posts', 
                         'id_log'           => $post,
                         'log_operation'    => "Cette requête est soumis à un flux de validation.",
                         'log_request'      => json_encode(array()),
                         'log_response'     => json_encode($reqValidation['result']),
                         'log_selector'     => json_encode($selector), 
                         'log_color'        => 'warning',
                         'log_display'      => 1,
                         'log_timeout'      => 5000,
                         'user_id'          => $user -> getUserId()
            ));
        }
    }
    
    //Refresh
    redirect($_SERVER['REQUEST_URI']);
}
//_________________________________________________________________________________
?>
                    <div class="content d-flex flex-column flex-column-fluid" id="kt_content">
						<!--begin::Container-->
						<div class="container-xxl" id="kt_content_container">
							<!--begin::Navbar-->
							<div class="card mb-5 mb-xl-10">
								<div class="card-body pt-9 pb-0">
									<!--begin::Details-->
									<div class="d-flex flex-wrap flex-sm-nowrap mb-3">
										<!--begin::Info-->
										<div class="flex-grow-1">
											<!--begin::Title-->
											<div class="d-flex justify-content-between align-items-start flex-wrap mb-2">
												<!--begin::User-->
												<div class="d-flex flex-column">
													<!--begin::Name-->
													<div class="d-flex align-items-center mb-2">
														<a href="#" class="text-gray-900 text-hover-primary fs-2 fw-bolder me-1"><?= $command['command_name']?></a>
                                                        <span class="btn btn-sm btn-light-<?= ( ($command['command_status'] == 1) ? 'success':'danger') ?> fw-bolder ms-2 fs-8 py-1 px-3"><?= $command['command_status_label']?></span>
													</div>
													<!--end::Name-->
													<!--begin::Info-->
													<div class="d-flex flex-wrap fw-bold fs-6 mb-4 pe-2">
														<a href="#" class="d-flex align-items-center text-gray-400 text-hover-primary me-5 mb-2">
														<!--begin::Svg Icon | path: assets/media/icons/duotune/technology/teh001.svg-->
                                                        <span class="svg-icon svg-icon-muted svg-icon-2hx"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                        <path opacity="0.3" d="M21 13H15V11H21C21.6 11 22 10.6 22 10C22 9.4 21.6 9 21 9H15V3C15 2.4 14.6 2 14 2C13.4 2 13 2.4 13 3V9H11V3C11 2.4 10.6 2 10 2C9.4 2 9 2.4 9 3V9H3C2.4 9 2 9.4 2 10C2 10.6 2.4 11 3 11H9V13H3C2.4 13 2 13.4 2 14C2 14.6 2.4 15 3 15H9V21C9 21.6 9.4 22 10 22C10.6 22 11 21.6 11 21V15H13V21C13 21.6 13.4 22 14 22C14.6 22 15 21.6 15 21V15H21C21.6 15 22 14.6 22 14C22 13.4 21.6 13 21 13Z" fill="black"/>
                                                        <path d="M16 17H8C7.4 17 7 16.6 7 16V8C7 7.4 7.4 7 8 7H16C16.6 7 17 7.4 17 8V16C17 16.6 16.6 17 16 17ZM14 10H10V14H14V10Z" fill="black"/>
                                                        </svg></span>
                                                        <!--end::Svg Icon--><?= $command['command_type'] . " [".$command['command_api_name']."]"?></a>
													</div>
													<!--end::Info-->
												</div>
												<!--end::User-->
												<!--begin::Actions-->
												<div class="d-flex my-4">
													<!--begin::Menu-->
													<div class="me-0">
														<button class="btn btn-sm btn-icon btn-bg-light btn-active-color-primary" data-kt-menu-trigger="click" data-kt-menu-placement="bottom-end">
															<i class="bi bi-three-dots fs-3"></i>
														</button>
														<!--begin::Menu 3-->
														<div class="menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary fw-bold w-200px py-3" data-kt-menu="true">
															<!--begin::Heading-->
															<div class="menu-item px-3">
																<div class="menu-content text-muted pb-2 px-3 fs-7 text-uppercase">Commande</div>
															</div>
															<!--end::Heading-->
															<!--begin::Menu item-->
															<div class="menu-item px-3">
																<a href="#" class="menu-link text-danger px-5" data-action="delete" data-id="<?= encrypt_decrypt("encrypt", $commandId, $key_user, $iv_user)?>" data-method="custom" data-element="<?= encrypt_decrypt("encrypt", "command", $key_user, $iv_user)?>">Supprimer la commande</a>
															</div>
															<!--end::Menu item-->
														</div>
														<!--end::Menu 3-->
													</div>
													<!--end::Menu-->
												</div>
												<!--end::Actions-->
											</div>
											<!--end::Title-->
										</div>
										<!--end::Info-->
									</div>
									<!--end::Details-->
									<!--begin::Navs-->
									<ul class="nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder">
										<!--begin::Nav item-->
										<li class="nav-item mt-2">
											<a class="nav-link text-active-primary ms-0 me-10 py-5" href="index.php?page_slug=api_command-tables&element=<?= rawurlencode(encrypt_decrypt("encrypt", $commandId, $key_user, $iv_user))?>">Tables & colonnes</a>
										</li>
										<!--end::Nav item-->
										<!--begin::Nav item-->
										<li class="nav-item mt-2">
											<a class="nav-link text-active-primary ms-0 me-10 py-5" href="index.php?page_slug=api_command-parameters&element=<?= rawurlencode(encrypt_decrypt("encrypt", $commandId, $key_user, $iv_user))?>">Paramètres</a>
										</li>
										<!--end::Nav item-->
										<!--begin::Nav item-->
										<li class="nav-item mt-2">
											<a class="nav-link text-active-primary ms-0 me-10 py-5" href="index.php?page_slug=api_command-conditions&element=<?= rawurlencode(encrypt_decrypt("encrypt", $commandId, $key_user, $iv_user))?>">Conditions</a>
										</li>
										<!--end::Nav item-->
                                        <!--begin::Nav item-->
										<li class="nav-item mt-2">
											<a class="nav-link text-active-primary ms-0 me-10 py-5" href="index.php?page_slug=api_command-permissions&element=<?= rawurlencode(encrypt_decrypt("encrypt", $commandId, $key_user, $iv_user))?>">Permissions</a>
										</li>
										<!--end::Nav item-->
                                        <!--begin::Nav item-->
										<li class="nav-item mt-2">
											<a class="nav-link text-active-primary ms-0 me-10 py-5 active" href="index.php?page_slug=api_command-posts&element=<?= rawurlencode(encrypt_decrypt("encrypt", $commandId, $key_user, $iv_user))?>">Requêtes</a>
										</li>
										<!--end::Nav item-->
                                        <!--begin::Nav item-->
										<li class="nav-item mt-2">
											<a class="nav-link text-active-primary ms-0 me-10 py-5" href="index.php?page_slug=api_command-returns&element=<?= rawurlencode(encrypt_decrypt("encrypt", $commandId, $key_user, $iv_user))?>">Retour</a>
										</li>
										<!--end::Nav item-->
                                        <!--begin::Nav item-->
										<li class="nav-item mt-2">
											<a class="nav-link text-active-primary ms-0 me-10 py-5" href="index.php?page_slug=api_command-notifications&element=<?= rawurlencode(encrypt_decrypt("encrypt", $commandId, $key_user, $iv_user))?>">Notification</a>
										</li>
										<!--end::Nav item-->
                                        <!--begin::Nav item-->
										<li class="nav-item mt-2">
											<a class="nav-link text-active-primary ms-0 me-10 py-5" href="index.php?page_slug=api_command-edit&element=<?= rawurlencode(encrypt_decrypt("encrypt", $commandId, $key_user, $iv_user))?>">Modifier</a>
										</li>
										<!--end::Nav item-->
									</ul>
									<!--begin::Navs-->
								</div>
							</div>
							<!--end::Navbar-->
							<!--begin::Posts-->
							<div class="card mb-5 mb-xl-10">
								<!--begin::Card header-->
								<div class="card-header border-0 cursor-pointer" role="button" data-bs-toggle="collapse" data-bs-target="#posts" aria-expanded="true" aria-controls="tables">
									<div class="card-title m-0">
										<h3 class="fw-bolder m-0">Requêtes sauvegardées</h3>
									</div>
								</div>
								<!--begin::Card header-->
								<!--begin::Content-->
								<div id="posts" class="collapse show">
									<!--begin::Form-->
									<form class="form" action="" method="post">
										<!--begin::Card body-->
										<div class="card-body border-top px-9 py-9">
                                            <?php
                                            foreach($posts as $post) {
                                                //Récupération du flux de validation
                                                $reqValidation      = getQueries("api_validations", array("post_id" => $post['idPost']));
                                            ?>
                                            <!--begin::Option-->
											<label class="form-check form-check-custom form-check-solid align-items-start">
												<!--begin::Input-->
												<input class="form-check-input me-3" type="checkbox" name="posts_selected[]" value="<?= $post['idPost']?>" />
												<!--end::Input-->
												<!--begin::Label-->
												<span class="form-check-label d-flex flex-column align-items-start">
													<span class="fw-bolder fs-5 mb-0"><?= "#" .$post['idPost'] . " - Soumis par " .encrypt_decrypt("decrypt", $post['user_firstname'], $key_user, $iv_user) . " " . encrypt_decrypt("decrypt", $post['user_lastname'], $key_user, $iv_user)?></span>
													<span class="text-muted fs-6"><a href="index.php?page_slug=api_post-single&element=<?= rawurlencode(encrypt_decrypt("encrypt", $post['idPost'], $key_user, $iv_user))?>"><?= ( ($reqValidation['count']) ? '<span class="badge badge-'.( ($reqValidation['result'][0]['validation_status'] == "1") ? "success" : 'warning' ).'">'.$reqValidation['result'][0]['validation_status_label'].'</span>' : '')?> Voir la requête</a></span>
												</span>
												<!--end::Label-->
											</label>
											<!--end::Option-->
                                            <!--begin::Option-->
											<div class="separator separator-dashed my-6"></div>
											<!--end::Option-->
                                            <?php
                                            }
                                            ?>
										</div>
										<!--end::Card body-->
										<!--begin::Card footer-->
										<div class="card-footer d-flex justify-content-end py-6 px-9">
											<button class="btn btn-primary px-6" type="submit" name="delete-posts">Supprimer les sauvegardes sélectionnées</button>
										</div>
										<!--end::Card footer-->
									</form>
									<!--end::Form-->
								</div>
								<!--end::Content-->
							</div>
                            <!--end::Posts-->
						</div>
						<!--end::Container-->
					</div>

Conseils et liens

Liens vers des ressources utiles pour l'édition de fichier