ldap_entry_attribute.inc
来自「开放源码的ldap系统」· INC 代码 · 共 170 行
INC
170 行
<?class ldap_entry_attribute { var $name, $values, $parent; cfunction ldap_entry_attribute($d) { // echo "creating new ldap_entry_attribtute<br>\n"; $this->dn = $d; $a = ldap_explode_dn($this->dn, 1); $this->cn = $a[0]; } cfunction getAttributeName($string) { global $prefs; for ($i=0; $i<count($prefs->attribute_names); $i++) { if ($prefs->attribute_names[$i][0] == $string) { return $prefs->attribute_names[$i][1]; } } return $string; } cfunction isVisible($string) { global $prefs; for ($i=0; $i<count($prefs->attribute_names); $i++) { if ($prefs->attribute_names[$i][0] == $string) { return $prefs->attribute_names[$i][2]; } } return "FALSE"; } cfunction getValues($l_i, $r_e_i) { //echo "My name is ".$this->name."<br>\n"; $this->values = ldap_get_values($l_i, $r_e_i, $this->name); } cfunction display() { echo "<tr>\n\t<td valign=top bgcolor=white>\n"; echo "\t\t".$this->name."\n\t\t</td>\n\t<td valign=top bgcolor=lightyellow>\n"; echo "<ul type=square>\n"; for($i=0; $i<$this->values["count"]; $i++) { //echo "Displaying value ".$i."<br>\n"; echo "<li>"; $this->displayValue($i); echo "<br>\n"; } echo "</ul>\n"; echo "</td>\n</tr>\n"; } cfunction formatHTMLValues() { $ct = $this->values["count"]; $str = ""; $str .= "<tr>\n\t<td valign=top bgcolor=white>\n"; $n = $this->getAttributeName($this->name); $str .= "\t\t".$n."\n\t\t</td>\n\t<td valign=top bgcolor=lightyellow>\n\t\t<ul type=square>\n"; // if ($ct > 1) { // $str .= "\t\t<ul type=square>\n"; // } for ($i=0; $i<$this->values["count"]; $i++) { $str .= "\t\t\t<li>"; $str .= $this->formatHTMLValue($i); $str .= "<br>\n"; } //if ($ct > 1) { $str .= "\t\t\t</ul>\n"; } $str .= "\t\t\t</ul>\n\t\t</td>\n\t</tr>\n"; return $str; } cfunction formatHTMLValue($index) { global $prefs, $FILE, $host; $p = ""; switch ($this->name) { case "cn": $p .= "<a href=".$FILE."?host=".urlencode($host)."&ldap_action=read&base_dn=".urlencode($this->dn).">".$this->values[$index]."</a>"; break; case "ou": $p .= "<a href=".$FILE."?ldap_action=list&host=".urlencode($host)."&base_dn=".urlencode($this->dn).">".$this->values[$index]."</a>"; break; case "seealso": case "member": case "requeststo": case "errorsto": case "owner": case "lastmodifiedby": case "modifiersname": $p .= "<a href=".$FILE."?host=".urlencode($host)."&ldap_action=read&base_dn=".urlencode($this->values[$index]).">".ldap_dn2ufn($this->values[$index])."</a>"; break; case "mail": $p .= "<a href=mailto:".$this->values[$index].">".$this->values[$index]."</a>"; break; case "postaladdress": case "homepostaladdress": $i=0; $tok = strtok($this->values[$index], "$"); while ($tok) { $p .= $i." ".$tok."<br>\n"; $tok = strtok("$"); $i++; } break; case "labeledurl": $tok = strtok($this->values[$index], " "); $tok2 = strtok("\0"); $p .= '<a href='.$tok.'>'.$tok2.'</a>'; break; case "lastmodifiedtime": case "modifytimestamp": $t = $this->values[$index]; $hour = (int) $t[6].$t[7]; $minute = (int) $t[8].$t[9]; $second = (int) $t[10].$t[11]; $month = (int) $t[2].$t[3]; $day = (int) $t[4].$t[5]; $year = (int) $t[0].$t[1]; $timestamp = mktime($hour, $minute, $second, $month, $day, $year); $date = date("h:i:sa, on l, dS of F Y", $timestamp); $p .= $date; break; case "jpegphoto": $p .= '<a href="'.$prefs->get("PATH.photo").'?base_dn='.urlencode($this->dn).'"><img src="'.$prefs->get("PATH.photo").'?base_dn='.urlencode($this->dn).'" alt="Image of '.$this->cn.'" border=0></a>'; break; default: $p .= $this->values[$index]; break; } return $p; } cfunction displayValue($index) { //echo "ldap_entry_attribute.displayValue(".$index.")<br>\n"; global $FILE, $host; if ($this->name == "cn") { print "<a href=".$FILE."?host=".urlencode($host)."&ldap_action=read&base_dn=".urlencode($this->dn).">".$this->values[$index]."</a>"; } else if ($this->name == "ou") { print "<a href=".$FILE."?ldap_action=list&host=".urlencode($host)."&base_dn=".urlencode($this->dn).">".$this->values[$index]."</a>"; } else if ($this->name == "seealso" || $this->name == "member" || $this->name == "requeststo" || $this->name == "errorsto" || $this->name == "owner" || $this->name == "lastmodifiedby" || $this->name == "modifiersname") { print "<a href=".$FILE."?host=".urlencode($host)."&ldap_action=read&base_dn=".urlencode($this->values[$index]).">".ldap_dn2ufn($this->values[$index])."</a>"; } else if ($this->name == "mail") { print "<a href=mailto:".$this->values[$index].">".$this->values[$index]."</a>"; } else if ($this->name == "labeledurl") { $tok = strtok($this->values[$index], " "); $tok2 = strtok("\0"); print '<a href='.$tok.'>'.$tok2.'</a>'; } else if ($this->name == "lastmodifiedtime" || $this->name == "modifytimestamp") { $t = $this->values[$index]; $hour = (int) $t[6].$t[7]; $minute = (int) $t[8].$t[9]; $second = (int) $t[10].$t[11]; $month = (int) $t[2].$t[3]; $day = (int) $t[4].$t[5]; $year = (int) $t[0].$t[1]; $timestamp = mktime($hour, $minute, $second, $month, $day, $year); $date = date("h:i:sa, on l, dS of F Y", $timestamp); // $date = getdate($timestamp); // $date = getdate($this->values[$index]); // echo "".$date["hours"].":".$date["minutes"].", // ".$date["weekday"].",".$date["month"]." ".$date["mday"].", ".$date["year"]."<br>\n"; print $date; } else { print $this->values[$index]; } }}?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?