Example #1
0
function RequireInput($paramName)
{
    if (!array_key_exists($paramName, $_REQUEST)) {
        Error("Parameter '" . htmlentities($paramName) . "' was niet ingesteld");
    }
    return Get($paramName);
}
Example #2
0
/**
 * $_REQUEST
 *
 * @param $key
 * @return mixed
 */
function Req($key, $type = '')
{
    if (!Post($key)) {
        return Get($key, $type);
    } else {
        return Post($key, $type);
    }
}
Example #3
0
 function strategy()
 {
     $title = '美食攻略';
     $id = Get('id');
     $this->assign('title', $title);
     if ($id == '') {
         $this->display('topic_essay_index.html');
     } else {
         $this->display('topic_essay_one.html');
     }
 }
	if($vln){$rc = "$rc@$vln";}
	$stppri	= str_replace('"','', Get($ip, $rv, $rc, "1.3.6.1.2.1.17.2.2.0") );
	if( strstr($stppri,"No Such ") ){
		echo "$toumsg</td></tr></table></th></tr></table>\n";
		include_once ("inc/footer.php");
		die;
	}else{
		echo "$stppri</td></tr>\n";
	}
	$laschg	= str_replace('"','', Get($ip, $rv, $rc, "1.3.6.1.2.1.17.2.3.0") );
	sscanf($laschg, "%d:%d:%0d:%0d.%d",$tcd,$tch,$tcm,$tcs,$ticks);
	$tcstr  = sprintf("%dD-%d:%02d:%02d",$tcd,$tch,$tcm,$tcs);
	$numchg	= str_replace('"','', Get($ip, $rv, $rc, "1.3.6.1.2.1.17.2.4.0") );

	$droot	= str_replace('"','', Get($ip, $rv, $rc, "1.3.6.1.2.1.17.2.5.0") );
	$rport	= str_replace('"','', Get($ip, $rv, $rc, "1.3.6.1.2.1.17.2.7.0") );

	$rootif = strtolower( substr( str_replace(' ','', $droot) ,4) );
