// To generate a wssharestory from a post id
add_action( 'admin_init', 'create_wssharestory_from_url_from_admin_init' );
function create_wssharestory_from_url_from_admin_init() {
if ( isset( $_GET['post_type'] ) && $_GET['post_type'] == 'ws-share-plugin' && isset( $_GET['id'] ) ) {
if (isset( $_GET['action'] )) {
if ($_GET['action'] == 'wsshareaval') { // o cliente clicou em avaliar artigo
$idavaliacao = $_GET['idavaliacao'];
$meuid = $_GET['id'];
$link = get_permalink($meuid);
?>
<body style="background:#f0f0f1">
<h2>Avaliação do WebStories</h2>
<h3>Link: <a href="<?php echo $link; ?>"><?php echo $link; ?> </a><br></h3>
<h3>Observação: Avaliações serão apresentadas ao criador para que ele evolua na construção da comunidade. Mas fique tranquilo que não informamos qual usuário fez a avaliação.</h3><br>
<form action="<?php echo admin_url( 'admin-post.php' ); ?>">
<input type="hidden" name="action" value="wpseaval_23456">
<input type="hidden" name="idorigem" value="<?php echo $meuid; ?>">
<input type="hidden" name="iddestino" value="<?php echo $idavaliacao; ?>">
<fieldset>
<legend>Como você avalia o WebStorie:</legend>
<div>
<input type="radio" id="avaliacao" name="avaliacao" value="positivo"
checked>
<label for="huey">Positivo</label>
</div>
<div>
<input type="radio" id="avaliacao" name="avaliacao" value="negativo">
<label for="dewey">Negativo</label>
</div>
</fieldset>
<h2>Informe o que pode ser melhorado nele: </h2><br>
<textarea id="w3review" name="melhoria" rows="4" cols="90"></textarea>
<?php submit_button( 'Enviar Avaliação' ); ?>
</form>
</body>
<?php
exit;
}
} else {
$post_id = $_GET['id'];
$wssharestory = create_wssharestory($post_id);// If create wssharestory was successful, redirect to post edit page
if ($wssharestory[1] == 200) {
wp_redirect( admin_url( 'edit.php?post_type=ws-share-plugin&error=0' ) );
exit;
} else {
// If not redirect to post edit page with error message
$error = $wssharestory[0];
?>
<body style="background:#f0f0f1">
<h2 style="color: white;">Erro ao Enviar Web Stories!</h2><br>
<h2 style="color:red"><?php echo $error; ?></h2><br>
<h2 style="color: white;">Corrija o WebStorie para que possa compartilhar!</h2><br>
<a href="edit.php?post_type=web-story" style="background-color: #0d1239; border: none; color: white; padding: 12px 24px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 4px 2px; cursor: pointer; border-radius: 20px; width: 150px;">Voltar</a>
</body>
<?php
exit;
//$redirect = add_query_arg( 'edit.php?post_type=web-story', 'error', $error );
//wp_redirect( admin_url( 'edit.php?post_type=web-story') );
//exit;
}
}
}
}
// Return only post_content when accessing page with post_content=true in url
add_action( 'template_redirect', 'return_share_post_content' );
function return_share_post_content() {
// Check if is singular and if post type is ws-share-plugin, if not return
if ( ! is_singular( 'ws-share-plugin' ) ) {
return;
} else {
global $post;
$post_content = $post->post_content;
echo $post_content;
exit;
}
}
// Function to create the configuration page // Configuration page will have a form to create webstories from a url
// an input for token // an input for Adsense code // an input for Google Analytics code
function wssharestory_config_page() {
if ( ! current_user_can( 'manage_options' ) ) {
wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
}
$plugin1 = is_plugin_active( 'amp/amp.php' );
if ($plugin1 == false) {
$plugin1 = is_plugin_active( 'accelerated-mobile-pages/accelerated-mobile-pages.php' );
}
$plugin2 = is_plugin_active( 'web-stories/web-stories.php' );
$plugin1 = true;
if (($plugin1 == false ) or ($plugin2 == false)) {
?>
<div style="background-color: black; text-align: center; padding: 22px; position: fixed; top: 22%; left: 22%; bottom: 10%; right: 22%; margin: auto; border-radius: 10px;"> <h2 >ENVIANDO WEB STORIES...</h2>
<h1>Configurações - Versão 6.2</h1><br><h1 style="color:red">Problema para utilizar o Plugin</h1><br>
<?php
if ($plugin1 == false ) {
?>
<h2>Você precisa instalar o <a href="<?php admin_url( 'plugin-install.php?s=amp&tab=search&type=term'); ?> ">plugin AMP</a> ou o <a href="https://blog.winfacil.com.br/wp-admin/plugin-install.php?s=accelerated-mobile-page&tab=search&type=term">plugin accelerated mobile page</a> para compartilhar os Web Stories</h2><br>
<?php
}
if ($plugin2 == false ) {
?>
<h2>Você precisa instalar o <a href="<?php admin_url( 'plugin-install.php?s=web-stories&tab=search&type=term'); ?>">plugin Web Stories</a> para compartilhar os Web Stories</h2><br>
</div><?php
}
} else {
?>
<div class="wrap" style="background-color: #1C1C1C; border: 1px solid #ccc; border-radius: 10px; width: 90%; margin: 2% auto 0; padding: 2%;">
<h1 style="color: #fff;"><b>WEB STORIES PLUS</b> - Configurações - Versão <font color="yellow">6.2</font></h1><p>
<div class="notice notice-success is-dismissible"><h4 style="color: #000;">Caso você ainda não tenha sua conta (Storie Plus Token) acesse <a href="https://rede.servidortrader.com/register.php">CLICANDO AQUI!</a></h4></div>
<h2 style="color: #fff;">Como Funciona:</h2>
<ol style="color: #fff;">
<li>Gere seu Storie Plus Token e Informe nessa tela</li>
<li>Vá no menu <b>Stories</b> -> <b> Todas as Histórias</b>. </li>
<li>Escolha um Stories para compartilhar e clique em "Compartilhar Postagem" - Ao compartilhar um Stories, você recebe um novo Stories compartilhado por outro usuário</li>
<li><b>Observação:</b> WebStories recebidos NÃO podem ser compartilhados E os web stories baixados não podem ser editados..</li>
<li><b>Observação2:</b> Caso você esteja com problemas no webstories recebidos, baixe o plugin AMP ou plugin accelerated mobile page para resolver o problema.</li>
</ol>
<form method="post" action="options.php">
<?php settings_fields( 'wssharestory-config' ); ?>
<?php do_settings_sections( 'wssharestory-config' ); ?>
<div class="form-table" style="color: #fff;">
<label><b>Storie Plus Token</b></label><br>
<input type="text" name="wssharestory_token" value="<?php echo esc_attr( get_option( 'wssharestory_token' ) ); ?>" />
<label><b>Publicar Automaticamente WebStories Recebidos?</b></label>
<?php
$escolha = 'S';
if (esc_attr( get_option( 'wssharestory_publicado' ) ) == 'S') {
$escolha = 'S';
}else if (esc_attr( get_option( 'wssharestory_publicado' ) ) == 'N') {
$escolha = 'N';
}
?>
<select name="wssharestory_publicado" >
<option value="S" <?php if ($escolha == 'S') { echo 'selected'; } ?> >SIM</option>
<option value="N" <?php if ($escolha == 'N') { echo 'selected'; } ?> >NÃO</option>
</select>
<?php submit_button(); ?>
<?php echo display_developers(); ?>
</div>
</form>
</div>
<?php
}
}// Register the settings
add_action( 'admin_init', 'register_wssharestory_config' );
function register_wssharestory_config() {
register_setting( 'wssharestory-config', 'wssharestory_token' );
register_setting( 'wssharestory-config', 'wssharestory_publicado' );
}
function wssource_download_page() {
if ( ! current_user_can( 'manage_options' ) ) {
wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
}
else {
// busca 1 a 1 no servidor// baixa os stories//guarda no banco
$link = site_url();
$token = get_option( 'wssharestory_token' );
$publicado = get_option( 'wssharestory_publicado' );
if ($token == '') {
?>
<h1>SEM TOKEN ASSOCIADO. FAVOR CONFIGURAR!</h1>
<?php
} else {
$valido = false;
}
$url1 = "https://dados.servidortrader.com/fase1baixarwebstories.php";
$response1 = wp_remote_post( $url1 , array(
'timeout' => 15,
'method' => 'POST',
'body' => array (
'token' => $token,
'link' => $link
)
)
);
$resposta1 = wp_remote_retrieve_body($response1);
$resposta1 = explode('#',$resposta1);
if ($resposta1[0] == 'N') {
show_message('VOCÊ NÃO TEM WEB-STORIES PARA BAIXAR ! <br> MOTIVO:'.$resposta1[1]);
} else {
$cont = 0;
$saldo = $resposta1[1];
$max = intval($resposta1[2]);
?>
<h2>SALDO TOTAL: <?php echo $saldo;?></h2><br>
<h2>DISPONÍVEL PARA BAIXAR: <?php echo $max;?></h2>
<?php
$resposta = "";
while ($cont < $max) {
$prox = trim($resposta1[$cont+3]);
$url2 = "https://dados.servidortrader.com/buscahtml.php";
$response2 = wp_remote_post( $url2 , array(
'timeout' => 15,
'method' => 'POST',
'body' => array (
'token' => $token,
'id' => $prox,
'link' =>$link
)
)
);
$resphtml2 = wp_remote_retrieve_body($response2);
$url3 = "https://dados.servidortrader.com/buscacontent.php";
$response3 = wp_remote_post( $url3 , array(
'timeout' => 15,
'method' => 'POST',
'body' => array (
'token' => $token,
'id' => $prox,
'link' => $link
)
)
);
$resphtml3 = wp_remote_retrieve_body($response3);
$url4 = "https://dados.servidortrader.com/buscameta.php";
$response4 = wp_remote_post( $url4 , array(
'timeout' => 15,
'method' => 'POST',
'body' => array (
'token' => $token,
'id' => $prox,
'link' => $link
)
)
);
$resphtml4 = wp_remote_retrieve_body($response4);
$resphtml4 = explode('<=>',$resphtml4);
$respok = $resphtml4[0];
$title = $resphtml4[1];
$idrecebido = $resphtml4[2];
if ($respok == 'S') {
//$metadado = $resphtml4[3];
$status = 'draft';
if ($publicado == 'S') {
$status = 'publish';
}
// trocar as imagens
$listaimg = ProcurarImagensNoHTML($resphtml2);
$arrayteste = '';
foreach($listaimg as $imagens) {
$novaimagem2 = uploadRemoteImageAndAttach($imagens,$arrayteste);
if ($novaimagem2[0] <> false) {
if ($novaimagem2[1] <> '') {
if ($arrayteste == '') {
$arrayteste = $novaimagem2[1];
} else {
$arrayteste = $arrayteste.'||'.$novaimagem2[1];
}
}
$novaimagem = $novaimagem2[0];
// echo '<br>-----------------<br>';
$resphtml2 = str_replace($imagens, $novaimagem, $resphtml2);
}
}
$resphtml3 = procuraImagemNoJson($resphtml3);
$post_id = wp_insert_post(array(
'post_title' => $title,
'post_content' => $resphtml2,
'post_content_filtered' => $resphtml3,
'post_status' => $status,
'post_type' => 'web-story'
));
//adiciona a metatag
add_post_meta($post_id,'web_stories_copiado','S');
add_post_meta($post_id,'web_stories_idcopiado',$idrecebido); //idrecebido server para avaliar o post original se bom ou não.
//add_post_meta($post_id,'web_stories_poster',$metadado);
global $wpdb;
$results = $wpdb->get_results( "SELECT post_id,meta_id,meta_value FROM {$wpdb->prefix}postmeta WHERE meta_key = 'web_stories_publisher_logo' order by post_id asc", OBJECT );
$metaid = 0;
foreach($results as $row) {
if ($metaid == 0) {
$metaid = $row->meta_value;
}
}
add_post_meta($post_id,'web_stories_publisher_logo',$metaid);
$permalink = get_permalink($post_id);
$dom = new DOMDocument();
$dom->loadHTML($resphtml2);
$tagsimg = $dom->getElementsByTagName('link');
$srtlink = '';
foreach ($tagsimg as $key=>$value) {
$linkref = $value->getAttribute('href');
if (mb_strpos($linkref, 'post_type=web-story') !== false) {
// echo 'aqui'.$link.'<br>'.$permalink;
$srtlink = $linkref;
}
}
if ($srtlink <> '') {
$post_content = get_post_field('post_content', $post_id);
$partes = explode('?',$srtlink);
$removepadrao = '<link rel="canonical" href="'.$partes[0];
$novaparte = explode('web-stories',$permalink);
$canonical = '<link rel="canonical" href="'.$novaparte[0];
$post_content = str_replace($removepadrao,$canonical , $post_content);
$partes = explode('p=',$srtlink);
$removepadrao = 'p='.$partes[1];
$canonical = 'p='.$post_id;
$post_content = str_replace($removepadrao,$canonical , $post_content);
$post_content = str_replace($removepadrao,$canonical , $post_content);
wp_update_post(array(
'ID' => $post_id,
'post_content' => $post_content
));
}
$resposta =$resposta.'<a href ="'.$permalink.'"> '.$title.'</a><br>';
} else {
$resposta = $resposta.$title.'<br>';
}
$cont = $cont + 1;
}
?>
<div style="background-color:#1C1C1C; text-align: center; padding: 22px; position: fixed; top: 22%; left: 22%; bottom: 10%; right: 22%; margin: auto; border-radius: 10px;"><h1>LINKS DOS STORIES BAIXADOS:</h1><br>
<h2><?php echo $resposta; ?></h2>
<?php
}
$msg = '<br> <a href="'. admin_url('edit.php?post_type=web-story').'" target="_blank" style="background-color: #0d1239; border: none; color: white; padding: 12px 24px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 4px 2px; cursor: pointer; border-radius: 20px; width: 150px;"> TODOS WEB STORIES</a>';
show_message($msg);
return [$resposta1[0], $resposta1[1]];
}
}
add_action( 'admin_post_wpse_79898', 'wpse_79898_test' );
function wpse_79898_test() {
?><body style="background:#1C1C1C>
<?php wssource_download_page(); ?>
</body>
<?php
}