Универсальный print_r() для битрикса

Часто для отладки приходиться выводить кучу инфы, и каждый раз писать лишнее строки лень, потому создал простую функцию для этого, почти тёску.


if (!function_exists('printr')) {
	function printr($array) {
		GLOBAL $USER;
		if (!$USER->IsAdmin()) return false;
		$args = func_get_args();
		if (count($args) > 1) {
			foreach ($args as $values)
				printr($values);
		} else {
			if (is_array($array) || is_object($array)) {
				echo "<pre>";
				print_r($array);
				echo "</pre>";
			} else {
	  			echo $array;
			}
		}
		return true;
	}
}
printr($arr1,$arr2, $str, "string");

Вставлять соответ. в афтер_коннект.пхп
  • 0
  • 03 марта 2011, 16:32
  • admin

Комментарии (9)

RSS свернуть / развернуть
Отлично работает правда сначала пришлось закоментить строчки
GLOBAL $USER;
        if (!$USER->IsAdmin()) return false;
0
это сугубо для битрикса 2 строчки, да и без строчек будет видно всем, а так только админам :)
0
это понятно но с ними почемуто ругается неприлично
Fatal error: Call to a member function IsAdmin() on a non-object in /home/z/zagor/public_html/bitrix/php_interface/init.php on line 199

не знаю может в шаблоне чего дописать надо %)
0
фсё понял не в тот файл вставил. извеняюсь, автору +100500
+1
функцию нужно добавить после инициализации битрикса, то есть в файл
/bitrix/php_interface/after_connect.php

А так да, изначально функция была без этих строк
0
комментарий был удален
комментарий был удален
function printr($array) {
	$args = func_get_args();
	if (count($args) > 1) printr($args);
	else {
		echo "<pre>";
		print_r($array);
		echo "</pre>";
	}
}


самая простая версия
0
function printr() {
	$args = func_get_args();
	$check = end($args) == 1 && count($args) > 1;
	if (isset($GLOBALS['USER']) && !$check)
		if (!$GLOBALS['USER']->IsAdmin()) return false;

	if ($check) 
		$args = count($args) == 2 ? reset($args) : array_pop($args);
	
	echo "<pre>";
	print_r($args);
	echo "</pre>";
}

brand new
* check auth
* not auth printrs available with last argument that eq. 1
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.