Пример #1
0
 function saveTemplate($data)
 {
     My_Logger::log("in Ajax_TemplateEditorProcessor saveTemplate()");
     $expected = array('filename', 'type', 'time', 'concepts', 'instructions', 'problem');
     $filename = $this->get($data['filename']);
     if (empty($filename)) {
         throw new Exception('Missing Filename');
     }
     My_Logger::log("filename is " . $filename);
     foreach ($expected as $field) {
         $toCheck = $this->get($data[$field]);
         if (empty($toCheck)) {
             //if (empty($this->get($data[$field]))){
             throw new Exception('Missing field: ' . $field);
         }
     }
     //build xml
     $xml = new SimpleXMLExtended('<question/>');
     $xml->addAttribute('type', $this->get($data['type']));
     $xml->addChild('estimated_time', $this->get($data['time']));
     $concepts = $xml->addChild('concepts');
     $concepts->addChild('concept', $this->get($data['concepts']));
     $xml->addChild('difficulty', $this->get($data['difficulty']));
     $xml->addChild('instructions', $this->get($data['instructions']));
     //$xml->problem = null;
     //$xml->problem->addCData($this->get($data['problem']));
     $xml->addCData('problem', $this->get($data['problem']));
     $sc = $xml->addChild('substitutions');
     $subs = $this->get($data['s']);
     if ($subs) {
         foreach ($subs as $sd) {
             if (empty($sd['name']) || empty($sd['value'])) {
                 continue;
             }
             $s = $sc->addCData('substitution', $sd['value']);
             $s->addAttribute('val', $sd['name']);
         }
     }
     $config = new Zend_Config_Ini(APPLICATION_PATH . "/configs/application.ini", APPLICATION_ENV);
     $path = $config->xml->import_path;
     $full_filename = $path . DIRECTORY_SEPARATOR . $filename;
     My_Logger::log("Saving to {$full_filename}");
     $xml->saveXML($full_filename);
     chmod($full_filename, 0666);
     return array('result' => 'success', 'msg' => "File '{$filename}' saved correctly");
 }
