• 12-08-2008, 20:56:15
    #1
    belimde bir ogame script var... bu scriptte admin panelinden puan güncelleme yapmam gerekiyor.. puan güncellemesini crons jobs la belli saatlerde otomatik olarak yaptırabilir miyim yardım edin pls
  • 12-08-2008, 21:14:03
    #2
    irFaNLiNe adlı üyeden alıntı: mesajı görüntüle
    belimde bir ogame script var... bu scriptte admin panelinden puan güncelleme yapmam gerekiyor.. puan güncellemesini crons jobs la belli saatlerde otomatik olarak yaptırabilir miyim yardım edin pls
    cpanelde cron jobs a girince "advanced" butonuna bas. ekteki ekran gelecek.


    oradaki yuvarlak içine aldığım yerlerden

    1 numaralı bölümde ne zaman çalışacağını ki

    örnekte 0 0 * * * her gece 12 de demek

    2. bölümede

    php /home/username/public_html/cron.php


    gibi çalıştıracağın dosyanın adını yazıyorsun.
  • 12-08-2008, 22:01:38
    #3
    Üyeliği durduruldu
    irFaNLiNe adlı üyeden alıntı: mesajı görüntüle
    bu scriptte admin panelinden puan güncelleme yapmam gerekiyor..
    cron job ile bir komut çalıştıramazsınız ancak sadece bir dosya çalıştırabilirsiniz,
    sizin puan günclleme yapan bir php script dosyanız varsa onu belli saatte çalıştırmak için cron job komutu ekleyebilirsiniz.
    puan güncelleme yapmam gerekiyor, derken: bunu yapabilecek bir php dosyanız var mı?
    yani dosya çalıştırılınca, dosya kendisi otomatik puan güncellemesi yapacak..
  • 14-08-2008, 13:48:59
    #4
    fruit adlı üyeden alıntı: mesajı görüntüle
    cron job ile bir komut çalıştıramazsınız ancak sadece bir dosya çalıştırabilirsiniz,
    sizin puan günclleme yapan bir php script dosyanız varsa onu belli saatte çalıştırmak için cron job komutu ekleyebilirsiniz.
    puan güncelleme yapmam gerekiyor, derken: bunu yapabilecek bir php dosyanız var mı?
    yani dosya çalıştırılınca, dosya kendisi otomatik puan güncellemesi yapacak..

    Tşk ederim de bu güncelleme dosya ile oluyor..
    dosyası admin panelinde...
    admin yetkisi lazım ben cronsjobs a nasıl rütbe vercem ki yada nasıl onun herkes tarafından yapılabilmesini sağlicam :S
  • 14-08-2008, 17:27:06
    #5
    Üyeliği durduruldu
    cronjobs a yetki verebileceğinizi zannetmiyorum. belki ip adresine yetki verebilirsiniz ama emin değilim.

    ama şöyle birşey olabilir galiba. cornjobs ta dosya konumu verirken xxx.php?degisken=deger şeklinde birşey olabiliyorsa karmaşık bir deger ile buna izin verebilirsiniz. sayfada da bu get değişkenini kontrol etmeniz yeterli olur.
  • 14-08-2008, 18:28:25
    #6
    Üyeliği durduruldu
    irFaNLiNe adlı üyeden alıntı: mesajı görüntüle
    Tşk ederim de bu güncelleme dosya ile oluyor..
    dosyası admin panelinde...
    admin yetkisi lazım ben cronsjobs a nasıl rütbe vercem ki yada nasıl onun herkes tarafından yapılabilmesini sağlicam :S
    evet o güncelleme dosyası örnek güncel_cron.php olsun.
    onun başına bir if fonkisyonu yazabiliyorsanız if pwd = $pwd >> alta devam et,
    ($pwd değişkenini de buarada database'den mysql'den falan çekecek.. )
    else echo "şifre yanlış" exit(); gibi (buarada php coderlığım da mükemmel )
    sonrada "güncel_cron.php?pwd=12345" şeklinde cron job'u çalıştırırsanız olur.
  • 14-08-2008, 19:04:21
    #7
    fruit adlı üyeden alıntı: mesajı görüntüle
    evet o güncelleme dosyası örnek güncel_cron.php olsun.
    onun başına bir if fonkisyonu yazabiliyorsanız if pwd = $pwd >> alta devam et,
    ($pwd değişkenini de buarada database'den mysql'den falan çekecek.. )
    else echo "şifre yanlış" exit(); gibi (buarada php coderlığım da mükemmel )
    sonrada "güncel_cron.php?pwd=12345" şeklinde cron job'u çalıştırırsanız olur.
    Dosyanın adı statbuilder.php ben bunu yaparken admin panelinden yapıyorum.. script öyle yazılmış ki içinden tek bir harf bile değiştirince hata veriyor çoğu zaman.. statbuilder.php nin içeriğide şöyle:

    <?php
    
    /**
     * StatBuilder.php
     *
     * @version 1
     * @copyright 2008 by Chlorel for XNova
     */
    
    define('INSIDE'  , true);
    define('INSTALL' , false);
    define('IN_ADMIN', true);
    
    $xnova_root_path = './../';
    include($xnova_root_path . 'extension.inc');
    include($xnova_root_path . 'common.' . $phpEx);
    
    include($xnova_root_path . 'admin/statfunctions.' . $phpEx);
    
    
    	if ($user['authlevel'] >= 1) {
    	includeLang('admin');
    
    	$StatDate   = time();
    	// Rotation des statistiques
    	doquery ( "DELETE FROM {{table}} WHERE `stat_code` = '2';" , 'statpoints');
    	doquery ( "UPDATE {{table}} SET `stat_code` = `stat_code` + '1';" , 'statpoints');
    
    	$GameUsers  = doquery("SELECT * FROM {{table}}", 'users');
    
    	while ($CurUser = mysql_fetch_assoc($GameUsers)) {
    		// Recuperation des anciennes statistiques
    		$OldStatRecord  = doquery ("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `id_owner` = '".$CurUser['id']."';",'statpoints');
    		if ($OldStatRecord) {
    			$OldTotalRank = $OldStatRecord['total_rank'];
    			$OldTechRank  = $OldStatRecord['tech_rank'];
    			$OldBuildRank = $OldStatRecord['build_rank'];
    			$OldDefsRank  = $OldStatRecord['defs_rank'];
    			$OldFleetRank = $OldStatRecord['fleet_rank'];
    			// Suppression de l'ancien enregistrement
    			doquery ("DELETE FROM {{table}} WHERE `stat_type` = '1' AND `id_owner` = '".$CurUser['id']."';",'statpoints');
    		} else {
    			$OldTotalRank = 0;
    			$OldTechRank  = 0;
    			$OldBuildRank = 0;
    			$OldDefsRank  = 0;
    			$OldFleetRank = 0;
    		}
    
    		// Total des unitées consommée pour la recherche
    		$Points         = GetTechnoPoints ( $CurUser );
    		$TTechCount     = $Points['TechCount'];
    		$TTechPoints    = ($Points['TechPoint'] / $game_config['stat_settings']);
    
    		// Totalisation des points accumulés par planete
    		$TBuildCount    = 0;
    		$TBuildPoints   = 0;
    		$TDefsCount     = 0;
    		$TDefsPoints    = 0;
    		$TFleetCount    = 0;
    		$TFleetPoints   = 0;
    		$GCount         = $TTechCount;
    		$GPoints        = $TTechPoints;
    		$UsrPlanets     = doquery("SELECT * FROM {{table}} WHERE `id_owner` = '". $CurUser['id'] ."';", 'planets');
    		while ($CurPlanet = mysql_fetch_assoc($UsrPlanets) ) {
    			$Points           = GetBuildPoints ( $CurPlanet );
    			$TBuildCount     += $Points['BuildCount'];
    			$GCount          += $Points['BuildCount'];
    			$PlanetPoints     = ($Points['BuildPoint'] / $game_config['stat_settings']);
    			$TBuildPoints    += ($Points['BuildPoint'] / $game_config['stat_settings']);
    
    			$Points           = GetDefensePoints ( $CurPlanet );
    			$TDefsCount      += $Points['DefenseCount'];;
    			$GCount          += $Points['DefenseCount'];
    			$PlanetPoints    += ($Points['DefensePoint'] / $game_config['stat_settings']);
    			$TDefsPoints     += ($Points['DefensePoint'] / $game_config['stat_settings']);
    
    			$Points           = GetFleetPoints ( $CurPlanet );
    			$TFleetCount     += $Points['FleetCount'];
    			$GCount          += $Points['FleetCount'];
    			$PlanetPoints    += ($Points['FleetPoint'] / $game_config['stat_settings']);
    			$TFleetPoints    += ($Points['FleetPoint'] / $game_config['stat_settings']);
    
    			$GPoints         += $PlanetPoints;
    			$QryUpdatePlanet  = "UPDATE {{table}} SET ";
    			$QryUpdatePlanet .= "`points` = '". $PlanetPoints ."' ";
    			$QryUpdatePlanet .= "WHERE ";
    			$QryUpdatePlanet .= "`id` = '". $CurPlanet['id'] ."';";
    			doquery ( $QryUpdatePlanet , 'planets');
    		}
    
    		$QryInsertStats  = "INSERT INTO {{table}} SET ";
    		$QryInsertStats .= "`id_owner` = '". $CurUser['id'] ."', ";
    		$QryInsertStats .= "`id_ally` = '". $CurUser['ally_id'] ."', ";
    		$QryInsertStats .= "`stat_type` = '1', "; // 1 pour joueur , 2 pour alliance
    		$QryInsertStats .= "`stat_code` = '1', "; // de 1 a 2 mis a jour de maniere automatique
    		$QryInsertStats .= "`tech_points` = '". $TTechPoints ."', ";
    		$QryInsertStats .= "`tech_count` = '". $TTechCount ."', ";
    		$QryInsertStats .= "`tech_old_rank` = '". $OldTechRank ."', ";
    		$QryInsertStats .= "`build_points` = '". $TBuildPoints ."', ";
    		$QryInsertStats .= "`build_count` = '". $TBuildCount ."', ";
    		$QryInsertStats .= "`build_old_rank` = '". $OldBuildRank ."', ";
    		$QryInsertStats .= "`defs_points` = '". $TDefsPoints ."', ";
    		$QryInsertStats .= "`defs_count` = '". $TDefsCount ."', ";
    		$QryInsertStats .= "`defs_old_rank` = '". $OldDefsRank ."', ";
    		$QryInsertStats .= "`fleet_points` = '". $TFleetPoints ."', ";
    		$QryInsertStats .= "`fleet_count` = '". $TFleetCount ."', ";
    		$QryInsertStats .= "`fleet_old_rank` = '". $OldFleetRank ."', ";
    		$QryInsertStats .= "`total_points` = '". $GPoints ."', ";
    		$QryInsertStats .= "`total_count` = '". $GCount ."', ";
    		$QryInsertStats .= "`total_old_rank` = '". $OldTotalRank ."', ";
    		$QryInsertStats .= "`stat_date` = '". $StatDate ."';";
    		doquery ( $QryInsertStats , 'statpoints');
    	}
    
    	$Rank           = 1;
    	$RankQry        = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `tech_points` DESC;", 'statpoints');
    	while ($TheRank = mysql_fetch_assoc($RankQry) ) {
    		$QryUpdateStats  = "UPDATE {{table}} SET ";
    		$QryUpdateStats .= "`tech_rank` = '". $Rank ."' ";
    		$QryUpdateStats .= "WHERE ";
    		$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
    		doquery ( $QryUpdateStats , 'statpoints');
    		$Rank++;
    	}
    
    	$Rank           = 1;
    	$RankQry        = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `build_points` DESC;", 'statpoints');
    	while ($TheRank = mysql_fetch_assoc($RankQry) ) {
    		$QryUpdateStats  = "UPDATE {{table}} SET ";
    		$QryUpdateStats .= "`build_rank` = '". $Rank ."' ";
    		$QryUpdateStats .= "WHERE ";
    		$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
    		doquery ( $QryUpdateStats , 'statpoints');
    		$Rank++;
    	}
    
    	$Rank           = 1;
    	$RankQry        = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `defs_points` DESC;", 'statpoints');
    	while ($TheRank = mysql_fetch_assoc($RankQry) ) {
    		$QryUpdateStats  = "UPDATE {{table}} SET ";
    		$QryUpdateStats .= "`defs_rank` = '". $Rank ."' ";
    		$QryUpdateStats .= "WHERE ";
    		$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
    		doquery ( $QryUpdateStats , 'statpoints');
    		$Rank++;
    	}
    
    	$Rank           = 1;
    	$RankQry        = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `fleet_points` DESC;", 'statpoints');
    	while ($TheRank = mysql_fetch_assoc($RankQry) ) {
    		$QryUpdateStats  = "UPDATE {{table}} SET ";
    		$QryUpdateStats .= "`fleet_rank` = '". $Rank ."' ";
    		$QryUpdateStats .= "WHERE ";
    		$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
    		doquery ( $QryUpdateStats , 'statpoints');
    		$Rank++;
    	}
    
    	$Rank           = 1;
    	$RankQry        = doquery("SELECT * FROM {{table}} WHERE `stat_type` = '1' AND `stat_code` = '1' ORDER BY `total_points` DESC;", 'statpoints');
    	while ($TheRank = mysql_fetch_assoc($RankQry) ) {
    		$QryUpdateStats  = "UPDATE {{table}} SET ";
    		$QryUpdateStats .= "`total_rank` = '". $Rank ."' ";
    		$QryUpdateStats .= "WHERE ";
    		$QryUpdateStats .= " `stat_type` = '1' AND `stat_code` = '1' AND `id_owner` = '". $TheRank['id_owner'] ."';";
    		doquery ( $QryUpdateStats , 'statpoints');
    		$Rank++;
    	}
    
    	// Statistiques des alliances ...
    	$GameAllys  = doquery("SELECT * FROM {{table}}", 'alliance');
    
    	while ($CurAlly = mysql_fetch_assoc($GameAllys)) {
    		// Recuperation des anciennes statistiques
    		$OldStatRecord  = doquery ("SELECT * FROM {{table}} WHERE `stat_type` = '2' AND `id_owner` = '".$CurAlly['id']."';",'statpoints');
    		if ($OldStatRecord) {
    			$OldTotalRank = $OldStatRecord['total_rank'];
    			$OldTechRank  = $OldStatRecord['tech_rank'];
    			$OldBuildRank = $OldStatRecord['build_rank'];
    			$OldDefsRank  = $OldStatRecord['defs_rank'];
    			$OldFleetRank = $OldStatRecord['fleet_rank'];
    			// Suppression de l'ancien enregistrement
    			doquery ("DELETE FROM {{table}} WHERE `stat_type` = '2' AND `id_owner` = '".$CurAlly['id']."';",'statpoints');
    		} else {
    			$OldTotalRank = 0;
    			$OldTechRank  = 0;
    			$OldBuildRank = 0;
    			$OldDefsRank  = 0;
    			$OldFleetRank = 0;
    		}
    
    		// Total des unitées consommée pour la recherche
    		$QrySumSelect   = "SELECT ";
    		$QrySumSelect  .= "SUM(`tech_points`)  as `TechPoint`, ";
    		$QrySumSelect  .= "SUM(`tech_count`)   as `TechCount`, ";
    		$QrySumSelect  .= "SUM(`build_points`) as `BuildPoint`, ";
    		$QrySumSelect  .= "SUM(`build_count`)  as `BuildCount`, ";
    		$QrySumSelect  .= "SUM(`defs_points`)  as `DefsPoint`, ";
    		$QrySumSelect  .= "SUM(`defs_count`)   as `DefsCount`, ";
    		$QrySumSelect  .= "SUM(`fleet_points`) as `FleetPoint`, ";
    		$QrySumSelect  .= "SUM(`fleet_count`)  as `FleetCount`, ";
    		$QrySumSelect  .= "SUM(`total_points`) as `TotalPoint`, ";
    		$QrySumSelect  .= "SUM(`total_count`)  as `TotalCount` ";
    		$QrySumSelect  .= "FROM {{table}} ";
    		$QrySumSelect  .= "WHERE ";
    		$QrySumSelect  .= "`stat_type` = '1' AND ";
    		$QrySumSelect  .= "`id_ally` = '". $CurAlly['id'] ."';";
    		$Points         = doquery( $QrySumSelect, 'statpoints', true);
    
    		$TTechCount     = $Points['TechCount'];
    		$TTechPoints    = $Points['TechPoint'];
    		$TBuildCount    = $Points['BuildCount'];
    		$TBuildPoints   = $Points['BuildPoint'];
    		$TDefsCount     = $Points['DefsCount'];
    		$TDefsPoints    = $Points['DefsPoint'];
    		$TFleetCount    = $Points['FleetCount'];
    		$TFleetPoints   = $Points['FleetPoint'];
    		$GCount         = $Points['TotalCount'];
    		$GPoints        = $Points['TotalPoint'];
    
    		$QryInsertStats  = "INSERT INTO {{table}} SET ";
    		$QryInsertStats .= "`id_owner` = '". $CurAlly['id'] ."', ";
    		$QryInsertStats .= "`id_ally` = '0', ";
    		$QryInsertStats .= "`stat_type` = '2', "; // 1 pour joueur , 2 pour alliance
    		$QryInsertStats .= "`stat_code` = '1', "; // de 1 a 5 mis a jour de maniere automatique
    		$QryInsertStats .= "`tech_points` = '". $TTechPoints ."', ";
    		$QryInsertStats .= "`tech_count` = '". $TTechCount ."', ";
    		$QryInsertStats .= "`tech_old_rank` = '". $OldTechRank ."', ";
    		$QryInsertStats .= "`build_points` = '". $TBuildPoints ."', ";
    		$QryInsertStats .= "`build_count` = '". $TBuildCount ."', ";
    		$QryInsertStats .= "`build_old_rank` = '". $OldBuildRank ."', ";
    		$QryInsertStats .= "`defs_points` = '". $TDefsPoints ."', ";
    		$QryInsertStats .= "`defs_count` = '". $TDefsCount ."', ";
    		$QryInsertStats .= "`defs_old_rank` = '". $OldDefsRank ."', ";
    		$QryInsertStats .= "`fleet_points` = '". $TFleetPoints ."', ";
    		$QryInsertStats .= "`fleet_count` = '". $TFleetCount ."', ";
    		$QryInsertStats .= "`fleet_old_rank` = '". $OldFleetRank ."', ";
    		$QryInsertStats .= "`total_points` = '". $GPoints ."', ";
    		$QryInsertStats .= "`total_count` = '". $GCount ."', ";
    		$QryInsertStats .= "`total_old_rank` = '". $OldTotalRank ."', ";
    		$QryInsertStats .= "`stat_date` = '". $StatDate ."';";
    		doquery ( $QryInsertStats , 'statpoints');
    	}
    
    	AdminMessage ( $lang['adm_done'], $lang['adm_stat_title'] );
    
    	} else {
    		AdminMessage ( $lang['sys_noalloaw'], $lang['sys_noaccess'] );
    	}
    
    ?>
  • 14-08-2008, 19:13:19
    #8
    Üyeliği durduruldu
    sayfanın başına

    if(isset($_GET['degisken']) && $_GET['degisken'] == deger) {

    satırını, en sonunada bi süslü parantez ekle. buradaki degisken ve deger kısımlarını kendine göre düzenle. daha sonra cronjobs ta dosya adının sonuna bunları ekle. yani şöyle;

    statbuilder.php?degisken=deger
  • 14-08-2008, 20:58:52
    #9
    MC_delta_T adlı üyeden alıntı: mesajı görüntüle
    sayfanın başına
    if(isset($_GET['degisken']) && $_GET['degisken'] == deger) {
    satırını, en sonunada bi süslü parantez ekle. buradaki degisken ve deger kısımlarını kendine göre düzenle. daha sonra cronjobs ta dosya adının sonuna bunları ekle. yani şöyle;
    statbuilder.php?degisken=deger
    Deneyecem Teşekkür Ederim Hepinize..