Ozivaldo 0 Denunciar post Postado Novembro 11, 2015 Olá, eu tenho um script para deletar uma cron no cPanel e estou com o seguinte erro. Aqui está o código que faz o post: <script type="text/javascript"> $.noConflict(); jQuery( document ).ready(function( $ ) { $('#frequencia').change(function () { var frequencia = $('#frequencia').val(); //$("#weekday").attr("disabled",true); if(frequencia == "2") { document.getElementById("weekday").disabled = true; } if(frequencia == "3") { document.getElementById("weekday").disabled = false; } }); $('#cadastrar').click(function () { //alert($(this).val()); $.post("/configura-agendamento", { playlist:$("#playlist").val(), frequencia:$("#frequencia").val(), mes:$("#mes").val(), dia:$("#dia").val(), minuto:$("#minuto").val(), weekday:$("#weekday").val(), hora:$("#hora").val() }, function(resu){ if(resu == 1){ alert("Cadastrado com sucesso!"); location.reload(); }else{ alert("Opsss! ocorreu um erro, contacte o suporte"); //alert(resu); } }); return false; }); $('.remover').change(function () { //alert($(this).val()); if($(this).val() == 0){ alert("Opcao Invalida, selecione outro agendamento!"); return false; } $.post("/excluircron.php", { id:$(this).val() }, function(resu){ if(resu == 1){ alert("Excluido com sucesso!"); location.reload(); }else{ location.reload(); alert("Opsss! ocorreu um erro, contacte o suporte"); alert(resu); } }); }); }); </script> Esse recebe para deletar a cron: <?php extract($_POST); extract($_GET); include('xmlapi.php'); require_once("admin/inc/protecao-final.php"); require("admin/inc/conecta.php"); $dados_config = mysql_fetch_array(mysql_query("SELECT * FROM configuracoes")); $dados_agendamento = mysql_fetch_array(mysql_query("SELECT * FROM agendarplaylist where id = '$id'")); /** * Gera o arquivo contendo o shell script */ $id = $_POST['id']; $ip = $dados_config["ip_cpanel"]; $account = $dados_config["login_cpanel"]; $pass = $dados_config["senha_cpanel"]; $xmlapi = new xmlapi($ip); $xmlapi->password_auth($account,$pass); $xmlapi->set_port('2082'); $xmlapi->set_output("json"); $sql="SELECT * FROM agendarplaylist where id = '$id'"; $query=mysql_query($sql); $porta = $dados_agendamento['porta']; $playlist = $dados_agendamento['playlist']; $args = array ( 'line' => '1'); $xmlapi->set_output("array"); $xmlapi->set_debug(1); $cronxml = $xmlapi->api2_query($account, 'Cron','listcron'); // load library xmlapi cpanel and create new object // set output into json // get cron list $cron = $xmlapi->api2_query($account, 'Cron','listcron'); // loop cron list to find data foreach($cron['data'] as $key) { $co = $dados_config["ip_painel"].'/admin/cron.php?dd='.$id; // find position string autopost/amazon apakah ada di dalam string command if (strpos(@$key['command'], $co)) { // return count value print_r($key); mysql_query("DELETE FROM agendarplaylist WHERE id='".$id."'"); $idcron = $key['count']; $args = array ( 'line' => $idcron ); $xmlapi->api2_query($account, 'Cron','remove_line', $args); echo "1"; } } print $xmlapi->api2_query($account, 'Cron','remove_line', $args); ?> E nessa linha: foreach($cron['data'] as $key) Eu recebo o seguinte erro: Warning: Invalid arqument supplied for foreach() is /home/user/public_html/excluircron.php pnlive 47 Alguém tem uma ideia de como eu resolvo esse erro? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
(RNU) Ruan Silva 61 Denunciar post Postado Novembro 11, 2015 tenta deixar só foreach($cron as $key) e quando chamar la dentro do laço, faz assim: print_r($key['data']); Compartilhar este post Link para o post Compartilhar em outros sites
Ozivaldo 0 Denunciar post Postado Novembro 11, 2015 Olá, Ruan O erro continuou mesmo eu alterando para: foreach($cron as $key) Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Novembro 11, 2015 foreach espera um array, logo $cron/$cron['data'] não é array. Compartilhar este post Link para o post Compartilhar em outros sites
(RNU) Ruan Silva 61 Denunciar post Postado Novembro 11, 2015 da um print_r nesse $cron.. to achando que não é um array :D Compartilhar este post Link para o post Compartilhar em outros sites
paulorogeriojr 1 Denunciar post Postado Novembro 11, 2015 da um print_r nesse $cron.. to achando que não é um array :D Olá Ruan, Exatamente isso que eu ia falar, parece aqui no caso que na hora de armazenar os arrays no $cron, ele não esta conseguindo no caso só dar um print_r mesmo <?php echo '<pre>'; print_r($cron); echo '</pre>'; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Ozivaldo 0 Denunciar post Postado Novembro 11, 2015 O print ficaria assim? $cron = $xmlapi->api2_query($account, 'Cron','listcron'); echo '<pre>'; print_r($cron); echo '</pre>'; Compartilhar este post Link para o post Compartilhar em outros sites
Ozivaldo 0 Denunciar post Postado Novembro 11, 2015 Eu fiz assim: $cron = $xmlapi->api2_query($account, 'Cron','listcron'); echo 'Cron em print: <pre>'; print_r($cron); echo '</pre>'; echo 'Cron em echo: '.$cron.'<br>'; echo 'Porta: '.$porta.'<br>'; echo 'Playlist: '.$dados_agendamento['playlist'].''; // loop cron list to find data foreach($cron['data'] as $key) Resultado: Cron em print: Cron em echo: Porta: 8008Playlist: 615Warning: Invalid argument supplied for foreach() in /home/user/public_html/excluircron.php on line 50 Compartilhar este post Link para o post Compartilhar em outros sites
(RNU) Ruan Silva 61 Denunciar post Postado Novembro 11, 2015 Oq estava falando é que vc ta passando o $cron para o foreach, porém ele não é um array. O print era só pra verificar isso, tem que corrigir :D Compartilhar este post Link para o post Compartilhar em outros sites
Ozivaldo 0 Denunciar post Postado Novembro 11, 2015 situação difícil..rs Há alguma maneira de eu passar essa parte do foreach? Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Novembro 11, 2015 Se você olhar seu último post, o print_r não retornou nada... logo, não tem o que fazer se não existem dados para serem listados... Compartilhar este post Link para o post Compartilhar em outros sites
Ozivaldo 0 Denunciar post Postado Novembro 11, 2015 Eu só não entendo como esse problema apareceu, sendo que tudo estava funcionando perfeitamente há alguns dias atrás. Compartilhar este post Link para o post Compartilhar em outros sites
Ozivaldo 0 Denunciar post Postado Novembro 17, 2015 Eu consegui solucionar esse problema. Na verdade, o erro era na senha do cPanel. Eu havia ativado a opção para "Forçar alteração de senha para referida conta" em: 1° WHM --> Funções da conta --> Forçar Alteração de senha. 2° Desabilitei e voltou a funcionar normalmente. Compartilhar este post Link para o post Compartilhar em outros sites