当前位置: 首页>>代码示例>>PHP>>正文


PHP Normalizer::transformToDoc方法代码示例

本文整理汇总了PHP中Normalizer::transformToDoc方法的典型用法代码示例。如果您正苦于以下问题:PHP Normalizer::transformToDoc方法的具体用法?PHP Normalizer::transformToDoc怎么用?PHP Normalizer::transformToDoc使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Normalizer的用法示例。


在下文中一共展示了Normalizer::transformToDoc方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: success_page

function success_page()
{
    global $script_url, $login_uid;
    ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>PeopleAggregator SXIP Profile Import</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="Content-Language" content="en-us" />
    <link rel="shortcut icon" href="<? echo PA::$theme_url ?>/favicon.ico" type="image/x-icon" />
    <link rel="icon" href="<? echo PA::$theme_url ?>/favicon.ico" type="image/x-icon" />
    <script src="<? echo PA::$theme_url ?>/javascript/prototype.js" type="text/javascript"></script>
    <link rel="stylesheet" href="<? echo PA::$theme_url ?>/style.css" type="text/css" />
    <style>
    .profilediff  {
      background-color: black;
    }
    .profilediff td {
      background-color: white;
      margin:1px;
    }
    .profilediff .action {
      background-color: black;
      color: white;
      font-weight: bold;
      font-size: 1.1em;
    }
    .profilediff .section {
      background-color: lightgrey;
      font-weight: bold;
    }
    </style>
</head>
<body style="background-color: white;">
    <image name="dix:/membersite-logo-url" src="<?php 
    echo PA::$theme_url;
    ?>
/images/sxipms-logo.jpg" />
    <h1>PeopleAggregator SXIP Profile Import</h1>
    <h2>The following data was imported into your User Profile</h2>
    <?php 
    // load empty sxip properties XML
    $sxip = DOMDocument::load("api/ProfileIO/xml/sxipProperties.xml");
    // stick the POSTed data into our DOM
    foreach ($sxip->getElementsByTagName('property') as $prop) {
        $label = urlencode($prop->getAttribute('label'));
        if ($_POST[$label] && $_POST[$label] != '') {
            $prop->setAttribute('value', $_POST[$label]);
        }
    }
    $homesite = $_REQUEST['dix:/homesite'];
    // echo "<hr><b>Input DOM:</b>
    // <br><pre>".htmlspecialchars($sxip->saveXML())."</pre>";
    require_once "api/ProfileIO/ProfileIO.php";
    $normalizer = new Normalizer("sxip");
    $normalizer->setParameter('', 'nameSection', $homesite);
    $paDOM = $normalizer->transformToDoc($sxip);
    // echo "<hr><b>PA DOM:</b> <br><pre>".htmlspecialchars($paDOM->saveXML())."</pre>";
    require_once "api/User/User.php";
    $user = new User();
    try {
        $user->load((int) $login_uid);
    } catch (PAException $e) {
        throw new PAException(USER_INVALID, $e->message);
    }
    $merger = new ProfileMerger($user, $paDOM);
    $merger->diff();
    // here we might include another step with user interction!!
    // actualy SAVE the new profile
    print "<hr>saving to " . print_r($homesite, true) . "<hr>";
    $merger->saveProfile($homesite);
    $diff = $merger->diffProfileSXML;
    // echo "<hr><b>PA DOM:</b> <br><pre>".htmlspecialchars($diff->asXML())."</pre>";
    function tr($f)
    {
        ?>
    <tr>
    <td><b><? echo $f['name']; ?></b>
    </td>
    <td>
    <? echo $f['value']; ?>
    <? if($f['oldvalue']) echo "<br>was: ".$f['oldvalue']; ?>
    </td>
    </tr>
    <?php 
    }
    ?>
    <table class=profilediff>
    <?php 
    foreach (array('update', 'create') as $action) {
        ?>
      <tr><td colspan=2 class=action>
        <? echo $action ?>-ing these fields:</td>
      </tr>
      <?php 
        $sections = array('core') + array_keys($merger->userSections);
        foreach ($sections as $section) {
            if ($diff->xpath("//field[@action='{$action}'][@section='{$section}']")) {
//.........这里部分代码省略.........
开发者ID:Cyberspace-Networks,项目名称:PeopleAggregator,代码行数:101,代码来源:getSxip.php

示例2: isset

/*
values currently used in PA
Nobody="0"
Everybody="1"
Immediate Relations="2"
so to show all info a friend would see
we need to allow perms 1 AND 2
while friends only would be 2
*/
$perms = isset($_POST['perms']) ? $_POST['perms'] : "1,2";
$filter = new Normalizer('filterPerms');
foreach (preg_split('/,\\s*/', $perms) as $p) {
    $parr[] = "perm" . $p;
}
$filter->setParams($parr, TRUE);
$filteredDOM = $filter->transformToDoc($merger->currentProfileDOM);
$exps = array();
foreach ($_POST as $k => $v) {
    if (preg_match('/^expose/', $k)) {
        $exps[] = $k;
    }
}
if (!count($exps)) {
    $exps = $allExposes;
    foreach ($exps as $e) {
        $_POST[$e] = 1;
    }
}
// generate the hCard
displayNone($normalizer, $allExposes);
$normalizer->setParams($exps, TRUE);
开发者ID:Cyberspace-Networks,项目名称:PeopleAggregator,代码行数:31,代码来源:export.php


注:本文中的Normalizer::transformToDoc方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。