19 include_once (
"FDL/Class.Dir.php");
20 include_once (
"FDL/Lib.Dir.php");
28 if (
$vf->Show($reg[2], $info) ==
"") $fname = $info->name;
29 else $fname = sprintf(_(
"file %d") , $th->initid);
31 $fname = sprintf(_(
"file %d") , $th->initid);
49 if (
$doc->isAffected())
return array(
67 if ($soc->isAffected()) {
68 $a = $soc->getAttribute($attrid);
82 $filter[] =
"(title ~* '$name') or (us_mail ~* '$name')";
85 $filter[] =
"us_mail is not null";
92 while (list($k, $v) = each($tinter)) {
94 $mail =
getv($v,
"us_mail");
95 $usw =
getv($v,
"us_whatid");
107 $v[
"title"] .
" <$mail>",
120 if (!
$famid)
return _(
"family must be defined");
124 if (!
$famid)
return _(
"family must be defined");
128 if (!
$famid)
return _(
"family must be defined");
133 if (!
$famid)
return _(
"family must be defined");
137 if (!$wfamid)
return _(
"cycle family must be defined");
141 if (!$wfamid)
return _(
"cycle family must be defined");
145 if (!$wfamid)
return _(
"cycle family must be defined");
149 if (!
$famid)
return _(
"family must be defined");
153 if (!$wfamid)
return _(
"cycle family must be defined");
159 return "error tplmail($dbaccess,$type,$famid, $name)";
166 if (is_array($users)) {
167 foreach ($users as $k => $v) {
168 $users[$k][1] = $v[1] .
' (' . $v[2] .
')';
178 include_once (
"Class.QueryDb.php");
182 $q->AddQuery(
"isglob = 'Y'");
183 if (
$name)
$q->AddQuery(
"name ~* '" . pg_escape_string(
$name) .
"'");
184 $q->order_by =
"name";
185 $la =
$q->Query(0, 20,
"TABLE");
186 foreach (
$la as $k => $v) {
187 $p = $v[
"name"] .
' (' . $v[
"descr"] .
')';
203 $tinter =
$doc->getParamAttributes();
205 $tinter =
$doc->GetNormalAttributes();
209 $pattern_name = preg_quote(
$name);
210 $pattern_type = (
$type);
211 foreach ($tinter as $k => $v) {
212 if ((
$name ==
"") || (preg_match(
"/$pattern_name/i", $v->getLabel() , $reg)) || (preg_match(
"/$pattern_name/", $v->id, $reg))) {
213 preg_match(
"/$pattern_type/", $v->type, $reg);
214 if ((
$type ==
"") || ($v->type ==
$type) || ((strpos(
$type,
'|') > 0) && (preg_match(
"/$pattern_type/", $v->type, $reg)))) {
215 $r = $v->id .
' (' . $v->getLabel() .
')';
234 if (!is_numeric($subfam)) {
238 $tinter = $cdoc->GetChildFam();
239 $tinter[] = get_object_vars($cdoc);
246 $pattern_name = preg_quote(
$name);
247 while (list($k, $v) = each($tinter)) {
249 if ((
$name ==
"") || (preg_match(
"/$pattern_name/i", $ftitle, $reg))) {
289 if (!is_numeric(
$famid)) {
295 $filter[] =
"title ~* '$name'";
303 foreach ($tinter as $k => $v) {
337 if (!is_numeric(
$famid)) {
343 $filter[] =
"title ~* '$name'";
346 $args = func_get_args();
347 foreach ($args as $k => $v) {
348 if ($k > 2) $attr[] = strtolower($v);
356 foreach ($tinter as $k => $v) {
360 foreach ($attr as
$a) {
384 $filter[] =
"title ~* '.*$name.*'";
391 while (list($k, $v) = each($tinter)) {
411 $tenum = explode(
"|", $enum);
415 $pattern_val = preg_quote($val);
416 while (list($k, $v) = each($tenum)) {
418 if (($val ==
"") || (preg_match(
"/$pattern_val/i", $v, $reg))) $tr[] = array(
436 $val = str_replace(array(
443 $val = str_replace(array(
450 $enum = str_replace(array(
457 $tenum = explode(
"---", $enum);
461 foreach ($tenum as $k => $v) {
462 list($key,
$label) = explode(
"|", $v);
463 $slabel = str_replace(array(
470 if (($val ==
"") || (preg_match(
"!" . preg_quote($val) .
"!i", $slabel, $reg))) $tr[] = array(
501 if ($maskfamid > 0) {
503 $chdoc = $mdoc->GetFromDoc();
516 $chdoc = $mdoc->GetFromDoc();
527 $chdoc = $mdoc->GetFromDoc();
528 $filter[] =
"tmail_family is null or (" .
GetSqlCond($chdoc,
"tmail_family") .
')';
538 $chdoc = $mdoc->GetFromDoc();
550 "fromid=5 or fromid=16"
561 "fromid=5 or fromid=16"
567 $all = array_merge($ls, $fld);
580 if ($tview ==
"VEDIT") $tz = $cdoc->eviews;
581 else $tz = $cdoc->cviews;
583 $tz = array_merge($oz, $tz);
586 if ($tview ==
"VEDIT") $tz =
$fdoc->eviews;
587 else $tz =
$fdoc->cviews;
596 $tz = array_unique($tz);
597 foreach ($tz as $v) {
610 foreach ($tidview as $k => $v) {
632 "title" => _(
"doctitle") ,
633 "revdate" => _(
"revdate") ,
634 "revision" => _(
"revision") ,
635 "owner" => _(
"owner") ,
636 "state" => _(
"state")
640 $pattern_name = preg_quote(
$name);
641 foreach ($ti as $k => $v) {
642 if ((
$name ==
"") || (preg_match(
"/$pattern_name/i", $v, $reg))) {
653 $tinter =
$doc->GetSortAttributes();
655 $tinter =
$doc->GetNormalAttributes();
658 foreach ($tinter as $k => $v) {
659 if ((
$name ==
"") || (preg_match(
"/$pattern_name/i", $v->getLabel() , $reg))) {
660 $dv =
'<b><i>' .
_getParentLabel($v) .
'</i></b><br/><span> ' . $v->getLabel() .
'</span>';
672 if ($oa && $oa->fieldSet && $oa->fieldSet->id !=
'FIELD_HIDDENS') {
673 return _getParentLabel($oa->fieldSet) . $oa->fieldSet->getLabel() .
'/';
681 $filter[] =
"act_type='$type'";
692 if ($n !=
"")
$q->AddQuery(
"name ~* '$n'");
693 $la =
$q->Query(0, 0,
"TABLE");
695 foreach (
$la as $k => $v) {
697 $v[
"name"] .
":" . $v[
"short_name"],
711 $q->AddQuery(
"name = '$app'");
712 $la =
$q->Query(0, 0,
"TABLE");
714 $appid =
$la[0][
"id"];
717 $q->AddQuery(
"id_application = $appid");
718 if ($n !=
"")
$q->AddQuery(
"name ~* '$n'");
719 $la =
$q->Query(0, 0,
"TABLE");
722 foreach (
$la as $k => $v) {
724 $v[
"name"] .
":" . _($v[
"short_name"]) ,
736 $cmd = sprintf(
"cd %s/API;ls -1 *.php| cut -f1 -d'.'", escapeshellarg(
DEFAULT_PUBDIR));
737 $apis = shell_exec(
$cmd);
738 $tapi = explode(
"\n", $apis);
742 $pattern_name = preg_quote(
$name);
743 foreach ($tapi as $k => $v) {
745 if ((
$name ==
"") || (preg_match(
"/$pattern_name/i", $v0, $reg))) $tr[] = array(
756 if (
$doc && method_exists(
$doc,
"getStates")) {
759 $pattern_name = preg_quote(
$name);
760 foreach (
$states as $k => $v) {
761 if ((
$name ==
"") || (preg_match(
"/$pattern_name/i", $v, $reg))) $tr[] = array(
762 $v .
' (' . _($v) .
')',
766 }
else return sprintf(_(
"need to select workflow"));
776 if ($wdoc && method_exists($wdoc,
"getStates")) {
779 $pattern_name = preg_quote(
$name);
780 foreach (
$states as $k => $v) {
781 if ((
$name ==
"") || (preg_match(
"/$pattern_name/i", $v, $reg))) $tr[] = array(
782 $v .
' (' . _($v) .
')',
783 $v .
' (' . _($v) .
')'
786 }
else return sprintf(_(
"no workflow for this document"));
787 }
else return sprintf(_(
"no workflow for this document"));
794 $methods = get_class_methods(
$doc);
795 $pattern_name = preg_quote(
$name);
796 foreach ($methods as $k => $v) {
797 if ((
$name ==
"") || (preg_match(
"/$pattern_name/i", $v, $reg))) $tr[] = array(
802 }
else return sprintf(_(
"need to select family"));
817 return sprintf(_(
"connexion to %s has failed") ,
$dbaccess);
820 $args = func_get_args();
824 foreach ($args as $k => $v) {
826 if (substr($v, -2) ==
":H") {
827 $v = substr($v, 0, -2);
829 if (!$order) $order = strtolower($v);
832 $cols[] = (strtolower($v));
835 if (count($cols) == 0) {
836 return sprintf(_(
"no columns specified"));
838 if (count($tdn) == 0) {
839 return sprintf(_(
"all columns are hiddens"));
842 $select =
"select " . implode(
",", $cols);
844 $orderby =
"order by " . ($order);
845 foreach (
$_POST as $k => $v) {
847 $filter = preg_replace(
'/' . substr($k, 1) .
'/i', pg_escape_string(trim(stripslashes($v))) ,
$filter);
851 $where =
"where $filter";
852 $limit =
"limit 100";
853 $sql =
$select .
' ' .
$from .
' ' . $where .
' ' . $orderby .
' ' . $limit;
856 return sprintf(_(
"query %s has failed") ,
$sql);
861 while ($row = pg_fetch_row($result)) {
863 foreach ($tdn as $vi) $dn.= $row[$vi] .
' ';
865 foreach ($row as $ki => $vi)
$t[$kr][] = $vi;