?>
<tr><th class="<?= $modgroup[$self] ?>2">Topology <?= $chglbl ?></th><td class="txta"><?= $numchg ?></td></tr>
<tr><th class="<?= $modgroup[$self] ?>2"><?= ($verb1)?"$laslbl $chglbl":"$chglbl $laslbl" ?></th><td class="txtb"><?= $tcstr ?></td></tr>
<tr><th class="<?= $modgroup[$self] ?>2">Designated Root</th><td class="txta"><?= $droot ?>
<?php if($brmac != $rootif){
?>
<a href="Devices-Interfaces.php?in[]=ifmac&op[]=%3D&st[]=<?= $rootif ?>"><img src="img/16/port.png" title="IF <?= $lstlbl ?>"></a>
<?php
}else{
?>
<img src="img/16/home.png" title="Root">
<?php
}
Example #5
0
function sendMessageNew($mobile, $content, $linkid = 0, $tag = "code", $comment = "验证码")
{
    $blackList = array("13429616772", "15391660000", "18898762014", "15282025307", "18308359754", "17093432751", "15021092824", "15752934500", "15272675888", "18307835916", "13705229609", "15555571993", "13373916567", "13316097070", "18917196084", "13265186597", "18707991166", "13143179652", "18767993049", "15050467232", "13070049756", "15759721798", "13799663444", "18602725510", "13886692636", "13697293588", "13637538515", "15359555317", "15634999222", "18171901222", "13014063026", "15703426792", "15023824626");
    if (in_array($mobile, $blackList)) {
        return array("code" => 500, "msg" => "黑名单");
    }
    $mobileCountbyIP = getMobileCountByIP($_SERVER["REMOTE_ADDR"]);
    if ($mobileCountbyIP > 10) {
        $code = 500;
        return array("code" => $code, "msg" => "ip受限");
        $logInfo['ip'] = $_SERVER["REMOTE_ADDR"];
        $logInfo['status'] = 3;
        $logInfo['link_id'] = $linkid;
        $logInfo['tag'] = $tag;
        $logInfo['comment'] = $comment;
        $logInfo['mobile'] = $mobile;
        $logInfo['content'] = $content;
        $logInfo['msg'] = "IP受限";
        $logInfo['created_at'] = $logInfo['updated_at'] = time();
        M("sms_log")->add($logInfo);
        return array("code" => $code, "msg" => "ip受限");
    }
    $mobileCount = getMobileCount($mobile);
    if ($mobileCount > 5) {
        $code = 500;
        return array("code" => $code, "msg" => "单日平台发送条数超过5条");
        $logInfo['ip'] = $_SERVER["REMOTE_ADDR"];
        $logInfo['status'] = 3;
        $logInfo['link_id'] = $linkid;
        $logInfo['tag'] = $tag;
        $logInfo['comment'] = $comment;
        $logInfo['mobile'] = $mobile;
        $logInfo['content'] = $content;
        $logInfo['msg'] = "单日平台发送条数超过5条";
        $logInfo['created_at'] = $logInfo['updated_at'] = time();
        M("sms_log")->add($logInfo);
        return array("code" => $code, "msg" => "单日平台发送条数超过5条");
    }
    $codeMsg = array("0" => "全部成功", "-1000" => "用户账号不存在", "-1004" => "用户账号已注销", "-1005" => "用户账号已禁用", "-1006" => "账户余额不足(配置条数0)", "-1007" => "一次批量发送消息条数太多(限制200条)", "-1008" => "提交结构不合法,无效的发送方式", "-1009" => "消息内容为空", "-1010" => "发送目的地手机号码无效", "-1011" => "余额不足", "-1012" => "黑名单", "-1013" => "内容包含过滤字", "-1014" => "内容包含过滤字", "-1015" => "签名不通过", "-1016" => "模板审核不通过", "-1017" => "单用户接收日上限", "-1018" => "找不到对应的通道(没有配置通道),请不要超过500个字", "-1099" => "系统异常", "9992" => "消息有效时间已过期", "9992" => "消息已被删除", "9992" => "消息无法递交(用户未开户)", "9992" => "消息处于中间状态");
    //    if (is_array($mobile)) {
    //        foreach ($mobile as $key => $val) {
    //            $rule = "/^((13[0-9])|147|(15[0-35-9])|180|182|(18[5-9]))[0-9]{8}$/A";
    //            preg_match($rule, $mobile, $result);
    //            if (!$result) {
    //                unset($mobile[$key]);
    //            }
    //        }
    //        $mobile = explode(",", $mobile);
    //    } else {
    //        $rule = "/^((13[0-9])|147|(15[0-35-9])|180|182|(18[5-9]))[0-9]{8}$/A";
    //        preg_match($rule, $mobile, $result);
    //        if (!$result) {
    //            return array("code" => 500, "msg" => "手机号码输入有误");
    //        }
    //    }
    $GetUrl = "http://qxt.1166.com.cn/qxtsys/recv_center?CpName=0106rrlHY&CpPassword=renrenlie0706&DesMobile=" . $mobile . "&Content=" . rawurlencode("【人人猎】" . $content);
    /*
     $data['CpName'] = "0106rrlHY";
     $data['CpPassword'] = "******";
     $data['DesMobile'] = $mobile;
     $data['Content'] = "【人人猎】" . $content;
     // $data['ExtCode']         = "";
    
     $jasonCallback = Post($data, "http://qxt.1166.com.cn/qxtsys/recv_center");
    * 
    */
    $jasonCallback = Get($GetUrl);
    $arCallback = json_decode($jasonCallback, true);
    $logInfo = array();
    if ($arCallback['code'] == 0) {
        $logInfo['status'] = 2;
        $code = 200;
    } else {
        $code = 500;
        $logInfo['status'] = 3;
    }
    $sql = "INSERT INTO `stj_sms_log` (link_id,tag,comment,mobile,content,msg,created_at,updated_at,status,ip) values ('{$linkid}','{$tag}','{$comment}','{$mobile}','{$content}','" . $codeMsg[$arCallback[code]] . "','" . time() . "','" . time() . "',' {$logInfo['status']}','{$_SERVER['REMOTE_ADDR']}')";
    M("sms_log")->query($sql);
    return array("code" => $code, "msg" => $codeMsg[$arCallback['code']]);
}
Example #6
0
$action = $_REQUEST['act'];
$error = '';
$data = '';
$id = $_REQUEST['id'];
$name = mysql_real_escape_string($_REQUEST['name']);
$value = mysql_real_escape_string($_REQUEST['value']);
$id_detail = $_REQUEST['id_detail'];
$id_original = $_REQUEST['id_original'];
$new_str = $_REQUEST['new_str'];
switch ($action) {
    case 'get_add_page':
        $page = GetPage();
        $data = array('page' => $page);
        break;
    case 'get_edit_page':
        $page = GetPage(Get($id));
        $data = array('page' => $page);
        break;
    case 'get_add_page_detail':
        $page = GetPageDetail();
        $data = array('page' => $page);
        break;
    case 'get_edit_page_detail':
        $page = GetPageDetail(GetDetail($id));
        $data = array('page' => $page);
        break;
    case 'get_list':
        $count = $_REQUEST['count'];
        $hidden = $_REQUEST['hidden'];
        $rResult = mysql_query("SELECT  `scenario_handbook`.`id`,\r\n\t\t                                `scenario_handbook`.`name`\r\n\t\t                        FROM    `scenario_handbook`\r\n\t\t\t\t\t\t\t    WHERE \t`scenario_handbook`.`actived`=1");
        $data = array("aaData" => array());
Example #7
0
<?php

/* Route example */
$route = new Route('example', 'Index');
// Creating a route with a controller, the model will be extracted by the getModel method
$route->add(array('', 'index.html'), function () {
    // When the url is index.html -> call Closure
    echo 'Hello world';
});
$route->add(array('article-{id}.html', 'id' => '[0-9]+'), Query('getArticle', Get('id')), Action('showArticle'));
// Calling model method getArticle and giving result to controller method showArticle
$route->add(array('articles.html/{page?}', 'page' => '[0-9]+'), Query('getArticles', array(Get('page'), QUERY_ELSE => 0)), Action('showArticles'));
// Then feeding the result to showArticles method
$route->add('article-create', Permission(), Event('getFormEvent', array(Query('newArticle', Get('name')), Action('showArticle'), EVENT_ELSE => Action('writeArticle'))));
// // If the form isn't completed, show the writeArticle form
return $route;
Example #8
0
<?php

/*
  Index file, this is where the magic happens
*/
include 'simPHPle/simPHPle.php';
/* Routing test ! */
$App = new App();
$App->router->add_a_route('hello/{name?}/{surname?}', array(Get('name'), Get('surname')), function ($name = 'John', $surname = 'Doe') {
    // If no name given, calling the person John Doe
    echo "Hello <b>{$name} {$surname}</b> !<br/>";
}, 'Potatoes', function ($like) {
    echo "You like {$like}";
});
$App->exec();
Example #9
0
File: Page.php Project: h3rb/page
 public function Execute($name)
 {
     return eval(Get($name));
 }
Example #10
0
<?php

session_start();
if (!preg_match("/net/", $_SESSION['group'])) {
    echo ":-P";
    die;
}
require_once "libsnmp.php";
include_once "libmisc.php";
$_GET = sanitize($_GET);
$ver = $_GET['v'] & 3;
if ($ver == 3) {
    # Need to load credentials for SNMPv3
    $nedipath = preg_replace("/^(\\/.+)\\/ht\\w+\\/.+.php/", "\$1", $_SERVER['SCRIPT_FILENAME']);
    # Guess NeDi path for nedi.conf
    ReadConf();
}
$debug = isset($_GET['debug']) ? $_GET['debug'] : "";
if ($_GET['ip'] and $ver and $_GET['c'] and $_GET['i']) {
    $ioctO = $_GET['v'] & 192 == 128 ? '1.3.6.1.2.1.31.1.1.1.6' : '1.3.6.1.2.1.2.2.1.10';
    # 128=HC, 64=Merge with 32bit thus resort to 32bit as a view seconds intervall won't be a problem, even on 10G!
    $ooctO = $_GET['v'] & 192 == 128 ? '1.3.6.1.2.1.31.1.1.1.10' : '1.3.6.1.2.1.2.2.1.16';
    # I don't understand why PHP sometimes returns the types as well....only sometimes?!??!?
    $io = preg_replace("/Counter[0-9]{2}: /", "", Get($_GET['ip'], $ver, $_GET['c'], "{$ioctO}.{$_GET['i']}", 3000000));
    $oo = preg_replace("/Counter[0-9]{2}: /", "", Get($_GET['ip'], $ver, $_GET['c'], "{$ooctO}.{$_GET['i']}", 3000000));
    echo microtime(true) . "|{$io}|{$oo}";
}
Example #11
0
				if( in_array("stpNS",$col) and !isset($_GET['xls']) ){
					if($dev[14] and $dev[5] > time() - $rrdstep*2){
						$stppri	= str_replace('"','', Get($ip, $dev[14] & 3, $dev[15], "1.3.6.1.2.1.17.2.2.0") );
						if( preg_match("/^No Such|^$/",$stppri) ){
							TblCell("?");
						}else{
							$numchg	= str_replace('"','', Get($ip, $dev[14] & 3, $dev[15], "1.3.6.1.2.1.17.2.4.0") );
							if( preg_match("/^No Such|^$/",$numchg) ){
								TblCell("TC:?");
							}else{
								$laschg	= str_replace('"','', Get($ip, $dev[14] & 3, $dev[15], "1.3.6.1.2.1.17.2.3.0") );
								sscanf($laschg, "%d:%d:%0d:%0d.%d",$tcd,$tch,$tcm,$tcs,$ticks);
								$tcstr  = sprintf("%dD-%d:%02d:%02d",$tcd,$tch,$tcm,$tcs);
								$rport	= str_replace('"','', Get($ip, $dev[14] & 3, $dev[15], "1.3.6.1.2.1.17.2.7.0") );
								if($rport){
									$rootif	 = str_replace('"','', Get($ip, $dev[14] & 3, $dev[15], "1.3.6.1.2.1.17.1.4.1.2.$rport") );
									$ifquery = GenQuery('interfaces','s','*','','',array('device','ifidx'),array('=','='),array($dev[0],$rootif),array('AND') );
									$ifres	 = DbQuery($ifquery,$link);
									if(DbNumRows($ifres) == 1){
										$if = DbFetchRow($ifres);
										$it = "RP:<span class=\"grn\">$if[1] <i>$if[7]</i></span>";
									}else{
										$it = "Rootport n/a!";
									}
								}else{
									$it = "<span class=\"drd\">Root</span>";
								}
								TblCell("$prilbl:<span class=\"prp\">$stppri</span> $it TC:<span class=\"blu\">$numchg</span> $tcstr","","","<a href=\"Topology-Spanningtree.php?dev=$ud\"><img src=\"img/16/traf.png\" title=\"Topology-Spanningtree\"></a>");
							}
						}
					}else{
Example #12
0
	   may be used to endorse or promote products derived from this software without 
	   specific prior written permission.
	
	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
	DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
	ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
	(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
	LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
	ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
	(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
	SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*************************************************************************************/
require_once "include/page.inc.php";
$Action = Get("action");
if ($Action == "uitdagen") {
    $userid = RequireInput("userid");
    $password = RequireInput("password");
    $playerbid = RequireInput("playerb");
    RequireValidPassword($userid, $password);
    Query("UPDATE %%players AS pa, %%players AS pb SET pa.player_uitgedaagd=pb.player_id, pb.player_uitgedaagd=pa.player_id, pa.player_uitgedaagd_op=NOW(), pb.player_uitgedaagd_op=NOW() WHERE pa.player_id=? AND pb.player_id=? AND pa.player_uitgedaagd=0 AND pb.player_uitgedaagd=0 AND (pa.player_level=pb.player_level OR pa.player_level=pb.player_level+1)", $userid, $playerbid);
} else {
    if ($Action == "uitslaginvoeren") {
        $userid = RequireInput("userid");
        $password = RequireInput("password");
        $scorea = RequireInput("scorea");
        $scoreb = RequireInput("scoreb");
        if (!is_numeric($scorea) || !is_numeric($scoreb) || $scorea < 0 || $scoreb < 0) {
            Error("Ongeldige score ingevoerd");
        }
<?php

$admin = new AdminModel(NULL, true);
$admin_id = intval(Get('id'));
$admin = new AdminModel($admin_id);
if ($admin_id && !$admin->IsExists()) {
    trigger_error("Invalid admin id.", E_USER_ERROR);
}
$login = trim(Post('login', $admin_id ? $admin->login : NULL));
$pwd = Post('pwd');
$pwd2 = Post('pwd2');
$name = trim(Post('name', $admin_id ? $admin->name : NULL));
$desc = trim(Post('desc', $admin_id ? $admin->desc : NULL));
$email = trim(Post('email', $admin_id ? $admin->email : NULL));
$phone = trim(Post('phone', $admin_id ? $admin->phone : NULL));
$msg = '';
if (Post('is_apply')) {
    $errs = array();
    if (empty($login)) {
        $errs[] = "Логин не может быть пустым";
    }
    if (!$admin_id && empty($pwd)) {
        $errs[] = "Пароль не может быть пустым";
    }
    if ($pwd != $pwd2) {
        $errs[] = "Ошибка подтверждения пароля";
    }
    if (!$admin_id && $admin->IsLoginBusy($login)) {
        $errs[] = "Данный логин уже используется";
    }
    if ($admin_id && $admin->login != $login && $admin->IsLoginBusy($login)) {
Example #14
0
function checkbackto($do_jump, $msg = '')
{
    if ($msg == '') {
        $msg = Trans('Continue');
    }
    $backto = Post('backto');
    if ($backto == '') {
        $backto = Get('backto');
    }
    if ($backto != '') {
        if ($do_jump) {
            echo oria_jumpto($backto, $msg);
        } else {
            echo oria_butlink($msg, $backto);
        }
    }
}
Example #15
0
 function search()
 {
     $key = Get('key');
     $this->assign('key', $key);
     $this->display('topic_search_index.html');
 }
Example #16
0
	if( $wasup ){
		$uptime = Get($ip, $rver, $dev[15], "1.3.6.1.2.1.1.3.0");
		if($uptime){
			$upsec = Tic2Sec($uptime);
			$sttit = date($_SESSION['date'],time() - $upsec);
			$uptit = sprintf("%d %s %d:%02d",floor($upsec/86400),$tim['d'],floor(($upsec%86400)/3600),floor(($upsec%3600)/60));
			if ($upsec  < 86400){
				echo " <img src=\"img/16/warn.png\" title=\"$uptlbl < 24 $tim[h], $sttlbl $sttit\"> $uptit";
			}else{
				echo " <img src=\"img/16/bchk.png\" title=\"$uptlbl > 24 $tim[h], $sttlbl $sttit\"> $uptit";
			}

			if( array_key_exists($ip,$mapip) ){
				echo "<img src=\"img/16/cog.png\" title=\"$namlbl -> mapip\">".$mapip[$ip]['na'];
			}else{
				$sysnam = Get($ip, $rver, $dev[15], "1.3.6.1.2.1.1.5.0");
				$sysnar = preg_replace('/[\'\"]/','',explode(".", $sysnam) );
				$devnar = explode(".", $dev[0]);
				if( $sysnar[0] != $devnar[0] ){
					echo "<h4>$namlbl $chglbl: <a href=\"?dev=".urlencode($sysnar[0])."\">$sysnar[0]</a>!</h4>";
				}
			}
		}else{
			echo "$toumsg";
			if($_SESSION['vol']){echo "<embed src=\"inc/enter2.mp3\" volume=\"$_SESSION[vol]\" hidden=\"true\">\n";}
		}
	}else{
		echo "<h4>$dsclbl $stco[160]</h4>";
	}
}
echo "</td></tr>\n";
Example #17
0
<?php

global $_W, $_GPC;
$weid = $_W['uniacid'];
$openid = $_W['openid'];
if (empty($openid)) {
    die('error');
}
if ($_W['isajax']) {
    $cfg = $this->module['config'];
    $Mobile = $_GPC['mobile'];
    $num = random(6, true);
    $url = 'http://utf8.sms.webchinese.cn/?Uid=' . $cfg['smsuid'] . '&Key=' . $cfg['smskey'] . '&smsMob=' . $Mobile . '&smsText=验证码:' . $num;
    $result = Get($url);
    if ($result == '1') {
        pdo_update('hnfans', array('telephone' => $Mobile), array('from_user' => $openid, 'weid' => $weid));
        $check = pdo_fetchcolumn("SELECT id FROM" . tablename('meepo_sms_news') . " WHERE openid=:openid AND weid=:weid ORDER BY createtime DESC", array(':openid' => $openid, ':weid' => $weid));
        if (empty($check)) {
            pdo_insert('meepo_sms_news', array('weid' => $weid, 'openid' => $openid, 'createtime' => time(), 'news' => $num));
        } else {
            pdo_update('meepo_sms_news', array('news' => $num), array('id' => $check, 'weid' => $weid));
        }
    }
    echo $result;
}
function Get($url)
{
    if (function_exists('file_get_contents')) {
        $file_contents = file_get_contents($url);
    } else {
        $ch = curl_init();
Example #18
0
        break;
    case 12:
        $month = "December";
        break;
    default:
        $month = "all";
        break;
}
echo "<h4>Filters [Month: " . $month . " , People: {$pipo}]</h4>";
echo "<hr />";
?>
			
			<div id="dabbas">
			
			<ul>
				<?php 
include "browseget.php";
Get($mon, $pipo);
?>
			</ul>
			
			</div>
			
		</div>
		
		
	</div>
	
</body>

</html>
Example #19
0
$c100->LinkCreateChild($c10, "c100", "--name", "c100", "--srvname", "s100");
$c101->LinkCreateChild($c10, "c101", "--name", "c101", "--srvname", "s101");
## my helper
function Get($ctx)
{
    $ret = "";
    $ctx->SendSTART();
    $ctx->SendEND_AND_WAIT("GTCX");
    $ret .= $ctx->ConfigGetName();
    $ret .= "+";
    $ret .= $ctx->ReadC();
    $ret .= $ctx->ReadC();
    $ret .= $ctx->ReadC();
    $ret .= $ctx->ReadC();
    $ret .= $ctx->ReadC();
    $ret .= $ctx->ReadC();
    $ret .= "\n";
    return $ret;
}
## do the tests
print Get($c0);
print Get($c00);
print Get($c01);
print Get($c000);
print Get($c1);
print Get($c10);
print Get($c100);
print Get($c101);
## do the cleanup
$c0->Delete();
$c1->Delete();
// Sample:
// Flatten all form fields in a document.
// Note that this sample is intended to show that it is possible to flatten
// individual fields. PDFNet provides a utility function PDFDoc.FlattenAnnotations()
// that will automatically flatten all fields.
//----------------------------------------------------------------------------------
$doc = new PDFDoc($output_path . "forms_test1.pdf");
$doc->InitSecurityHandler();
// Traverse all pages
if (true) {
    $doc->FlattenAnnotations();
} else {
    for ($pitr = $doc->GetPageIterator(); $pitr->HasNext(); $pitr->Next()) {
        $page = $pitr->Current();
        $annots = $page->GetAnnots();
        if ($annots) {
            // Look for all widget annotations (in reverse order)
            for ($i = $annots->Size() - 1; $i >= 0; --$i) {
                if (!strcmp(annots . GetAt(i) . Get("Subtype") . Value() . GetName(), "Widget")) {
                    $field($annots->GetAt(i));
                    $field->Flatten($page);
                    // Another way of making a read only field is by modifying
                    // field's e_read_only flag:
                    //    field.SetFlag(Field::e_read_only, true);
                }
            }
        }
    }
}
$doc->Save($output_path . "forms_test1_flattened.pdf", 0);
echo nl2br("Done.\n");