• 06-02-2010, 20:32:55
    #1
    s.a arkadaşlar draft tu publish yakup han arkadaşımızın yazdığı eklenti host değiştirmem sonucunda çalışmamaya başladı..

    bundan anlayan arkadaşlar warsa ve yardım edecekse iletişime geçsin...

    ödül pp hesabımda 5-6$ kalmış onu yollarız olmadı elimizden gelen başka birşey varsa verebilirim.. ve +rep çam sakızı çoban armağanı

    şimdiden teşekkürler.

    eklenti kodları..isteyen varsa yazayım.

    bunalrda kodlar.
    <?php
    /*
    Plugin Name: Draft to Post
    Plugin URI: http://www.yakupgovler.com
    Description: Taslak yazılarınızı belirli aralıklarla yayımlar.
    Author:  Yakup Gövler
    Version: 1.0
    Author URI: http://www.yakupgovler.com
    */
    
    function yg_d2p_options_page() {
    	add_options_page('Draft to Publish Settings', 'Draft to Publish', 10, __FILE__, 'yg_d2p_options');
    }
    add_action('admin_menu', 'yg_d2p_options_page');
    
    function yg_is_d2p_activated () {
     	$crons = _get_cron_array();
    	if ( !empty($crons) ) {
    		foreach ( $crons as $timestamp => $cron ) {
    	    if (isset($cron['yg_publish'])) {
    			  return true;
    	    }
    		}
      }
    	return false;
    }
    function yg_d2p_save_settings() {
     if ($_POST['submit']) {
      $activate = (bool) ($_POST['activate']);
      $pt = esc_attr($_POST['post_type']);
    	$error = false;
    	if (!($pt=='draft' || $pt=='pending')) $error = true;
    
    	$delay = (int) $_POST['delay'];
    	if (!($delay==999 || $delay >= 5 && $delay <= 300)) $error=true;
    	
    	$cats = str_replace(' ', '', esc_attr($_POST['cats']));
    	$order = esc_attr($_POST['order']);
    	if (!($order == 'ASC' || $order == 'DESC' || $order == 'RAND')) $error=true;
    	
    	if (!$error) {
    	 $options = array('activate'=>$activate, 'delay'=>$delay, 'post_type'=>$pt, 'cats'=>$cats, 'order'=>$order);
    	 if (!update_option('yg_d2p_options', $options)) add_option('yg_d2p_options', $options);
    	 if ($delay == 999) $delay = mt_rand(60, 180);
    	 wp_clear_scheduled_hook('yg_publish');
    	 if ($activate) wp_schedule_single_event(time() + $delay*60, 'yg_publish', array());
    ?>
     <div id="message" class="updated fade"><p><strong>Ayarlar kaydedildi. <?php if ($activate) echo "Eklenti Aktifleştirildi!"; else echo "Eklenti Pasifleştirildi!"; ?></strong></p></div>
    <?php
      }
     }
    }
    
    function yg_d2p_options() {
    	if ($_POST['submit']) {
    	 check_admin_referer( 'd2p_options' );
    	 yg_d2p_save_settings();
    	}
    	$options = get_option('yg_d2p_options');
    	$activate = (bool) $options['activate'];
    	$delay = (int) $options['delay'];
    	$post_type = esc_attr($options['post_type']);
    	$cats = esc_attr($options['cats']);
    	$order = esc_attr($options['order']);
    
    	$delays = array(5, 10, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 180, 240, 300);
    	?>
    	<div class="wrap">
    		<div id="icon-edit-pages" class="icon32"><br /></div>
    	<h2>Draft to Publish Settings</h2>
    
    		<form method="post" action="">
    	   <?php wp_nonce_field('d2p_options'); ?>
    			<table class="form-table">
    				<tr valign="top">
    				<th scope="row">
    					  Eklentinin Şu anki Durumu</th>
    				<td><?php
    	           if (yg_is_d2p_activated ()) echo "<strong>Aktif</strong>"; else echo "<strong>Pasif</strong>";
    	         ?>			
    				</td>
    				</tr>
      
    				<tr valign="top">
    				<th scope="row">
    					  <label for="post_type">Eklentiyi Aktifleştir</label></th>
    				<td><input type="checkbox" name="activate" id="activate" value="1" <?php checked( $activate ); ?> />
    				</td>
    				</tr>
    			
    				<tr valign="top">
    				<th scope="row">
    					  <label for="post_type">Yayımlanacak yazı türü</label></th>
    				<td><select name="post_type" id="post_type">
    							<option value="draft" <?php if ($post_type=='draft') echo " selected = 'selected'";?>><?php esc_attr_e('Draft') ?></option>
    							<option value="pending" <?php if ($post_type=='pending') echo " selected = 'selected'";?>><?php esc_attr_e('Kontrol Bekleyen') ?></option>
    						</select>
    				</td>
    				</tr>
    
    			 
    				<tr valign="top">
    				<th scope="row">
    					  <label for="delay">Yazıları şu gecikmeyle yayımla</label></th>
    				<td>
    						<select name="delay" id="delay">
    						<?php
    						  foreach ($delays as $d) {
    							 $selected = '';
    							 if ($delay == $d) $selected = " selected='selected'";
    							 echo '<option value="' . $d . '" '. $selected . '>' . $d . '</option>'."\n";
    							}
    						?>
    							<option value="999" <?php if ($delay==999) echo " selected='selected'"?>><?php esc_attr_e('Random') ?> *</option>
    						</select> dakika
    						<br />
    						<small>(* Rastgele seçiminde gecikme en az 60, en fazla 180 dakikadır.)</small>
    				</td>
    				</tr>
    					 
    				<tr valign="top">
    				<th scope="row">
    					  <label for="cats">Yazıların alınacağı kategoriler </label></th>
    				<td><input type="text" name="cats" id="cats" value="<?php echo $cats;?>" /><br />
    						<small>(Kategorilerin ID'lerini virgül ile ayırarak yazınız. Örn: 5,8,17)</small>
    				</td>
    				</tr>
    					 
    				<tr valign="top">
    				<th scope="row">
    					  <label for="order">Yazıları yayımlama sırası</label></th>
    						<td>
    						<select name="order" id="order">
    							<option value="ASC"<?php if ($order=='ASC') echo " selected='selected'"?>>Eskiden Yeniye Doğru</option>
    							<option value="DESC"<?php if ($order=='DESC') echo " selected='selected'"?>>Yeniden Eskiye Doğru</option>
    							<option value="RAND"<?php if ($order=='RAND') echo " selected='selected'"?>>Rastgele</option>
    						</select><br />
    						<small>(Sıralamalar ID tabanlı olup, veritabanına kayıt sırası takip edilir. Yazı tarihi gözardı edilir.)</small>
    				</td>
    				</tr>
    			 
    			</table>
    			
    		  <input type="submit" name="submit" class="button-primary" id="delay" value="<?php esc_attr_e('Save Changes') ?>" />
    
    		</form>
    	
    
    <?php
    }
    
    
    function yg_draft_to_publish($postt='') {
    	  global $wpdb;
    
    		$options = get_option('yg_d2p_options');
    		$activate = (bool) $options['activate'];
    		$delay = (int) $options['delay'];
    		if ($delay == 999) $delay = mt_rand(60, 180);
    		$post_type = esc_attr($options['post_type']);
    		if ($post_type != 'pending') $post_type = 'draft';
    		$cats = esc_attr($options['cats']);
    		$order = esc_attr($options['order']);
    		if ($order == 'RAND') {$orderby = 'rand'; $order='';}else{ $orderby = 'ID';}
    		if ($order != '' && $order != 'DESC') $order = 'ASC';
    			
    		$args = array(
    		'category' => $cats,
    		'post_type' => 'post',
    		'post_status' => $post_type,
    		'numberposts' => 1,
    		'orderby' =>$orderby,
    		'order' => $order
    		);
    
    		$post = get_posts($args);
    		if ($post) {
    			//$post = $wpdb->get_results("select * FROM $wpdb->posts WHERE post_status='draft' AND post_type='post' ORDER BY ID ASC LIMIT 1");
    			$post_id = $post[0]->ID;
    
    			$postarr = array('ID' => $post_id, 'post_status' => 'publish', 'post_date' => current_time('mysql'), 'post_date_gmt' => current_time('mysql', 1));
    			wp_update_post($postarr);
    			wp_schedule_single_event(time() + $delay * 60, 'yg_publish', array());
    		} /*else{
    			add_action('admin_notices', 'yg_d2p_notice');
    		}*/
    }
    /*
    function yg_d2p_notice() {
    	echo '<div class="error"><p>';
    	echo '<strong>Uyarı:</strong>: Yayımlanacak yazı bulunamadığından, Draft to Publish eklentisi<br />tarafından yazıların yayımlanması durduruldu.';
    	echo '</p></div>';
    }	
    */
     add_action('yg_publish', 'yg_draft_to_publish', 10, 1);
     
     register_activation_hook(__FILE__,'yg_draft2publish_install');
     register_deactivation_hook(__FILE__,'yg_draft2publish_uninstall');
    
    // Install plugin
    function yg_draft2publish_install() {
      $options = array('activate'=>0, 'delay'=>30, 'post_type'=>'draft', 'cats'=>'', 'order'=>'ASC');
    	add_option('yg_d2p_options', $options);
    }
    
    // Uninstall plugin
    function yg_draft2publish_uninstall() {
     wp_clear_scheduled_hook('yg_publish');
    }
    ?>
  • 06-02-2010, 20:40:00
    #2
    Safe mod'unu kapatarak deneyebilirmisin.
  • 06-02-2010, 22:23:50
    #3
    işe yaramadı malesef hocam hadi dostlar...yardıma ihtiyacım war.
  • 06-02-2010, 22:59:42
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    eski yer ile yeni yerde wordpress surumu aynimi?
  • 06-02-2010, 23:00:54
    #5
    Hocam kodları yaz istersen, Bakarsın yapabiliriz. Maksat yardım olsun beklentiden deil. Bisey beklemiyorum kendi sahsıma
  • 06-02-2010, 23:00:58
    #6
    ewt aynı direk siteyi taşıdım hocam.
  • 06-02-2010, 23:03:02
    #7
    kodları ekledim kafayı yemek üzereyim...

    anlarım diyen warsa site kurup eklentyide kurup ftp bilgilerinide verebilirim..

    benim düşündüğüm hosttan kaynaklı birşey herhangi bir fonksiyon kapalı ve bu gözden kaçıyor..

    bu kodlara bakarak hangi fonksiyonalrın açık olması gerektiğini anlarsak iş daha kolaylaşır diye düşünüyorum..

    saygılar
  • 06-02-2010, 23:04:58
    #8
    ilk basta deaktif edip daha sonra eklentiyi silip tekrardan ftp atip denedinizmi.. eklentiyi bi ara kullanmistim sorunsuz..
  • 06-02-2010, 23:10:47
    #9
    defalarca...dediğini yaptım aynı değişen birşey yok çalışmıyor...diğer hostumda sorunsuz kullanmıştım oysaki.

    hostgatora geçmeyi düşünüyorum film sitem için wordpress cpu sorunu yaratırmı sizce ve bu eklnti orda çalışırmı aceba? ayrıca pp ile ödeme yaparsam web hosting anında aktif olurmu?