0% encontró este documento útil (0 votos)
18 vistas9 páginas

Dos

El documento describe una función PHP que muestra una sección de talleres en un sitio web. Muestra las primeras 3 categorías de talleres obtenidas de una base de datos y ofrece un enlace para ver todos. También incluye una sección de inscripción y estilos CSS. Otra función permite seleccionar múltiples categorías mediante AJAX y guardar los IDs en la base de datos.

Cargado por

simon
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
18 vistas9 páginas

Dos

El documento describe una función PHP que muestra una sección de talleres en un sitio web. Muestra las primeras 3 categorías de talleres obtenidas de una base de datos y ofrece un enlace para ver todos. También incluye una sección de inscripción y estilos CSS. Otra función permite seleccionar múltiples categorías mediante AJAX y guardar los IDs en la base de datos.

Cargado por

simon
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

function loadTalleres(){

$datos_cat = obtenerCat();
?><div class="talleres">
<div>

<?php for($i=0;$i<count($datos_cat);$i++){
if($i == 3){
break;
}
if($datos_cat[$i]['url_imagen'] == ''){
?><div><img
src="http://18.189.42.176/wp-content/uploads/2022/06/cuadro_talleres.bmp" /><div
class="med abaj_ima"><?php print_r($datos_cat[$i]['cat_nombre']);?></div></div><?
php
}else{
?><div><img src=<?php print_r($datos_cat[$i]
['url_imagen']);?> /><div class="med"><?php print_r($datos_cat[$i]['cat_nombre']);?
></div></div><?php
}
?>

<?php } ?>
<!--<div><img
src="http://18.189.42.176/wp-content/uploads/2022/06/cuadro_talleres.bmp" /></div>
<div><img
src="http://18.189.42.176/wp-content/uploads/2022/06/cuadro_talleres.bmp"
/></div>-->
</div>
<div class="texto1 med"><a href="">< Ver todos los talleres</a></div>
</div>
<div class="inscripcion"><div><p>¿Quieres ser parte de nuestros
artistas?</p><p>Inscribete revisaremos tus datos y te enviaremos el detalle para
ser parte de nuestra comunidad</p></div><div class="bot_ins"><div><a
href="http://18.189.42.176/inscripcion/">Solicitar
inscripción</a></div></div></div>
<div class="ult_linea">"El trabajo artistico puede ser una herramienta
valiosa para la transformacion social"</div>
<style>
.talleres, .inscripcion{
width:95%;
margin:auto;
border-radius:5px;
border:2px solid black;
max-width:1280px;
}

.talleres>div{
padding:20px;
display:flex!important;
justify-content:center;
align-items:center;
width:auto;
}

.talleres>div>div{
width:30%;
}
.talleres>div>div:nth-child(2){
margin-left:5%;
margin-right:5%;
}
.talleres>div img{
width:100%;
cursor:pointer;
}
.texto1{
justify-content:right!important;
}
.texto1>div{
width:20%;
min-width:100px;
}

.inscripcion>div:nth-child(1){
width:70%;
}

.inscripcion>div:nth-child(2){
width:30%;
display:flex!important;
justify-content:center;
align-items:center;
}
.inscripcion{
display:flex!important;
justify-content:center;
align-items:center;
margin-top:30px!important;
padding:10px;
}

.bot_ins>div{
width:60%;
display:flex!important;
justify-content:center;
align-items:center;
border:1px solid black;
}

.ult_linea{
width:95%;
margin:auto;
text-align:center;
margin-top:10px;
}

.abaj_ima{
text-align:center;
margin-top:10px;
font-weight:700;
}
@media (max-width:980px){
.inscripcion{
display:block!important;
}

.inscripcion>div{
width:100%!important;
}
}
</style><?php
}

add_shortcode('loadTalleres','loadTalleres');

//para funcionalidad de administrador


