D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
vblioqus
/
safa777.info
/
wp-content
/
themes
/
appyn
/
includes
/
Filename :
admin.php
back
Copy
<?php if( ! defined( 'ABSPATH' ) ) die ( '✋' ); include_once __DIR__.'/../admin/panel.php'; add_action( 'admin_enqueue_scripts', 'load_custom_wp_admin_style' ); function load_custom_wp_admin_style() { wp_enqueue_style( 'style-admin', get_bloginfo("template_directory").'/admin/assets/css/style.css', false, VERSIONPX, 'all' ); wp_enqueue_style( 'style-font-awesome', get_template_directory_uri().'/assets/css/font-awesome-6.4.2.min.css', false, VERSIONPX, 'all' ); wp_enqueue_style( 'wp-color-picker' ); wp_enqueue_style( 'thickbox' ); } add_action( 'admin_enqueue_scripts', 'load_custom_wp_admin_scripts' ); function load_custom_wp_admin_scripts() { wp_enqueue_script( 'jquery-ui-sortable' ); wp_enqueue_script( 'media-upload' ); wp_enqueue_script( 'thickbox' ); wp_enqueue_script( 'my-upload' ); wp_register_script( 'custom-upload', get_bloginfo('template_url').'/admin/assets/js/upload.js',array('jquery','media-upload','thickbox') ); wp_enqueue_script( 'custom-upload' ); wp_enqueue_script( 'colorpicker-custom', get_bloginfo("template_directory").'/admin/assets/js/colorpicker.js', array( 'wp-color-picker' ), false, true ); wp_enqueue_script( 'admin-js', get_bloginfo("template_directory").'/admin/assets/js/js.js', false, VERSIONPX, true ); wp_localize_script( 'admin-js', 'ajax_var', array( 'url' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'admin_panel_nonce' ), 'action' => 'px_panel_admin', 'error_text' => __( 'Ocurrió un error', 'appyn' ), ) ); global $post; $pp = isset($post->post_parent) ? $post->post_parent : null; $am = ''; if( $pp != 0 ) { $am = "\n".__( 'Importante: Este post es una versión antigua', 'appyn' ); } wp_localize_script( 'admin-js', 'vars', array( '_img' => __( 'Imagen', 'appyn' ), '_title' => __( 'Título', 'appyn' ), '_version' => __( 'Versión', 'appyn' ), '_import_text' => __( 'Importar datos', 'appyn' ), '_confirm_update_text' => __( '¿Quiere actualizar la información de esta aplicación? Recuerda que reemplazará toda la información.', 'appyn' ).$am, ) ); wp_localize_script( 'admin-js', 'importgp_nonce', array( 'nonce' => wp_create_nonce( 'importgp_nonce' ) ) ); wp_localize_script( 'admin-js', 'md', array( 'px_limit_filesize' => MAX_DOWNLOAD_FILESIZE, ) ); } add_action( 'admin_notices', 'admin_notice_update' ); function admin_notice_update() { $url = 'https://themespixel.net/api.php?theme='.THEMEPX; $data = get_remote_html( $url ); $result = json_decode($data, TRUE); if( $result && str_replace('.', '', VERSIONPX) < str_replace('.', '', $result['version']) ) { ?><?php add_thickbox(); ?> <?php $user_locale = strstr(get_user_locale(), '_', true); ?> <div class="notice notice-success inline" style="margin-left:2px;"> <p><?php echo sprintf(__( 'Está disponible una nueva versión del theme %s', 'appyn' ), ucfirst(THEMEPX)); ?> . <a href="https://themespixel.net/changelog.php?theme=<?php echo THEMEPX; ?>&lang=<?php echo $user_locale; ?>&TB_iframe=true&width=550&height=450" class="thickbox"><?php echo sprintf(__( 'Revisa los detalles de la versión %s', 'appyn' ), $result['version']); ?></a>. <a href="https://themespixel.net/login/" target="_blank"><?php echo __( 'Descárgala ahora', 'appyn' ); ?></a>.</p> </div> <?php } } add_action( 'admin_notices', 'admin_notice_apikey' ); function admin_notice_apikey() { if( ! appyn_options( 'apikey' ) ) { echo '<div class="error inline" style="margin-left:2px;"> <p>'.sprintf( __( 'Debe colocar una %s para hacer uso del %s, ver la lista de %s y el área de %s.', 'appyn' ), '<a href="'.admin_url('admin.php?page=appyn_panel#edcgp').'">API Key</a>', '<a href="'.admin_url('admin.php?page=appyn_content_import_gp').'">'.__( 'Importador de contenido', 'appyn' ).'</a>', '<a href="'.admin_url('admin.php?page=appyn_updated_apps').'">'.__( 'Apps por actualizar', 'appyn' ).'</a>', '<a href="'.admin_url('admin.php?page=appyn_mod_apps').'">'.__( 'Apps modificadas', 'appyn' ).'</a>' ) .'</p> </div>'; } } add_filter( 'px_process_convert_post_old_version', 'px_process_convert_post_old_version_callback', 10, 2 ); function px_process_convert_post_old_version_callback( $post_id, $return = '' ) { global $wpdb; $post = get_post( $post_id ); $current_user = wp_get_current_user(); $new_post_author = $current_user->ID; if (isset( $post ) && $post != null) { $info = get_post_meta( $post->ID, 'datos_informacion', true ); $cb = get_post_meta( $post->ID, 'custom_boxes', true ); $post_title = $post->post_title; if( !empty( $info['version'] ) ) { $post_title .= ' '.$info['version']; } $args = array( 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'post_author' => $new_post_author, 'post_content' => $post->post_content, 'post_excerpt' => $post->post_excerpt, 'post_name' => $post->post_name, 'post_parent' => $post->post_parent, 'post_password' => $post->post_password, 'post_status' => 'publish', 'post_title' => $post_title, 'post_type' => $post->post_type, 'to_ping' => $post->to_ping, 'menu_order' => $post->menu_order, 'post_parent' => $post_id, ); $new_post_id = wp_insert_post( $args ); $p_name = wp_unique_post_slug( sanitize_title( $post_title ), $new_post_id, 'publish', 'post', $post->post_parent ); wp_update_post( array( 'ID' => $new_post_id, 'post_date' => $post->post_date, 'post_date_gmt' => $post->post_date_gmt, 'post_name' => $p_name, )); wp_update_post( array( 'ID' => $post->ID, 'post_date' => the_date('', '', '', FALSE), 'post_date_gmt' => the_date('', '', '', FALSE), )); update_post_meta( $post->ID, "custom_boxes", $cb ); update_post_meta( $new_post_id, "custom_boxes", $cb ); $taxonomies = get_object_taxonomies($post->post_type); foreach ($taxonomies as $taxonomy) { $post_terms = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'slugs')); wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false); } $post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id"); if (count($post_meta_infos)!=0) { $sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) "; foreach ($post_meta_infos as $meta_info) { $meta_key = $meta_info->meta_key; if( $meta_key == '_wp_old_slug' ) continue; $meta_value = addslashes($meta_info->meta_value); $sql_query_sel[]= "SELECT $new_post_id, '$meta_key', '$meta_value'"; } $sql_query.= implode(" UNION ALL ", $sql_query_sel); $wpdb->query($sql_query); } if( $return == 'redirect' ) { wp_redirect( admin_url( 'post.php?action=edit&post=' . $post_id ) ); exit; } else { return $post_id; } } else { wp_die('Post creation failed, could not find original post: ' . $post_id); } } add_action( 'admin_action_px_convert_post_old_version', 'px_convert_post_old_version' ); function px_convert_post_old_version(){ global $wpdb; if (! ( isset( $_GET['post']) || isset( $_POST['post']) || ( isset($_REQUEST['action']) && 'px_convert_post_old_version' == $_REQUEST['action'] ) ) ) { wp_die('No post to duplicate has been supplied!'); } if ( !isset( $_GET['duplicate_nonce'] ) || !wp_verify_nonce( $_GET['duplicate_nonce'], basename( __FILE__ ) ) ) return; $post_id = (isset($_GET['post']) ? absint( $_GET['post'] ) : absint( $_POST['post'] ) ); apply_filters( 'px_process_convert_post_old_version', $post_id, 'redirect' ); } add_filter( 'page_row_actions', 'px_duplicate_post_link', 10, 2 ); function px_duplicate_post_link( $actions, $post ) { if( current_user_can('edit_posts') && $post->post_parent == 0 && $post->post_status == "publish" && $post->post_type == "post" ) { $actions['duplicate'] = '<a href="' . wp_nonce_url('admin.php?action=px_convert_post_old_version&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="'.__( 'Convertir en versión anterior', 'appyn' ).'" rel="permalink">'.__( 'Convertir en versión anterior', 'appyn' ).'</a>'; } return $actions; } add_action( 'admin_bar_menu', 'toolbar_admin_px', 999 ); function toolbar_admin_px( $wp_admin_bar ) { $post_id = ( isset($_GET['post']) ) ? $_GET['post'] : NULL; $args = array( 'id' => 'menu_reports', 'title' => '<span class="ab-icon"></span><span class="ab-label">'.count_reports().'</span>', 'href' => admin_url().'admin.php?page=appyn_reports', 'meta' => array( 'class' => 'tbap-report', 'title' => __( 'Reportes', 'appyn' )), 'parent' => false, ); $wp_admin_bar->add_node( $args ); $results = get_option( 'posts_download_links_status_404', array() ); $args = array( 'id' => 'check_download_links', 'title' => '<span class="ab-icon"></span><span class="ab-label">'.count($results).'</span>', 'href' => admin_url().'edit.php?post_type=post&type=check_download_links', 'meta' => array( 'class' => 'tbap-cdl', 'title' => __( 'Enlaces de descarga rotos', 'appyn' ) ), 'parent' => false, ); $wp_admin_bar->add_node( $args ); $args = array( 'id' => 'appyn_content_import_gp', 'title' => '<span class="ab-icon"></span><span class="ab-label">'.__( 'Importar contenido (Google Play)', 'appyn' ).' </span>', 'href' => admin_url().'admin.php?page=appyn_content_import_gp', 'meta' => array( 'class' => 'tbap-ipcgp'), 'parent' => false, ); $wp_admin_bar->add_node( $args ); $args = array( 'id' => 'appyn_mod_apps', 'title' => '<span class="ab-icon"></span><span class="ab-label">'.__( 'Apps modificadas', 'appyn' ).' </span>', 'href' => admin_url().'admin.php?page=appyn_mod_apps', 'meta' => array( 'class' => 'tbap-ipcmda'), 'parent' => false, ); $wp_admin_bar->add_node( $args ); if( $post_id ) { if( get_post_type($post_id) == "post" ) { $args = array( 'id' => 'appyn_actualizar_informacion', 'title' => '<span class="ab-icon"></span><span class="ab-label">'.__( 'Actualizar información', 'appyn' ).'</span>', 'href' => 'javascript:void(0)', 'meta' => array( 'class' => 'tbap-update', ), 'parent' => false, ); $wp_admin_bar->add_node( $args ); } if( wp_get_post_parent_id($post_id) ) { $args = array( 'id' => 'appyn_view_post_parent', 'title' => '<span class="ab-label">'.__( 'Ver post padre', 'appyn' ).'</span>', 'href' => get_edit_post_link( wp_get_post_parent_id($post_id) ), 'parent' => false, ); $wp_admin_bar->add_node( $args ); } } $args = array( 'id' => 'appyn_updated_apps', 'title' => '<span class="ab-icon"></span><span class="ab-label">'.__( 'Apps por actualizar', 'appyn' ).' <span>('. px_count_update_apps() .')</span></span>', 'href' => admin_url().'admin.php?page=appyn_updated_apps', 'meta' => array( 'class' => 'tbap-ipaua'), 'parent' => false, ); $wp_admin_bar->add_node( $args ); } add_action( 'admin_head', 'css_admin_bar' ); add_action( 'wp_head', 'css_admin_bar' ); function css_admin_bar() { if( ! is_user_logged_in() ) return; echo ' <style type="text/css"> .tbap-report .ab-icon::before, .tbap-update .ab-icon::before, .tbap-ipcgp .ab-icon::before, .tbap-ipaua .ab-icon::before, .tbap-cdl .ab-icon::before { content: "\f534"; display: inline-block; -webkit-font-smoothing: antialiased; font-family: "dashicons"; font-display: "swap"; vertical-align: middle; position: relative; top: -3px; } #wpadminbar #wp-admin-bar-appyn_content_import_gp a { background: rgba(255,255,255,0.2); } #wpadminbar #wp-admin-bar-appyn_content_import_gp, #wpadminbar #wp-admin-bar-appyn_updated_apps, #wpadminbar #wp-admin-bar-appyn_mod_apps { display: block; } .tbap-ipcgp .ab-icon::before, .tbap-ipcmda .ab-icon::before { content: "\f3ab"; font-family: "Font Awesome 6 Brands"; font-size: 17px; top: -2px; } .tbap-ipcmda .ab-icon::before { content: "\f1c9"; font-family: "Font Awesome 6 Free" ; } .tbap-update .ab-icon::before { content: "\f463"; height: 19px; } .tbap-ipaua .ab-icon::before { content: "\f469"; height: 19px; } .tbap-cdl .ab-icon::before { content: "\f225"; height: 15px; font-size: 18px; } .tbap-update.wait .ab-icon { animation: infinite-spinning 2s infinite; -webkit-animation: infinite-spinning 2s infinite; -webkit-animation-timing-function: linear; animation-timing-function: linear; } @media (max-width:768px) { .tbap-ipcgp .ab-icon::before, .tbap-ipaua .ab-icon::before, .tbap-ipcmda .ab-icon::before { line-height: 1.33333333; height: 46px!important; text-align: center; width: 52px; font-size: 33px; vertical-align: inherit; top: 0; } .tbap-ipcgp .ab-icon::before, .tbap-ipcmda .ab-icon::before { top: -6px; font-size: 30px; } } @keyframes infinite-spinning { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } </style>'; } add_action( 'admin_menu', 'px_admin_menu_edit_u' ); function px_admin_menu_edit_u() { global $submenu; $submenu['edit.php'][5][2] = add_query_arg( 'post_type', 'post', $submenu['edit.php'][5][2] ); } add_action( 'admin_footer', function() { $screen = get_current_screen(); if( $screen->parent_base == 'edit' && isset($_GET['post']) ) { global $post; $c = __( 'Convertir a versión anterior', 'appyn' ); if( $post->post_parent == 0 ) { ?> <script> (function($) { if( $('.page-title-action').length ) { $('.page-title-action').after('<a href="<?php echo wp_nonce_url('admin.php?action=px_convert_post_old_version&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce' ); ?>" class="page-title-action" title="<?php echo $c; ?>"><?php echo $c; ?></a>'); } setTimeout(() => { if( $('.edit-post-header__settings').length ) { $('.edit-post-header__settings').prepend('<a href="<?php echo wp_nonce_url('admin.php?action=px_convert_post_old_version&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce' ); ?>" class="components-button is-tertiary cava" title="<?php echo $c; ?>"><?php echo $c; ?></a>'); } }, 1000); })(jQuery); </script> <?php } } }); add_action( 'admin_init', 'admin_init_url_action' ); function admin_init_url_action() { $action = isset($_GET['action']) ? $_GET['action'] : NULL; if( $action == "google_drive_connect" ) { $gdrive = new TPX_GoogleDrive(); if( $gdrive->getClient() ) { if (!get_option('appyn_gdrive_token')) { header("Location: ".$gdrive->getClient()->createAuthUrl()); exit; } } } if( $action == "new_gdrive_info" ) { delete_option( 'appyn_gdrive_token' ); header("Location: ". admin_url('admin.php?page=appyn_panel#servers')); exit; } if( $action == "dropbox_connect" ) { $dropbox_app_key = appyn_options( 'dropbox_app_key' ); header("Location: https://www.dropbox.com/oauth2/authorize?client_id={$dropbox_app_key}&redirect_uri=".add_query_arg('appyn_upload', 'dropbox', get_bloginfo('url'))."&response_type=code&token_access_type=offline"); exit; } if( $action == "new_dropbox_info" ) { delete_option( 'appyn_dropbox_result' ); header("Location: ". admin_url('admin.php?page=appyn_panel#servers')); exit; } if( $action == "ftp_connect" ) { $name_ip = appyn_options( 'ftp_name_ip', true ); $port = appyn_options( 'ftp_port', true ) ? appyn_options( 'ftp_port', true ) : 21; $username = appyn_options( 'ftp_username', true ); $password = appyn_options( 'ftp_password', true ); $directory = appyn_options( 'ftp_directory', true ) ? trailingslashit(appyn_options( 'ftp_directory', true )) : ''; $url = untrailingslashit( appyn_options( 'ftp_url', true ) ); $conn_id = @ftp_connect( $name_ip , $port, 30 ) or die( sprintf( __( 'No se pudo conectar a "%s". Verifique nuevamente', 'appyn' ), $name_ip ) ); if( !$url ) die( __( 'Complete el campo URL', 'appyn' ) ); if( @ftp_login( $conn_id, $username, $password ) ) { ftp_pasv($conn_id, true) or die( __( 'No se puede cambiar al modo pasivo', 'appyn' ) ); $filename = 'test-file.txt'; $contents = 'Hello World'; $tmp = tmpfile(); fwrite($tmp, $contents); rewind($tmp); $tmpdata = stream_get_meta_data($tmp); if( @ftp_put( $conn_id, $directory.$filename, $tmpdata['uri'], FTP_ASCII ) ) { echo '<p><b>'.__( '¡Se ha creado el archivo "test-file.txt" en su servidor!', 'appyn' ).'</b></p>'; if( !$url ) { echo '<p>'.__( 'Es importante que coloque el campo URL ya que esa será la dirección con la que los usuarios accederán a descargar los archivos. Complete el campo y realice nuevamente el test de conexión.', 'appyn' ).'</p>'; } else { echo '<p>'.sprintf( __( 'Accede al archivo a través de este %s', 'appyn' ), '<a href="'.$url.'/'.$filename.'" target="_blank">'. __( 'enlace', 'appyn' ).'</a>').'. '. __( 'Si no puede acceder al enlace debe colocar el campo URL de manera correcta.', 'appyn' ).'</p>'; echo '<p>'. __( 'Si accedió al enlace y apareció el texto "Hello World" entonces la conexión fue exitosa.', 'appyn' ).'</p>'; } } else { echo __( 'No se pudo generar el archivo de prueba. Es posible que el directorio que ha colocado no exista.', 'appyn' ) . ' - ' . error_get_last()['message']; } fclose($tmp); } else { echo __( 'Datos del servidor incorrectos. Verifique nuevamente', 'appyn' ); } ftp_close($conn_id); exit; } if( $action == "onedrive_connect" ) { $onedrive = new TPX_OneDrive(); header( "Location: ". $onedrive->ODConnect() ); exit; } if( $action == "new_onedrive_info" ) { delete_option( 'appyn_onedrive_access_token' ); header("Location: ". admin_url('admin.php?page=appyn_panel#servers')); exit; } }