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

Reputacja po aktualizacji 3.2.3 => 3.4.7 (widok profilu)


denis13wroc
Przejdź do rozwiązania Rozwiązane przez denis13wroc,

Rekomendowane odpowiedzi

Witam,

 

mam niemały problem z po aktualizacji. Nie mogę sobie poradzić z systemem reputacji po aktualizacji.

Niby da się normalnie rozdawać "plusiki" jednak po wejściu na profil - tab Reputacja pokazuje się błąd pliku php:

Warning: Invalid argument supplied for foreach() in (ścieżka)/admin/sources/classes/output/publicOutput.php(1759) : eval()'d code on line 1333
			if ( $this->loaded_templates[ $skin_global_name ] == "" and $name != 'skin_global'  AND $this->_noLoadGlobal === FALSE )
			{
				//-----------------------------------------
				// Skin global not loaded...
				//-----------------------------------------
				
				$this->DB->build( array( 'select' => '*',
										 'from'   => 'skin_cache',
										 'where'  => "cache_set_id=".$id." AND cache_value_1 IN ('skin_global', '$name')" ) );
									 
				$this->DB->execute();
				
				while ( $r = $this->DB->fetch() )
				{
					if ( $r['cache_value_1'] == 'skin_global' )
					{
						$skin_global = $r['cache_content'];
					}
					else
					{
						$other_skin  = $r['cache_content'];
					}
				}

				if ( empty( $new_skin_global_name ) OR ! class_exists( $new_skin_global_name ) )
				{
					eval($skin_global);
				}
				
				$new_skin_global_name	= $this->_getSkinHooks( 'skin_global', $skin_global_name, $id );
				
				$this->compiled_templates['skin_global'] =  new $new_skin_global_name( $this->registry );
				
				# Add to loaded templates
				$this->loaded_templates[ $skin_global_name ] = $new_skin_global_name;
			}
			else
			{
				//-----------------------------------------
				// Skin global is loaded..
				//-----------------------------------------
				
				if ( $name == 'skin_global' and in_array( $skin_global_name, $this->loaded_templates ) )
				{
					return;
				}
				
				//-----------------------------------------
				// Load the skin, man
				//-----------------------------------------
				
				$template   = $this->DB->buildAndFetch( array( 'select' => '*',
										'from'   => 'skin_cache',
										'where'  => "cache_set_id=".$id." AND cache_value_1='$name'" ) );
									 
				$other_skin = $template['cache_content'];
				
			}
			
			eval($other_skin);
			
			if ( $name == 'skin_global' )
			{
				$new_skin_global_name = $this->_getSkinHooks( 'skin_global', $skin_global_name, $id );
				
				$this->compiled_templates['skin_global']           =  new $new_skin_global_name( $this->registry );
				
				# Add to loaded templates
				$this->loaded_templates[ $skin_global_name ] = $new_skin_global_name;
			}
			else
			{
				$new_full_name = $this->_getSkinHooks( $name, $full_name, $id );

				if( class_exists( $new_full_name ) )
				{
					$this->compiled_templates[ $name ]           =  new $new_full_name( $this->registry );
					
					# Add to loaded templates
					$this->loaded_templates[ $full_name ] = $new_full_name;
				}
			}

Całość wygląda na stępująco jak na obrazku :-)

 

post-1362-0-47731600-1430396003_thumb.pn

 

Szukałem ustawień / zmieniałem sytem reput na polubienia ale widocznie działa to dokładnie tak samo jako reputacja (ograniczenie do plusów) bo błąd dokładnie ten sam.

Czy ktoś spotkał się z podobnym problemem? wie albo podejrzewać jak go rozwiazać?

 

Z góry dziękuje!

 

 

Po przestudiowaniu funkcji eval - wrzucam również wygenerowaną funkcję z linią 1333...

function __f__1e4b09f9122ef9266911e0348111ce7d($title, $rows, $pages)
{
	$_ips___x_retval = '';
	$__iteratorCount = 0;
	foreach( $rows as $r )
	{
		
		$__iteratorCount++;
		$_ips___x_retval .= "
				" . (($this->settings['reputation_point_types'] == 'like') ? ("<tr>
						<td class='short'>
							<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "showuser={$r['member_id']}", "public",'' ), "{$r['members_seo_name']}", "showuser" ) . "' class='ipsUserPhotoLink'>
								{$r['member_photo']}
							</a>
						</td>
						<td>
							" . (($r['member_id'] && $r['members_display_name']) ? ("
								<a hovercard-ref='member' hovercard-id='{$r['member_id']}' class='_hovertrigger topic_title' href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "showuser={$r['member_id']}", "public",'' ), "{$r['members_seo_name']}", "showuser" ) . "' title=''>{$r['members_display_name']}</a>
							") : ("
								Guest
							")) . "
						</td>
						<td>{$r['_date']}</td>
						<td><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "findpost={$r['pid']}", "public",'' ), "", "" ) . "' title=''>{$r['title']}</a></td>
					</tr>") : ("<tr>
						<td class='short'>
							<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "showuser={$r['member_id']}", "public",'' ), "{$r['members_seo_name']}", "showuser" ) . "' class='ipsUserPhotoLink'>
								{$r['member_photo']}
							</a>
						</td>
						<td>
							" . (($r['member_id'] && $r['members_display_name']) ? ("
								<a hovercard-ref='member' hovercard-id='{$r['member_id']}' class='_hovertrigger topic_title' href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "showuser={$r['member_id']}", "public",'' ), "{$r['members_seo_name']}", "showuser" ) . "' title=''>{$r['members_display_name']}</a>
							") : ("
								Guest
							")) . "
						</td>
						<td>{$r['_date']}</td>
						<td><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "findpost={$r['pid']}", "public",'' ), "", "" ) . "' title=''>{$r['title']}</a></td>
						<td class='short'><img src='{$this->settings['img_url']}/{$r['_icon']}.png' alt='' /></td>
					</tr>")) . "	
			
";
	}
	$_ips___x_retval .= '';
	unset( $__iteratorCount );
	return $_ips___x_retval;
}
Edytowane przez denis13wroc
Odnośnik do komentarza
Udostępnij na innych stronach

Niestety - dokładnie to samo na czystym skinie.

 

Po sprawdzeniu, funkcja:

function __f__1e4b09f9122ef9266911e0348111ce7d($title, $rows, $pages)

nie otrzymuje prawidłowego formatu zmiennej $rows - powinna być tablicą a otrzymuje tylko stringa "forums".

Ew. wiecie może gdzie są pobierane dane z bazy aby wypadły w tym $rows?

 

Help...

Odnośnik do komentarza
Udostępnij na innych stronach

  • Rozwiązanie

Ok - dla potomnych.

Pogrzebałem, poszukałem i aż dziwne że wcześniej na to nie trafiłem.

 

Problem powoduje stary, wyłączony hook [P32] Reputation Profile Tab.

Jednak same usunięcie po aktualizacji nie rozwiązuje problemu.

 

Więcej pod linkiem:

https://www.invisionpower.com/support/kb/_/reputation-profile-tab-r53

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • 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ę.