function selectMultiple(){
$datos_cat = obtenerCat();
?><div class="sel_mul">
<div class="sel_especialidad">
<select name="select">
<?php for($i=0;$i<count($datos_cat);$i++){
if($i==0){?>
<option selected value="<?php print_r($datos_cat[$i]
['id_cat']);?>"><?php print_r($datos_cat[$i]['cat_nombre']);?></option>
<?php }else{?>
<option value="<?php print_r($datos_cat[$i]['id_cat']);?
>"><?php print_r($datos_cat[$i]['cat_nombre']);?></option>
<?php }?>

<?php }?>
</select>
</div>
<div class="contenedor">
<?php for($i=0;$i<count($datos_cat);$i++){
?><div class="elemento desaparecer" value="<?php
print_r($datos_cat[$i]['id_cat']);?>"><div><?php print_r($datos_cat[$i]
['cat_nombre']);?></div><div class = "quitar">X</div></div>
<?php }?>
</div>

</div>

<style>
.contenedor{
border-radius:15px;
border:1px solid black;
padding:5px;
margin-top:20px;
width:30%;
height:300px;
min-width:200px;
}
.elemento{
border-radius:15px;
float:left;
border:1px solid black;
padding:3px;
display:flex;
justify-content:center;
align-items:center;
}
.desaparecer{
display:none;
}
.quitar{
border:1px solid black;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
padding:2px;
cursor:pointer;
}
</style>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
jQuery(document).ready(function($){
var elementos = document.getElementsByClassName('elemento');
var opciones = document.getElementsByClassName('sel_especialidad')
[0].getElementsByTagName('select')[0];
$('.sel_especialidad').on('change','select',function(evt){

elementos[evt.target.selectedIndex].classList.remove('desaparecer');

opciones.children[evt.target.selectedIndex].classList.add('desaparecer');
});

$('.quitar').on('click',function(evt){
evt.target.parentNode.classList.add('desaparecer');
//desaparecer opcion
var index = getIndex(evt.target.parentNode);
opciones.children[index].classList.remove('desaparecer');
});

function getIndex(actual){
var index = -1;
for(var i=0;i<elementos.length;i++){
if(elementos[i] == actual){
index = i;
break;
}
}
return index;
}
});
</script><?php
}

add_shortcode('selectMultiple','selectMultiple');

function loadJSAjax(){
?>
<script>

function recuperarValores(){
var des = opciones.getElementsByClassName('desaparecer');
var ids = Array();
//console.log("longitud = "+des.length);
for(var i=0;i<des.length;i++){
if(des[i].value != null && des[i].value != '' && !
isNaN(des[i].value)){
ids[i] = des[i].value;
}
//console.log('ids = '+ids[i]);
}
return ids;
}
var bloqueado = false;
//recuperarValores()
function ajaxcategorias(ids){
///inicio///

//ejecutar ajax de insercion


if(!bloqueado){
bloqueado = true;
var myData = {};
myData['ids_cat'] = [ids];
myData['id_usuario'] = [1+1];
jQuery.ajax({
type: 'post',
dataType: 'json',
url: location.origin+'/wp-admin/'+'admin-ajax.php?
action=guardar_ids',//
data: myData,
success: function (response) {
if (response.status === 'successful') {
alert(response.message);
//window.location.href = url_full.split('wp-
admin')[0] + 'checkout/';
}else{
alert(response.message);
//alert("No hay servicios
disponibles.");
}

bloqueado = false;
},
error: function (err) {
console.log(err);
//alert(response.message);
bloqueado = false;
}

});
}

//fin//////
}

function getCateAuto(){
///inicio///

//ejecutar ajax de insercion


if(!bloqueado){
bloqueado = true;
var myData = {};
myData['id_usuario'] = [1+1];
jQuery.ajax({
type: 'post',
dataType: 'json',
url: location.origin+'/wp-admin/'+'admin-ajax.php?
action=get_ids',//
data: myData,
success: function (response) {
if (response.status === 'successful') {
alert(response.data);
//window.location.href = url_full.split('wp-
admin')[0] + 'checkout/';
}else{
alert(response.data);
//alert("No hay servicios
disponibles.");
}

bloqueado = false;
},
error: function (err) {
console.log(err);
//alert(response.message);
bloqueado = false;
}

});
}

//fin//////
}

function borrarCate(){
///inicio///

//ejecutar ajax de insercion


if(!bloqueado){
bloqueado = true;
var myData = {};
myData['id_usuario'] = [1+1];
jQuery.ajax({
type: 'post',
dataType: 'json',
url: location.origin+'/wp-admin/'+'admin-ajax.php?
action=borrar_ids',//
data: myData,
success: function (response) {
if (response.status === 'successful') {
alert(response.message);
//window.location.href = url_full.split('wp-
admin')[0] + 'checkout/';
}else{
alert(response.message);
//alert("No hay servicios
disponibles.");
}

bloqueado = false;
},
error: function (err) {
console.log(err);
//alert(response.message);
bloqueado = false;
}

});
}

//fin//////
}
</script>
<?php
}

