本文整理汇总了PHP中debug_echo函数的典型用法代码示例。如果您正苦于以下问题:PHP debug_echo函数的具体用法?PHP debug_echo怎么用?PHP debug_echo使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了debug_echo函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: convert_data_to_objects
function convert_data_to_objects($opts, $pipe, $cmd = __FUNCTION__)
{
# set prefix
$prefix = 'convert_data_to_objects';
# merge opts
$opts = merge_opts($opts, $pipe);
# get fields opt
$fields = get_opt($prefix, $opts, 'fields');
if (!check_opt_set_type($cmd, $fields, 'fields', 'array_of_strings')) {
return false;
}
# get data opt
$data = get_opt($prefix, $opts, 'data');
if (!check_opt_set_type($cmd, $data, 'data', 'array_of_arrays')) {
return false;
}
# initiate response
$field_count = count($fields);
$data_objects = array();
# loop over data
debug_echo($cmd, "converting data to objects");
foreach ($data as $line) {
$data_object = array();
for ($i = 0; $i < $field_count; $i++) {
$data_object[$fields[$i]] = $line[$i];
}
$data_objects[] = $data_object;
}
# build res
$res = array('data_objects' => $data_objects);
return $res;
}
示例2: datumbazdemando
/**
* kreas liston de la aligxintoj en array-formo.
*
* @param int $renkontigxoID
* @param string $ordigo
* @param lingvokodo $lingvo
*
* @return array du-dimensia array de la formo: <code>
* array( array('sxildnomo' => ...,
* 'personanomo' => ...,
* 'fam' => ...,
* 'urbo' => ...,
* 'landoid' => (ID de la lando),
* 'sxildlando' => (eble alia lando indikita de la aligxinto),
* 'partoprenoID' => (identigilo de la partopreno),
* 'ordigoID' => (numero por uzo eble anstataux
* la partoprenoID),
* 'lando' => (la lando-objekto),
* 'landonomo' => (nomo de la lando post traduko),
* 'ordigo' => (aux ordigoID aux partoprenoID),
* ),
* array(...),
* ...)
* </code>
* Gxi jam estas ordigita laux la petata maniero.
*/
function &kreu_aligxintoliston($renkontigxoID, $ordigo, $lingvo)
{
$sql = datumbazdemando(array("p.sxildnomo", "p.personanomo", "p.nomo" => "fam", "p.urbo" => 'urbo', "p.lando" => "landoid", "p.sxildlando" => 'sxildlando', "pn.ID" => 'partoprenoID', "pn.ordigoID"), array("partoprenantoj" => "p", "partoprenoj" => "pn"), array("p.ID = pn.partoprenantoID", "alvenstato = 'v'", "pn.listo = 'J'", "pn.renkontigxoID" => $renkontigxoID), "", array("order" => "pn.ID"));
$rez = sql_faru($sql);
$landolisto = array();
$listo = array();
while ($linio = mysql_fetch_assoc($rez)) {
if ($linio['ordigoID'] != 0.0) {
$linio['ordigo'] = (double) $linio['ordigoID'];
} else {
$linio['ordigo'] = (double) $linio['partoprenoID'];
}
if (!isset($landolisto[$linio['landoid']])) {
$landolisto[$linio['landoid']] =& new Lando($linio['landoid']);
}
$linio['lando'] =& $landolisto[$linio['landoid']];
$linio['landonomo'] = $linio['lando']->tradukita('nomo', $lingvo);
$listo[] = $linio;
}
$komparilo = donu_komparilon($ordigo);
metu_ordigolokalajxon($lingvo);
if (!usort($listo, $komparilo)) {
darf_nicht_sein("ordigado ne funkciis");
}
debug_echo("<!--" . var_export($listo, true) . "-->\n");
$nombro_entute = eltrovu_gxenerale("COUNT(*)", "partoprenoj", array("renkontigxoID" => $renkontigxoID, "alvenstato" => 'v'));
$nombro_landoj = eltrovu_gxenerale("COUNT(DISTINCT p.lando)", array("partoprenoj" => "pn", "partoprenantoj" => "p"), array("renkontigxoID" => $renkontigxoID, "alvenstato" => 'v', "pn.partoprenantoID = p.ID"));
return array($listo, $nombro_entute, $nombro_landoj);
}
示例3: create_csv_file
function create_csv_file($opts, $pipe, $cmd = __FUNCTION__)
{
# set prefix
$prefix = 'create_csv';
# merge opts
$opts = merge_opts($opts, $pipe, 'file');
# get file opt
$file = get_opt($prefix, $opts, 'file');
if (!check_opt_set_type($cmd, $file, 'file', 'string')) {
return false;
}
# get fields opt
$fields = get_opt($prefix, $opts, 'fields');
if (!check_opt_set_type($cmd, $fields, 'fields', 'array_of_strings')) {
return false;
}
# get data opt
$data = get_opt($prefix, $opts, 'data');
if (!check_opt_set_type($cmd, $data, 'data', 'array')) {
return false;
}
# make parent dir
if (!make_dir($opts, dirname($file))) {
return false;
}
# create temp file
$file_handle = @fopen('php://temp/csv-out', 'w');
if (!$file_handle) {
return error($cmd, "cannot create temp CSV file");
}
# output the fields
if (!fputcsv($file_handle, $fields)) {
return error($cmd, "could not output the fields CSV file : {$file}");
}
# output the data
foreach ($data as $line_no => $line) {
if (!fputcsv($file_handle, $line)) {
return error($cmd, "could not output line {$line_no} to CSV file : {$file}");
}
}
# grab contents and close temp file
rewind($file_handle);
$text = stream_get_contents($file_handle);
fclose($file_handle);
# create file and
if (!file_put_contents($file, $text)) {
return error($cmd, "cannot store CSV data to file : {$file}");
}
# report
$lines = count($data);
debug_echo($cmd, "CSV file created ({$lines} lines) : {$file}");
# return
if ($pipe === false) {
return $file;
}
return array('file' => $file);
}
示例4: sesio_aktualigu_ppenon
/**
* zorgas, ke $_SESSION['partopreno'] estu tiu kun $ppenoID.
*
* @param int $ppenoID la partopreno-identigilo.
* @uses sesio_aktualigu_ppanton()
*/
function sesio_aktualigu_ppenon($ppenoID)
{
debug_echo("<!-- aktualigu_ppenon(" . $ppenoID . ") -->");
if (!$_SESSION['partopreno'] or $_SESSION['partopreno']->datoj['ID'] != $ppenoID) {
$_SESSION['partopreno'] = new Partopreno($ppenoID);
}
if ($_SESSION['partoprenanto']->datoj['ID'] != $_SESSION['partopreno']->datoj['partoprenantoID']) {
sesio_aktualigu_ppanton($_SESSION['partopreno']->datoj['partoprenantoID'], $ppenoID);
}
}
示例5: debug
function debug($str, $value)
{
global $debug_str;
if ($value == 1) {
$debug_str = $debug_str . "<br />Fatal error: " . $str;
die(debug_echo());
} else {
$debug_str = $debug_str . "<br />" . $str;
}
}
示例6: kreu_tabelon
/**
* kreas novan datumbaztabelon.
*
* @param string $tabelnomo
* @param array $kamporeguloj array() el array(), pri kies
* formato vidu ĉe {@link donu_kampo_sql()}.
* @param array $sxlosiloj listo de ŝlosiloj/indeksoj. De la formo
* nomo => detaloj,
* kie 'nomo =>' povas esti forlasita (por lasi la sistemon
* mem krei la nomon).
* La nomo 'primary' indikas la ĉefan ŝlosilon.
* Se tiu ne estas donita, ni kreas la ĉefan ŝlosilon el "(`ID`)".
*
* detaloj povas esti ĉeno (nomo de kolumno)
* aŭ array de tiaj nomoj. En la lasta kazo, se
* detaloj[0] == 'index', ĝi estos forprenita
* kaj indikas, ke ni havas ne-unikan indekson.
* @param string $komento
* @param string $tipo se donita, alia ol la defaŭlta tabeltipo
* (ekzemple MEMORY por nur-memoraj tabeloj).
*/
function kreu_tabelon($tabelnomo, $kampoj, $sxlosiloj = null, $komento = "", $tipo = null)
{
$sql = "CREATE TABLE IF NOT EXISTS `" . traduku_tabelnomon($tabelnomo) . "` (\n ";
$sqlkampoj = array();
foreach ($kampoj as $kampopriskribo) {
if ($kampopriskribo) {
$sqlkampoj[] = donu_kampo_sql($kampopriskribo, $tabelnomo);
}
}
$primary = "ID";
if (!$sxlosiloj) {
$sxlosiloj = array();
}
foreach ($sxlosiloj as $nomo => $valoro) {
debug_echo("<!-- nomo: " . $nomo . ", valoro: " . var_export($valoro, true) . " -->");
if ('primary' === $nomo) {
debug_echo("<!-- primary! -->");
if (is_array($valoro)) {
$primary = implode('`, `', $valoro);
} else {
$primary = $valoro;
}
} else {
$unique = true;
if (is_array($valoro)) {
if ($valoro[0] == 'index') {
$unique = false;
array_shift($valoro);
}
$valoro = implode('`, `', $valoro);
}
debug_echo("<!-- valoro: " . var_export($valoro, true) . " -->");
$sxlosilfrazo = ($unique ? "UNIQUE KEY " : "KEY ") . (is_int($nomo) ? '' : "`{$nomo}` ") . "(`" . $valoro . "`)";
$sqlkampoj[] = $sxlosilfrazo;
}
}
debug_echo("<!-- sqlkampoj: " . var_export($sqlkampoj, true) . "-->");
$sqlkampoj[] = "PRIMARY KEY (`{$primary}`)";
$sql .= implode(",\n ", $sqlkampoj);
$sql .= "\n) ";
if (CHARSET_DB_SUPPORT) {
$sql .= "DEFAULT CHARSET=utf8 COLLATE=utf8_esperanto_ci ";
}
if ($tipo) {
$sql .= "\n TYPE='" . $tipo . "'";
}
if ($komento) {
$sql .= "\n COMMENT='" . addslashes($komento) . "'";
}
$sql .= ";\n";
// TODO
faru_SQL($sql);
}
示例7: listu_eblajn_mangxojn
/**
* Eltrovas, kiujn mangxojn iu partoprenanto povus partopreni.
*
* @param Partopreno $partopreno partopreno-objekto, por eltrovi
* renkontigxon, komenco- kaj fino-datojn.
*
* Se mankas, ni prenas $_SESSION['renkontigxo'] kaj
* ties fin- kaj komenco-datojn.
* @return array listo de cxiuj mangxoj, kiuj okazas dum la partoprentempo.
*/
function listu_eblajn_mangxojn($partopreno = null)
{
if ($partopreno) {
$de = $partopreno->datoj['de'];
$gxis = $partopreno->datoj['gxis'];
$renkID = $partopreno->datoj['renkontigxoID'];
} else {
$renkontigxo = kreuRenkontigxon();
debug_echo("<!-- sen partopreno, uzas renkontigxon: " . var_export($renkontigxo, true) . "-->");
$de = $renkontigxo->datoj['de'];
$gxis = $renkontigxo->datoj['gxis'];
$renkID = $renkontigxo->datoj['ID'];
}
$sql = datumbazdemando('ID', 'mangxtempoj', array("renkontigxoID = '" . $renkID . "'", "'" . $de . "' <= dato", "dato <= '" . $gxis . "'"));
$rez = sql_faru($sql);
$listo = array();
while ($linio = mysql_fetch_assoc($rez)) {
$listo[] = $linio['ID'];
}
debug_echo("<!--" . var_export($listo, true) . "-->");
return $listo;
}
示例8: clean_data
function clean_data($opts, $pipe, $cmd = __FUNCTION__)
{
# set prefix
$prefix = 'clean_data';
# merge opts
$opts = merge_opts($opts, $pipe);
# get data opt
$data = get_opt_config_value($prefix, $opts, 'data');
if (!check_opt_set_type($cmd, $data, 'data', 'array')) {
return false;
}
# get fields opt
$fields = get_opt_config_value($prefix, $opts, 'fields');
if (!check_opt_set_type($cmd, $fields, 'fields', 'array_of_strings')) {
return false;
}
# get old value opt
$old_value = get_opt_config_value($prefix, $opts, 'old_value');
# get new value opt
$new_value = get_opt_config_value($prefix, $opts, 'new_value');
# set up counts
$data_count = count($data);
$field_count = count($fields);
# messages
debug_echo($cmd, "cleaning data (old value : {$old_value}, new value : {$new_value})");
# loop through data
for ($i = 0; $i < $data_count; $i++) {
unset($line);
$line =& $data[$i];
for ($j = 0; $j < $field_count; $j++) {
if ($line[$j] === $old_value) {
$line[$j] = $new_value;
}
}
}
# set up result
$res = array('data' => $data, 'fields' => $fields);
return $res;
}
示例9: modify_rows
function modify_rows($opts, $pipe, $cmd = __FUNCTION__)
{
# set prefix
$prefix = 'modify_rows';
# merge opts
$opts = merge_opts($opts, $pipe);
# get data opt
$data = get_opt_config_value($prefix, $opts, 'data');
if (!check_opt_set_type($cmd, $data, 'data', 'array')) {
return false;
}
# get fields opt
$res_fields = get_opt_config_value($prefix, $opts, 'fields');
if (!check_opt_set_type($cmd, $res_fields, 'fields', 'array_of_strings')) {
return false;
}
# get limit opt
$limit = get_opt_config_value($prefix, $opts, 'limit');
if (!check_opt_set_type($cmd, $limit, 'limit', 'integer')) {
return false;
}
# get limit opt
$offset = get_opt_config_value($prefix, $opts, 'offset', 0);
if (!check_opt_set_type($cmd, $offset, 'offset', 'integer')) {
return false;
}
# display message
debug_echo($cmd, "modifying rows (limit = {$limit}, offset = {$offset})");
# set up end
$end = $offset + $limit;
# process the data
$res_data = array();
for ($i = $offset; $i < $end; $i++) {
$res_data[] = $data[$i];
}
# build response object
return build_result_data($res_fields, $res_data);
}
示例10: savu_entajpanton
function savu_entajpanton()
{
debug_echo("<!-- POST: " . var_export($_POST, true) . "-->");
$entajpanto = new Entajpanto($_REQUEST['ID']);
$entajpanto->kopiu();
if ($_POST['pasvortsxangxo'] == 'JES') {
if ($_POST['pasvorto']) {
$entajpanto->datoj['kodvorto'] = $_POST['pasvorto'];
eoecho("<p>S^ang^o de pasvorto!</p>");
} else {
erareldono("Vi petis pri s^ang^o de pasvorto, " . "sed ne donis novan!");
}
}
if ($entajpanto->datoj['ID'] == 'nova') {
$entajpanto->skribu_kreante();
} else {
$entajpanto->skribu();
}
eoecho("<p> Savis Entajpanton #" . $entajpanto->datoj['ID'] . ".</p>\n");
if ($_REQUEST['redaktu'] == 'nova') {
$_REQUEST['redaktu'] = $entajpanto->datoj['ID'];
}
}
示例11: debug_echo
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php
echo $tradukoj["tradukejo-titolo"];
?>
</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?
debug_echo ("<!-- " . var_export($_POST, true) . "\n-->");
konektu();
$chefa = $agordoj["chefa_lingvo"];
$nombro_da_aldonoj = 0;
$nombro_da_redaktoj = 0;
$nombro_da_forigoj = 0;
$nombro_da_eraroj = 0;
foreach($_POST AS $nomo => $valoro) {
list($ordono, $numero) = explode('-', $nomo, 2);
switch($ordono) {
case "aldonu":
// $loka_dosiero = $_POST["dosiero-$numero"];
// $loka_cheno = $_POST["cheno-$numero"];
// $loka_iso2 = $_POST["iso2-$numero"];
示例12: formatu_mangxrezulton
function formatu_mangxrezulton($titolo, $linioj, $sql, &$para, $tagolisto)
{
$parindex = 0;
if ($linioj > 0) {
echo "<tr class='{$para[0]}'>";
$para = array_reverse($para);
// TODO: auxtomate kalkuli, kiom da linioj ni bezonas,
// aux meti 0-liniojn.
echo "<th rowspan='{$linioj}'>";
eoecho($titolo);
echo "</th>";
$rez = sql_faru($sql);
$lasta_tipo = "#";
while ($linio = mysql_fetch_assoc($rez)) {
if ($linio['mangxotipo'] != $lasta_tipo) {
if ($lasta_tipo != "#") {
while ($dato != null) {
echo "<td/>";
$dato = next($tagolisto);
}
echo "</tr><tr class='{$para[0]}'>";
$para = array_reverse($para);
}
echo "<th>" . $linio['mangxotipo'] . "</th>";
$lasta_tipo = $linio['mangxotipo'];
$dato = reset($tagolisto);
}
// TODO: kontroli, cxu la aktuala dato estas
// la gxusta el la listo, alikaze lasu spacon.
while ($dato and $dato != $linio['dato']) {
echo "<td/>";
$dato = next($tagolisto);
}
echo "<td>";
debug_echo("<!--" . $linio['dato'] . "/" . $linio['mangxotipo'] . ": -->");
eoecho($linio['num'] . "</td>");
$dato = next($tagolisto);
}
while ($dato != null) {
echo "<td/>";
$dato = next($tagolisto);
}
echo "</tr>";
}
}
示例13: kalkulu_regulajn_pseuxdopagojn
/**
* Metas la informojn pri la pago al $this->detalolisto,
* kaj plialtigas (aux malplialtigas) $this->sumo laux gxi.
*
* @param asciistring $tipo aux "krompago" aux "rabato".
*/
function kalkulu_regulajn_pseuxdopagojn($tipo, $signo)
{
$pagolisto = array('signo' => $signo);
$listo = $this->kotizosistemo->listu_regulajn_pseuxdopagojn($tipo);
foreach ($listo as $regPP) {
$regulo = $regPP->donu_regulon();
debug_echo("<!-- regulo: " . $regulo->datoj['nomo'] . "-->");
if ($regulo->aplikigxas($this->objektolisto)) {
debug_echo("<!-- ==> regulo " . $regulo->datoj['nomo'] . " aplikigxas! -->");
if ($regulo->datoj['lauxnokte'] == 'j') {
$val = $regPP->datoj['kvanto'] * $this->kotizokalkulilo->partoprennoktoj;
debug_echo("<!-- * " . $this->kotizokalkulilo->partoprennoktoj . " = " . $kp . "-->");
} else {
$val = $regPP->datoj['kvanto'];
}
$valuto = $regPP->datoj['valuto'];
$pagolisto[] = array('titolo' => $regulo->datoj['nomo'], 'tipo' => $regulo->datoj['nomo'], 'valoro' => array('kvanto' => $val, 'valuto' => $valuto, 'dato' => $this->renkontigxo->datoj['de']));
}
}
$this->detalolisto[$tipo] = $pagolisto;
/*
* adiciu_grupon transkalkulas al CXEFA_VALUTO.
*/
$sumo = $this->kotizokalkulilo->adiciu_grupon($pagolisto);
$this->sumo += $sumo;
}
示例14: eltrovu_bazan_kotizon
/**
* eltrovas kaj redonas la bazan kotizon por tiu kategorio.
*
* @param array $kategorioj array() en la formo
* agx => ..., // id de agxkategorio
* lando => ..., // id de landokategorio
* logx => ..., // id de logxkategorio
* aligx => ..., // id de aligxkategorio
* aux kie la valoroj (por samaj sxlosiloj) estas de la
* formo
* array(ID => ..., ...).
* @return number la baza kotizo.
*/
function eltrovu_bazan_kotizon($kategorioj)
{
$restriktoj = array("kotizosistemo = '" . $this->datoj['ID'] . "'");
foreach ($kategorioj as $nomo => $id) {
if (is_array($id)) {
$id = $id['ID'];
}
$restriktoj[] = "{$nomo}kategorio = '{$id}'";
}
$num = eltrovu_gxenerale('kotizo', 'kotizotabeleroj', $restriktoj);
debug_echo("<!-- eltrovu_bazan_kotizon(...)\n ==> " . $num . "-->");
return $num;
}
示例15: mawk_build_indexes
function mawk_build_indexes(&$fields_arr, &$data_arr, &$indexes_arr, $cmd = __FUNCTION__, $debug = false)
{
# initiate indexes
$full_indexes = array();
# loop over all indexes to define
$sources_count = count($fields_arr);
for ($i = 0; $i < $sources_count; $i++) {
# unset old values
unset($fields);
unset($data);
unset($indexes);
# check to see if there are any indexes
$indexes =& $indexes_arr[$i];
if (!$indexes) {
continue;
}
# initiate for the source
$fields =& $fields_arr[$i];
$fields_count = count($fields);
$data =& $data_arr[$i];
$data_count = count($data);
$source_no = $i + 1;
$source_indexes = array();
# loop over all field indexes
for ($j = 0; $j < $fields_count; $j++) {
# check which fields should be indexed
if (@$indexes[$j]) {
# display message
$field = $fields[$j];
debug_echo($cmd, "creating index on field '{$field}' of source {$source_no}");
# loop through all the data to define the index
$index = array();
for ($k = 0; $k < $data_count; $k++) {
# get line data
$line =& $data[$k];
# get the key
$key = $line[$j];
# ignore keys that are null
if ($key === null) {
continue;
}
if (isset($index[$key])) {
if ($debug) {
$line_no = $k + 1;
debug_echo($cmd, "ignoring duplicate index key ({$key}) on line {$line_no}");
}
continue;
}
# set the index value
$index[$key] =& $line;
}
# add the index to the list
$source_indexes[$j] = $index;
}
}
# add the sources index to the indexes
$full_indexes[] = $source_indexes;
}
return $full_indexes;
}