Stránka 1 z 1

Board 3 Portal, pomoc s úpravou bloku

Napsal: pon 25. kvě 2015 11:40:10
od vBrute
Čaute,

používam portálovú modifikáciu Board 3 Portal, no keďže nie som dobrý v php, zložitejšie úpravy mi robia dost problémy. Je tam jeden blok Recent, kde sa zobrazujú posledné pridané témy a oznámenia a rád by som tam pridal ešte ďalší stĺpec, kde by sa zobrazovali posledné pridané Blogy z modifikácie [img=https://www.phpbb.com/customise/db/mod/user_blog_mod/]User Blog Mod[/img].
No raz mi to nechce ísť. Podpora na Board 3 ma odignorovala, tu je odkaz na tému na Board 3 fóre:
http://www.board3.de/viewtopic.php?f=52&t=10976

Originálny kód na stĺpec ktorý zobrazuje posledné témy:

Kód: Vybrat vše

	// Recent topic (only show normal topic)
		//
		$sql = 'SELECT topic_title, forum_id, topic_id
			FROM ' . TOPICS_TABLE . ' t
			WHERE topic_status <> ' . ITEM_MOVED . '
				AND topic_approved = 1 
				AND topic_type = ' . POST_NORMAL . '
				AND topic_moved_id = 0
				' . $sql_where . '' .  $forum_sql . '
			ORDER BY topic_time DESC';
		$result = $db->sql_query_limit($sql, $config['board3_max_topics_' . $module_id]);

		while(($row = $db->sql_fetchrow($result)) && ($row['topic_title']))
		{
			// auto auth
			if (($auth->acl_get('f_read', $row['forum_id'])) || ($row['forum_id'] == '0'))
			{
				$template->assign_block_vars('latest_topics', array(
					'TITLE'			=> character_limit($row['topic_title'], $config['board3_recent_title_limit_' . $module_id]),
					'FULL_TITLE'	=> censor_text($row['topic_title']),
					'U_VIEW_TOPIC'	=> append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&t=' . $row['topic_id'])
				));
			}
		}
		$db->sql_freeresult($result);

		return 'recent_center.html';
	}
skusal som ho upravit a pridat ako dalsí stlpec, no neviem ani ako mám zadat srávne tabulku databazy, lebo mi ju nechce zobrat:

moj upravený kod pre Blogy

Kód: Vybrat vše

//
      // Recent blogs
      //
      $sql = 'SELECT blog_subject, user_id, blog_id
         FROM ' . BLOGS_TABLE . ' t
         WHERE blog_deleted = 0
            AND blog_approved = 1
            ' . $sql_where . '' .  $forum_sql . '
         ORDER BY blog_time DESC';
      $result = $db->sql_query_limit($sql, $config['board3_max_topics_' . $module_id]);

      while(($row = $db->sql_fetchrow($result)) && ($row['blog_subject']))
      {
         // auto auth
         if (($auth->acl_get('f_read', $row['forum_id'])) || ($row['forum_id'] == '0'))
         {
            $template->assign_block_vars('latest_topics', array(
               'TITLE'         => character_limit($row['topic_title'], $config['board3_recent_title_limit_' . $module_id]),
               'FULL_TITLE'   => censor_text($row['topic_title']),
               'U_VIEW_TOPIC'   => append_sid("{$phpbb_root_path}blog.$phpEx", 'u=' . $row['user_id'] . '&b=' . $row['blog_id'])
            ));
         }
      }
      $db->sql_freeresult($result);
no hodí mi len prázdnu stránku, kde može byt chyba?

Re: Board 3 Portal, pomoc s úpravou bloku

Napsal: pon 25. kvě 2015 17:44:20
od leschek
Asi ti moc nepomůžu, ale zkus se podívat do souboru \blog\includes\blog_data.php, třeba na něco přijdeš.

Ačkoliv to sem nepatří, tak by asi stálo za zvážení, jestli to co děláš má smysl, protože to vypadá, že autor blog MODu už není aktivní. Býval členem phpBB.com týmu vývojářů a už není, jeho web, na kterém měl podporu pro svoje MODy nefunguje, takže je velmi pravděpodobné, že jeho MOD nebude aktualizován na rozšíření pro phpBB 3.1 - pokud tedy chceš někdy fórum aktualizovat.

Re: Board 3 Portal, pomoc s úpravou bloku

Napsal: úte 26. kvě 2015 18:55:41
od vBrute
dik, pozerám no zatial ma neosvietilo, snažíms a o najlahšiu cestu aby sa mi tie nove blogy zobrazovali na portalovej stránke, ked pozrieš kolko z tých modov zatial ani nezačali byt prerábané na 3.1 verziu, vobec sa mi nechce aktualizovat, chýbali by mi tie modifikacie...

Re: Board 3 Portal, pomoc s úpravou bloku

Napsal: stř 27. kvě 2015 0:33:53
od leschek
vBrute píše:pozerám no zatial ma neosvietilo
Myslel jsem, že by v tom souboru mohlo být, jak načíst články blogu z databáze. Nejsem kodér, tak jen hádám, ale nějak se mi nezdá to téčko v tomto tvém kódu:

Kód: Vybrat vše

