Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano

Witam.

Wczoraj zacząłem robić moją pierwszą aplikację.

Otóż mam plik na zasadzie config.php w ktorym sa dane do bazy... i class.php w ktorym jest cala funkcja łączenia napisana w zwyklym php..

Chciałbym ominąć to łączenie...

Tak aby korzystał z IPB a nie z configu.

Jak to zrobić?

Jaką linijką łącze sie z bazą?

Obecnie mam tak, ale to nie jest dobre rozwiazanie.....

	    case "ipb":
	  @include "{$file_path}../../../../../../conf_global.php";
	  $config['db']['server'] = $INFO['sql_host'];
	  $config['db']['user']   = $INFO['sql_user'];
	  $config['db']['pass']   = $INFO['sql_pass'];
	  $config['db']['db']	 = $INFO['sql_database'];
	  $config['db']['prefix'] = $INFO['sql_tbl_prefix'];
    break;

Gdybym potrafil pozamieniac wszystko aby bylo napisane obiektywnie to pewnie bym dal rade, a tak musze sie dalej uczyc :>

Opublikowano

Tak mam klase DB... ale mam tez plik w zwyklym php.. i nie wiem jak polaczyc skrypt do bazy ipb.

Jeszcze na drodze mam jeden błąd

plik servers.php

.....
public function doExecute( ipsRegistry $registry )
{
/* Set navigation */

$this->registry->output->addNavigation( $this->lang->words['serverviewer_main_title'], 'app=serverviewer', 'serverviewer' );

require_once( IPSLib::getAppDir( 'serverviewer' ) . '/sources/classes/class.php' );

$server_list = lgsl_query_group();
$server_list = lgsl_sort_servers($server_list);

Dostaje ERROR

Call to undefined function lgsl_query_group() in C:\wamp\www\admin\applications_addon\other\serverviewer\modules_public\global\servers.php

funkcja jest w pliku class.php.. ale czemu jej nie czyta?

zawartość pliku:

<?php
if ( !defined('IN_IPB') )
{
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
exit();
}
//if (!function_exists('lgsl_url_path')) { // START OF DOUBLE LOAD PROTECTION
class ServerViewer
{
public $registry;
public $DB;
public function __construct( $registry )
{
$this->registry = $registry;
$this->DB		 = $this->registry->DB();
}


public function lgsl_query_group($options = array())
{
if (!is_array($options)) { exit("LGSL PROBLEM: lgsl_query_group OPTIONS MUST BE ARRAY"); }
global $lgsl_config;

$request	 = isset($options['request'])	 ? $options['request']			 : "s";
$zone		 = isset($options['zone'])		 ? intval($options['zone'])		 : 0;
$hide_offline = isset($options['hide_offline']) ? intval($options['hide_offline']) : intval($lgsl_config['hide_offline'][$zone]);
$random	 = isset($options['random'])	 ? intval($options['random'])	 : intval($lgsl_config['random'][$zone]);
$type		 = empty($options['type'])		 ? ""							 : preg_replace("/[^a-z0-9_]/", "_", strtolower($options['type']));
$game		 = empty($options['game'])		 ? ""							 : preg_replace("/[^a-z0-9_]/", "_", strtolower($options['game']));
$mysql_order = empty($random)				 ? "`cache_time` ASC"			 : "rand()";
$server_limit = empty($random)				 ? 0							 : $random;
 $mysql_where = array("`disabled`=0");
if ($zone != 0) { $mysql_where[] = "FIND_IN_SET('{$zone}',`zone`)"; }
if ($type != "") { $mysql_where[] = "`type`='{$type}'"; }
$mysql_query = "SELECT `id` FROM `{$lgsl_config['db']['prefix']}{$lgsl_config['db']['table']}` WHERE ".implode(" AND ", $mysql_where)." ORDER BY {$mysql_order}";
$mysql_result = mysql_query($mysql_query) or die(mysql_error());
$server_list = array();
while ($mysql_row = mysql_fetch_array($mysql_result, MYSQL_ASSOC))
{
if (strpos($request, "c") === FALSE && lgsl_timer("check")) { $request .= "c"; }
$server = lgsl_query_cached("", "", "", "", "", $request, $mysql_row['id']);
if ($hide_offline && empty($server['b']['status'])) { continue; }
if ($game && $game != preg_replace("/[^a-z0-9_]/", "_", strtolower($server['s']['game']))) { continue; }
$server_list[] = $server;
if ($server_limit && count($server_list) >= $server_limit) { break; }
}
return $server_list;
}


}

Moze jak to rozwiąże to dam rade dalej, jestem początkujący :crazy:

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.