//Ganchos php
//add_action( 'wp_ajax_nopriv_guardar_datos', 'guardarIds' );
add_action( 'wp_ajax_guardar_ids', 'guardarIds' );

function guardarIds(){
$response = array(
'status' => 'failed',
'message' => 'Error al actualiar los ids',
);

if(isset($_POST['ids_cat']) && isset($_POST['id_usuario']) &&


is_numeric($_POST['id_usuario'][0]) && intval($_POST['id_usuario'][0])>=0){
$id = intval($_POST['id_usuario'][0]);
$nombre_option = 'um_permisos_especialidad_user_'.$id;
//add_option( $nombre_option);
$valor = array(1,2,3,4,5);

//obtener ids
$flag = consultarIdUser('um_permisos_especialidad', ' where id_user = '.$id
, array('ids_oficios'));
/*$flag = true;
foreach($resultado as $res){
$res->ids_oficios;
$flag = false;
break;
}*/

$valor = maybe_serialize($valor);
if($flag == null){
$flag = insertarIdUser('um_permisos_especialidad', array('id_user' =>
$id, 'ids_oficios'=>$valor));
if($flag != false){
$flag = true;
}

}else{
$flag = updateIdUser('um_permisos_especialidad', array( 'id_user' =>
$id ), array('ids_oficios'=>$valor));
if($flag != false){
$flag = true;
}
$flag=true;
}

//$flag = update_option( $nombre_option, maybe_serialize($valor));


if($flag == true){
$response['message'] = 'OK';
$response['status'] = 'successful';
}
}
wp_send_json( $response);
die;
}

add_action( 'wp_ajax_nopriv_get_ids', 'getIds' );


add_action( 'wp_ajax_get_ids', 'getIds' );
function getIds(){
$response = array(
'status' => 'failed',
'message' => 'No existe un usuario con esa id en la DB',
'data' => array(),
);

if(isset($_POST['id_usuario']) && is_numeric($_POST['id_usuario'][0]) &&


intval($_POST['id_usuario'][0])>=0){
$id = intval($_POST['id_usuario'][0]);

//$nombre_option = 'um_permisos_especialidad_user_'.$id;
//$resultado = maybe_unserialize(get_option( $nombre_option));
$resultados = consultarIdUser('um_permisos_especialidad', ' where id_user =
'.$id , array('ids_oficios'));
$resultado = null;
foreach($resultados as $res){
$resultado = $res->ids_oficios;
break;
}

if($resultado != false){
$response['data'] = maybe_unserialize($resultado);
$response['message'] = 'OK';
$response['status'] = 'successful';
}
}
wp_send_json( $response);
die;
}

add_action( 'wp_ajax_borrar_ids', 'borrarIds' );

function borrarIds(){
$response = array(
'status' => 'failed',
'message' => 'Error al borrar los ids',
);

if(isset($_POST['id_usuario']) && is_numeric($_POST['id_usuario'][0]) &&


intval($_POST['id_usuario'][0])>=0){
$id = intval($_POST['id_usuario'][0]);
$nombre_option = 'um_permisos_especialidad_user_'.$id;
$valor = array(1,2,3,4);
$flag = eliminarIdUser('um_permisos_especialidad', array('id_user'=> $id));
if($flag != false){
$flag = true;
}
//$flag = delete_option($nombre_option);
if($flag == true){
$response['message'] = 'OK';
$response['status'] = 'successful';
}
}
wp_send_json( $response);
die;
}

function revisarCategorias($cate){
$arreglo_ent = array_unique($arreglo);
$arreglo_sal = array();
$i = 0;
foreach($arreglo_ent as $arr){
if(is_numeric($arr) && verificarPadre($arr)){
$arreglo_sal[$i] = $arr;
$i++;
}
}
return $arreglo_sal;
}

También podría gustarte