Пример #2
0
echo "output dir = {$outputDir}<br/>";
$names = array();
// generate one testsuite for each run
$result = mysql_queryf("SELECT name,id FROM runs WHERE job_id = {$jobId};");
while ($run = mysql_fetch_array($result)) {
    $names[$packageName . '.' . $run['name']]['runId'] = $run['id'];
}
foreach ($names as $name => $value) {
    $runId = $value['runId'];
    $xmlstr = "<?xml version='1.0' ?>\n<testsuite></testsuite>";
    // get one testsuite for each useragent (mozilla 3.5, opera 10, ...)
    $result = mysql_queryf("SELECT run_id,useragent_id,name,os FROM run_useragent LEFT OUTER JOIN useragents ON run_useragent.useragent_id = useragents.id WHERE run_id={$runId} AND status=2");
    while ($runAtAgend = mysql_fetch_array($result)) {
        $xml = new SimpleXMLExtended($xmlstr);
        $testsuiteName = $name . '.' . str_replace('.', '-', $runAtAgend['name'] . " on " . $runAtAgend['os']);
        $xml->addAttribute('name', $testsuiteName);
        $value['useragents'][$runAtAgend['useragent_id']]['xml'] = $xml;
        $value['useragents'][$runAtAgend['useragent_id']]['name'] = $testsuiteName;
    }
    // create on test foreach clientrun of user agent
    foreach ($value['useragents'] as $userAgentId => $useragent) {
        $xml = $useragent['xml'];
        $errors = 0;
        $tests = 0;
        $failures = 0;
        $sysout = '';
        $result = mysql_queryf("SELECT fail,error,total,results,ip,useragent FROM run_client INNER JOIN clients ON run_client.client_id = clients.id WHERE useragent_id={$userAgentId} AND run_id={$runId}");
        while ($runAtClient = mysql_fetch_array($result)) {
            preg_match('/\\(.*\\)/', $runAtClient['useragent'], $matches);
            $clientName = $runAtClient['ip'] . " " . $matches[0];
            // create dummy testcases because some CI server like hudson count
Пример #3
0
 /**
  * fill a xml element with atrributes from a disk device
  *
  * @param SimpleXmlExtended $mount Xml-Element
  * @param DiskDevice        $dev   DiskDevice
  * @param Integer           $i     counter
  *
  * @return Void
  */
 private function _fillDevice(SimpleXMLExtended $mount, DiskDevice $dev, $i)
 {
     $mount->addAttribute('MountPointID', $i);
     $mount->addAttribute('FSType', $dev->getFsType());
     $mount->addAttribute('Name', $dev->getName());
     $mount->addAttribute('Free', sprintf("%.0f", $dev->getFree()));
     $mount->addAttribute('Used', sprintf("%.0f", $dev->getUsed()));
     $mount->addAttribute('Total', sprintf("%.0f", $dev->getTotal()));
     $mount->addAttribute('Percent', $dev->getPercentUsed());
     if (PSI_SHOW_MOUNT_OPTION === true) {
         if ($dev->getOptions() !== null) {
             $mount->addAttribute('MountOptions', preg_replace("/,/", ", ", $dev->getOptions()));
         }
     }
     if ($dev->getPercentInodesUsed() !== null) {
         $mount->addAttribute('Inodes', $dev->getPercentInodesUsed());
     }
     if (PSI_SHOW_MOUNT_POINT === true) {
         $mount->addAttribute('MountPoint', $dev->getMountPoint());
     }
 }
 /**
  * @brief Create the XML output of the AREL Object and send it to the junaio server.
  * @param ArelObject $oObject Object to be sent out
  */
 public static function outputObject($oObject)
 {
     $object = new SimpleXMLExtended("<object></object>");
     $object->addAttribute('id', (string) $oObject->getID());
     if ($oObject->getTitle()) {
         $object->addCData('title', $oObject->getTitle());
     }
     if ($oObject->getThumbnail()) {
         $object->addCData('thumbnail', $oObject->getThumbnail());
     }
     if ($oObject->getIcon()) {
         $object->addCData('icon', $oObject->getIcon());
     }
     //location
     if ($oObject->getLocation()) {
         $location = $object->addChild("location");
         $oLocation = $oObject->getLocation();
         try {
             $location->addChild('lat', $oLocation[0]);
             $location->addChild('lon', $oLocation[1]);
             if (isset($oLocation[2])) {
                 $location->addChild('alt', $oLocation[2]);
             } else {
                 $location->addChild('alt', 0);
             }
         } catch (Exception $e) {
             return $e;
         }
     }
     //popup
     if ($oObject->getPopup()) {
         $popup = $object->addChild("popup");
         $oPopUp = $oObject->getPopup();
         if ($oPopUp->getDescription()) {
             $popup->addCData('description', $oPopUp->getDescription());
         }
         if ($oPopUp->getButtons()) {
             $buttons = $popup->addChild("buttons");
             $aButtons = $oPopUp->getButtons();
             foreach ($aButtons as $oButton) {
                 $button = $buttons->addCData("button", $oButton[2]);
                 $button->addAttribute("id", $oButton[1]);
                 $button->addAttribute("name", $oButton[0]);
             }
         }
     }
     if ($oObject instanceof ArelObjectModel3D) {
         //assets3D
         $assets3D = $object->addChild("assets3d");
         if ($oObject->getModel()) {
             $assets3D->addCData('model', $oObject->getModel());
         }
         if ($oObject->getMovie()) {
             $assets3D->addCData('movie', $oObject->getMovie());
         }
         if ($oObject->getTexture()) {
             $assets3D->addCData('texture', $oObject->getTexture());
         }
         //transform
         $transform = $assets3D->addChild("transform");
         $oTransform = $oObject->getTransformParent();
         if (isset($oTransform)) {
             $transform->addAttribute("parent", $oTransform);
         }
         try {
             //translation
             $translation = $transform->addChild("translation");
             $oTranslation = $oObject->getTranslation();
             $translation->addChild("x", $oTranslation[0]);
             $translation->addChild("y", $oTranslation[1]);
             $translation->addChild("z", $oTranslation[2]);
             //rotation
             $rotation = $transform->addChild("rotation");
             $oRotationElement = $oObject->getRotation();
             $oRotation = $oRotationElement->getRotationValues();
             $oRotationType = $oRotationElement->getRotationType();
             $rotation->addAttribute("type", $oRotationType);
             if ($oRotationType !== ArelRotation::ROTATION_MATRIX) {
                 $rotation->addChild("x", $oRotation[0]);
                 $rotation->addChild("y", $oRotation[1]);
                 $rotation->addChild("z", $oRotation[2]);
                 if ($oRotationType == ArelRotation::ROTATION_QUATERNION) {
                     $rotation->addChild("w", $oRotation[3]);
                 } else {
                     if ($oRotationType == ArelRotation::ROTATION_AXISANGLE) {
                         $rotation->addChild("angle", $oRotation[3]);
                     }
                 }
             } else {
                 $rotation->addChild("m0", $oRotation[0]);
                 $rotation->addChild("m1", $oRotation[1]);
                 $rotation->addChild("m2", $oRotation[2]);
                 $rotation->addChild("m3", $oRotation[3]);
                 $rotation->addChild("m4", $oRotation[4]);
                 $rotation->addChild("m5", $oRotation[5]);
                 $rotation->addChild("m6", $oRotation[6]);
                 $rotation->addChild("m7", $oRotation[7]);
                 $rotation->addChild("m8", $oRotation[8]);
             }
             //scale
             $scale = $transform->addChild("scale");
             $oScale = $oObject->getScale();
             $scale->addChild("x", $oScale[0]);
             $scale->addChild("y", $oScale[1]);
             $scale->addChild("z", $oScale[2]);
         } catch (Exception $e) {
             return $e;
         }
         //properties
         $pickingEnabled = $oObject->isPickingEnabled();
         $cosID = $oObject->getCoordinateSystemID();
         $shaderMaterial = $oObject->getShaderMaterial();
         $occluding = $oObject->isOccluding();
         $transparency = $oObject->getTransparency();
         $renderPosition = $oObject->getRenderOrderPosition();
         $screenAnchor = $oObject->getScreenAnchor();
         if (isset($cosID) || isset($shaderMaterial) || isset($occluding) || isset($pickingEnabled) || isset($screenAnchor) || isset($transparency) || isset($renderPosition)) {
             $properties = $assets3D->addChild("properties");
             if (isset($cosID)) {
                 $properties->addChild("coordinatesystemid", $cosID);
             }
             if (isset($shaderMaterial)) {
                 $properties->addChild("shadermaterial", $shaderMaterial);
             }
             if ($occluding) {
                 $properties->addChild("occluding", "true");
             }
             if (isset($transparency) && $transparency > 0) {
                 $properties->addChild("transparency", $oObject->getTransparency());
             }
             if (isset($pickingEnabled) && !$pickingEnabled) {
                 $properties->addChild("pickingenabled", "false");
             }
             if (isset($renderPosition)) {
                 $properties->addChild("renderorder", $oObject->getRenderOrderPosition());
             }
             if (isset($screenAnchor)) {
                 $screenAnchorProperty = $properties->addChild("screenanchor", $oObject->getScreenAnchor());
                 if ($oObject->getScreenAnchorFlag() != NULL) {
                     $screenAnchorProperty->addAttribute("flags", $oObject->getScreenAnchorFlag(), null);
                 }
             }
         }
     }
     //viewparameters
     if ($oObject->getVisibility() || $oObject->getMinAccuracy() || $oObject->getMinDistance() || $oObject->getMaxDistance()) {
         $viewparameter = $object->addChild("viewparameters");
         if ($oObject->getVisibility()) {
             $visibility = $viewparameter->addChild("visibility");
             $oVisibility = $oObject->getVisibility();
             if (isset($oVisibility["liveview"]) && !$oVisibility["liveview"]) {
                 $visibility->addChild("liveview", "false");
             }
             if (isset($oVisibility["maplist"]) && !$oVisibility["maplist"]) {
                 $visibility->addChild("maplist", "false");
             }
             if (isset($oVisibility["radar"]) && !$oVisibility["radar"]) {
                 $visibility->addChild("radar", "false");
             }
             //alternatively for 0,1,2
             if (isset($oVisibility[0]) && !$oVisibility[0]) {
                 $visibility->addChild("liveview", "false");
             }
             if (isset($oVisibility[1]) && !$oVisibility[1]) {
                 $visibility->addChild("maplist", "false");
             }
             if (isset($oVisibility[2]) && !$oVisibility[2]) {
                 $visibility->addChild("radar", "false");
             }
         }
         if ($oObject->getMinAccuracy()) {
             $viewparameter->addChild("minaccuracy", $oObject->getMinAccuracy());
         }
         if ($oObject->getMinDistance()) {
             $viewparameter->addChild("mindistance", $oObject->getMinDistance());
         }
         if ($oObject->getMaxDistance()) {
             $viewparameter->addChild("maxdistance", $oObject->getMaxDistance());
         }
     }
     //parameters
     if ($oObject->getParameters()) {
         $parameters = $object->addChild("parameters");
         foreach ($oObject->getParameters() as $key => $parValue) {
             $parameter = $parameters->addCData("parameter", $parValue);
             $parameter->addAttribute("key", $key);
         }
     }
     $out = $object->asXML();
     $pos = strpos($out, "?>");
     echo utf8_encode(trim(substr($out, $pos + 2)));
     ob_flush();
 }
 public function siteToXML(ModelObject $site)
 {
     $xml = new SimpleXMLExtended('<site/>');
     foreach (array('Name', 'Description') as $key) {
         $xml->addChild(StringUtils::underscore($key), $site->{$key});
     }
     if ($site->SiteID == 1) {
         $xml->addAttribute('anchor', 'true');
     }
     $xml->addAttribute('slug', $site->Slug);
     $xml->addChild('domain', $site->PublicDomain);
     //        $xml->addChild('domain_base_uri', '');
     //        $xml->addChild('domain_aliases', '');
     //        $xml->addChild('domain_redirects', '');
     return $xml;
 }
Пример #6
0
 /**
  * returns the XML string
  *
  * @return string
  * @throws \Zend_Config_Exception
  */
 public function render()
 {
     $xml = new SimpleXMLExtended('<' . $this->getRootElementName() . ' />');
     foreach ($this->getRootElementAttributes() as $key => $value) {
         $xml->addAttribute($key, $value);
     }
     if ($this->_config) {
         $extends = $this->_config->getExtends();
         $sectionName = $this->_config->getSectionName();
         if (is_string($sectionName)) {
             $child = $xml->addChild($sectionName);
             $this->_addBranch($this->_config, $child, $xml);
         } else {
             foreach ($this->_config as $sectionName => $data) {
                 if (!$data instanceof \Zend_Config) {
                     $this->addChildConsiderCdata($xml, $sectionName, $data);
                 } else {
                     $child = $xml->addChild($sectionName);
                     if (isset($extends[$sectionName])) {
                         $child->addAttribute('zf:extends', $extends[$sectionName], \Zend_Config_Xml::XML_NAMESPACE);
                     }
                     $this->_addBranch($data, $child, $xml);
                 }
             }
         }
     }
     $dom = dom_import_simplexml($xml)->ownerDocument;
     if ($encoding = $this->getEncoding()) {
         $dom->encoding = $encoding;
     }
     $dom->formatOutput = $this->getFormatOutput();
     $xmlString = $dom->saveXML();
     return $xmlString;
 }
Пример #7
0
 function backup()
 {
     $settings = Plugin::getAllSettings('backup_restore');
     // All of the tablesnames that belong to Fresh CMS core.
     $tablenames = array('layout', 'page', 'page_part', 'page_tag', 'permission', 'plugin_settings', 'setting', 'snippet', 'tag', 'user', 'user_permission');
     // All fields that should be wrapped as CDATA
     $cdata_fields = array('content', 'content_html');
     // Setup XML for backup
     $xmltext = '<?xml version="1.0" encoding="UTF-8"?><freshcms></freshcms>';
     $xmlobj = new SimpleXMLExtended($xmltext);
     $xmlobj->addAttribute('version', CMS_VERSION);
     // Retrieve all database information for placement in XML backup
     global $__CMS_CONN__;
     Record::connection($__CMS_CONN__);
     $lasttable = '';
     // Generate XML file entry for each table
     foreach ($tablenames as $tablename) {
         $table = Record::query('SELECT * FROM ' . TABLE_PREFIX . $tablename);
         while ($entry = $table->fetchObject()) {
             if ($lasttable !== $tablename) {
                 $lasttable = $tablename;
                 $child = $xmlobj->addChild($tablename . 's');
             }
             $subchild = $child->addChild($tablename);
             while (list($key, $value) = each($entry)) {
                 if ($key === 'password' && $settings['pwd'] === '0') {
                     $value = '';
                 }
                 if (in_array($key, $cdata_fields, true)) {
                     $subchild->addCData($key, $value);
                 } else {
                     $subchild->addChild($key, $value);
                 }
             }
         }
     }
     // Create the XML file
     $file = $xmlobj->asXML();
     $filename = 'freshcms-backup-' . date($settings['stamp']);
     // Offer a plain XML file or a zip file for download
     if ($settings['zip'] == '1') {
         // Create a note file
         $note = "---[ NOTES for {$filename}.xml ]---\n\n";
         $note .= "This backup was created for a specific Fresh CMS version, please only restore it\n";
         $note .= "on the same version.\n\n";
         $note .= "When restoring a backup, upload the UNzipped XML file, not this zip file.\n\n";
         $note .= 'Created on ' . date('Y-m-d') . ' at ' . date('H:i:s') . ' GTM ' . date('O') . ".\n";
         $note .= 'Created with BackupRestore plugin version ' . BR_VERSION . "\n";
         $note .= 'Created for Fresh CMS version ' . CMS_VERSION . "\n\n";
         $note .= '---[ END NOTES ]---';
         use_helper('Zip');
         $zip = new Zip();
         $zip->clear();
         $zip->addFile($note, 'readme.txt');
         $zip->addFile($file, $filename . '.xml');
         $zip->download($filename . '.zip');
     } else {
         header('Pragma: public');
         header('Expires: 0');
         header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
         header('Cache-Control: private', false);
         header('Content-Type: text/xml; charset=UTF-8');
         header('Content-Disposition: attachment; filename=' . $filename . '.xml;');
         header('Content-Transfer-Encoding: 8bit');
         header('Content-Length: ' . strlen($file));
         echo $file;
     }
 }
Пример #8
0
    exit;
    // Exit if accessed directly
}
$order = wc_get_order($order_id);
class SimpleXMLExtended extends SimpleXMLElement
{
    public function addCData($cdata_text)
    {
        $node = dom_import_simplexml($this);
        $no = $node->ownerDocument;
        $node->appendChild($no->createCDATASection($cdata_text));
    }
}
//Create SimpleXMLElement object
$xml = new SimpleXMLExtended('<?xml version="1.0" encoding="UTF-8"?><orders/>');
$xml->addAttribute('scheme', '2.0');
$mydata = $xml->addChild('order');
$orderID = $mydata->addAttribute('order_id', $order_id);
$task = $mydata->addChild('task');
$taskID = $task->addAttribute('id', $order_id);
$username = $task->username = NULL;
$username = $task->username->addCData('Hong Todd');
$bottlesize = $task->addChild('bottleSize', 10);
$printAmount = $task->addChild('printAmount', 10);
$array = array();
foreach ($order->get_items() as $item_id => $item) {
    $rray = array('name' => $item['name'], 'qty' => $item['qty']);
    $array[] = $rray;
}
foreach ($array as $key => $value) {
    $result .= $value['name'] . " " . $value['qty'];
Пример #9
0
 function backup()
 {
     $settings = Plugin::getAllSettings('backup_restore');
     // All of the tablesnames that belong to Wolf CMS core.
     $tablenames = array();
     if (strpos(DB_DSN, 'mysql') !== false) {
         $sql = 'show tables';
     }
     if (strpos(DB_DSN, 'sqlite') !== false) {
         $sql = 'SELECT name FROM SQLITE_MASTER WHERE type="table" ORDER BY name';
     }
     if (strpos(DB_DSN, 'pgsql') !== false) {
         $sql = "select tablename from pg_tables where schemaname='public'";
     }
     Record::logQuery($sql);
     $pdo = Record::getConnection();
     $result = $pdo->query($sql);
     while ($col = $result->fetchColumn()) {
         $tablenames[] = $col;
     }
     // All fields that should be wrapped as CDATA
     $cdata_fields = array('title', 'content', 'content_html');
     // Setup XML for backup
     $xmltext = '<?xml version="1.0" encoding="UTF-8"?><wolfcms></wolfcms>';
     $xmlobj = new SimpleXMLExtended($xmltext);
     $xmlobj->addAttribute('version', CMS_VERSION);
     // Retrieve all database information for placement in XML backup
     global $__CMS_CONN__;
     Record::connection($__CMS_CONN__);
     // Generate XML file entry for each table
     foreach ($tablenames as $tablename) {
         $table = Record::query('SELECT * FROM ' . $tablename);
         $child = $xmlobj->addChild($tablename . 's');
         while ($entry = $table->fetch(PDO::FETCH_ASSOC)) {
             $subchild = $child->addChild($tablename);
             foreach ($entry as $key => $value) {
                 if ($key == 'password' && $settings['pwd'] === '0') {
                     $value = '';
                 }
                 if (in_array($key, $cdata_fields, true)) {
                     $valueChild = $subchild->addCData($key, $value);
                 } else {
                     $valueChild = $subchild->addChild($key, str_replace('&', '&amp;', $value));
                 }
                 if ($value === null) {
                     $valueChild->addAttribute('null', true);
                 }
             }
         }
     }
     // Add XML files entries for all files in upload directory
     if ($settings['backupfiles'] == '1') {
         $dir = realpath(FILES_DIR);
         $this->_backup_directory($xmlobj->addChild('files'), $dir, $dir);
     }
     // Create the XML file
     $file = $xmlobj->asXML();
     $filename = 'wolfcms-backup-' . date($settings['stamp']) . '.' . $settings['extension'];
     // Offer a plain XML file or a zip file for download
     if ($settings['zip'] == '1') {
         // Create a note file
         $note = "---[ NOTES for {$filename} ]---\n\n";
         $note .= "This backup was created for a specific Wolf CMS version, please only restore it\n";
         $note .= "on the same version.\n\n";
         $note .= "When restoring a backup, upload the UNzipped XML backup file, not this zip file.\n\n";
         $note .= 'Created on ' . date('Y-m-d') . ' at ' . date('H:i:s') . ' GTM ' . date('O') . ".\n";
         $note .= 'Created with BackupRestore plugin version ' . BR_VERSION . "\n";
         $note .= 'Created for Wolf CMS version ' . CMS_VERSION . "\n\n";
         $note .= '---[ END NOTES ]---';
         use_helper('Zip');
         $zip = new Zip();
         $zip->clear();
         $zip->addFile($note, 'readme.txt');
         $zip->addFile($file, $filename);
         $zip->download($filename . '.zip');
     } else {
         header('Pragma: public');
         header('Expires: 0');
         header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
         header('Cache-Control: private', false);
         header('Content-Type: text/xml; charset=UTF-8');
         header('Content-Disposition: attachment; filename=' . $filename . ';');
         header('Content-Transfer-Encoding: 8bit');
         header('Content-Length: ' . strlen($file));
         echo $file;
     }
 }