FROM ' . BLOGS_TABLE . ' t
vBrute píše:ked pozrieš kolko z tých modov zatial ani nezačali byt prerábané na 3.1 verziu, vobec sa mi nechce aktualizovat, chýbali by mi tie modifikacie...
Spousta MODů už je konvertovaná na rozšíření, nebo je nahrazená novými funkcemi přímo v phpBB. Já mám na fóru okolo 30 MODů a taky jsem ho zatím neaktualizoval. Většina MODů, které používám už je zkonvertovaná na rozšíření (takže čekám, až bude stabilnější verze), nebo je jde nahradit novým rozšířením, nebo se bez nich obejdu. Ale samozřejmě záleží na tom, co za MODy používáš.

User Blog MOD jsem taky měl, ale rozhodl jsem se ho zrušit, protože prostě nevěřím, že ho někdo předělá na rozšíření - taky jsem do něj psal jen já a to jen velmi zřídka, takže můžu vytvořit nové fórum blogy a články dát tam. Pro 3.1 jsem si vytvořil něco, co jsem nazval ViewForum Blog, což víceméně zkonvertuje seznam témat do něčeho, co se podobá blogu (výhodou je to, že jsou články uložený jako normální témata a příspěvky, takže, když "blog" přestane fungovat, o žádné informace nepřijdu. Vypadá to takhle. Bohužel jsem v php míň než začátečník a tak si s některýma věcma nevím rady, proto jsem požádal o pomoc na phpBB.com, ale zatím se zdá, že myšlenka nikoho nezaujala.

Re: Board 3 Portal, pomoc s úpravou bloku

Napsal: stř 27. kvě 2015 11:30:34
od vBrute
no ja neviem na čo to t tam je, ale pri topicoch tam je, tak som to nechal, skusil som to aj vymazat a takisto nazvy funkcii z blog_data, ktore som mal asi predtym zle, no kedže stále t istú nápomocnú prázdnu stránku, neviem čo robím zle... nevieš poradit hocaký sposob ako by osm to mohol obíst resp ako by som nové blogy zobrazil, nejakým - hocakým sposobom na tej portálovej stránke?

dobre rozmýšlaš, no ako som teraz pozeral, plno mojich modov ešte nemá extension a niektoré ani nebudú, no v dohladnej dobe určite aktualizovat nebudem, preto by som toto nejak vyriešil, je to taká jediná "väčšia" funkcia čo by som chcel pridat, ináč mi momentalny stav vyhovuje, ide to dobre, nechce sa mi stracat čas preinštalovavaním...

Re: Board 3 Portal, pomoc s úpravou bloku

Napsal: stř 27. kvě 2015 14:33:06
od leschek
Jak jsem psal, nejsem kodér. Nicméně se můžeš zkusit podívat do internetového archivu na dnes už neexistující stránky autora MODu, třeba tam něco najdeš.

Re: Board 3 Portal, pomoc s úpravou bloku

Napsal: stř 27. kvě 2015 19:47:03
od kksmirice
vBrute píše:no ja neviem na čo to t tam je, ...
t je alias tabulky BLOGS_TABLE, vzhledem k tomu, že je v dotazu použita pouze jedna tabulka je naprosto zbytečný.

Proč Vám to nefunguje? Protože máte špatně sestavený dotaz.

Nevím co obsahují proměnné $sql_where a $forums_sql?

Re: Board 3 Portal, pomoc s úpravou bloku

Napsal: stř 27. kvě 2015 22:03:08
od vBrute
díky lešku, toto je asi najlepšie čo sa dá k tomu zohnať, ako to tak ale študujem, mám pocit že je to zložitejšie ako som si myslel resp. sa nádejal a že to mám asi dost zle 8-|

pre pána kksmiricu, kludne mi tykajte, mne tykajú všetci aj v reálnom živote, ja sa cítim byt stále mladý :),
sql_where bude to nastavenie v administracii, ak chcem nejake fora vynechat a tomu druhámu uplne nechápem, prikladám celý kod ak by náhodou niekoho napadlo

Kód: Vybrat vše

// Exclude forums
		//
		$sql_where = '';
		if ($config['board3_recent_forum_' . $module_id] > 0)
		{
			$exclude_forums = explode(',', $config['board3_recent_forum_' . $module_id]);

			$sql_where = ' AND ' . $db->sql_in_set('forum_id', array_map('intval', $exclude_forums), ($config['board3_recent_exclude_forums_' . $module_id]) ? true : false);
		}

		// Get a list of forums the user cannot read
		$forum_ary = array_unique(array_keys($auth->acl_getf('!f_read', true)));

		// Determine first forum the user is able to read (must not be a category)
		$sql = 'SELECT forum_id
			FROM ' . FORUMS_TABLE . '
			WHERE forum_type = ' . FORUM_POST;

		$forum_sql = '';
		if (sizeof($forum_ary))
		{
			$sql .= ' AND ' . $db->sql_in_set('forum_id', $forum_ary, true);
			$forum_sql = ' AND ' . $db->sql_in_set('t.forum_id', $forum_ary, true);
		}

		$result = $db->sql_query_limit($sql, 1);
		$g_forum_id = (int) $db->sql_fetchfield('forum_id');
		$db->sql_freeresult($result);