Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/main/inc/lib/phpdocx/classes/CreateText.inc

404 lines
12 KiB

<?php
/**
* Create text
*
* @category Phpdocx
* @package elements
* @copyright Copyright (c) 2009-2011 Narcea Producciones Multimedia S.L.
* (http://www.2mdc.com)
* @license LGPL
* @version 1.0
* @link http://www.phpdocx.com
* @since File available since Release 1.0
*/
include_once dirname(__FILE__) . '/CreateElement.inc';
/**
* Create text
*
* @category Phpdocx
* @package elements
* @copyright Copyright (c) 2009-2011 Narcea Producciones Multimedia S.L.
* (http://www.2mdc.com)
* @license http://www.phpdocx.com/wp-content/themes/lightword/pro_license.php
* @version 1.0
* @link http://www.phpdocx.com
* @since Class available since Release 1.0
*/
class CreateText extends CreateElement
{
const IDTITLE = 229998237;
/**
*
* @access private
* @var string
*/
private static $_instance = NULL;
/**
*
* @access private
* @var int
*/
private static $_idTitle = 0;
/**
* Destruct
*
* @access public
*/
public function __construct()
{
}
/**
* Destruct
*
* @access public
*/
public function __destruct()
{
}
/**
* Magic method, returns current XML
*
* @access public
* @return string Return current XML
*/
public function __toString()
{
return $this->_xml;
}
/**
* Singleton, return instance of class
*
* @access public
* @return CreateText
* @static
*/
public static function getInstance()
{
if (self::$_instance == NULL) {
self::$_instance = new CreateText();
}
return self::$_instance;
}
/**
* Create text
*
* @access public
* @param mixed $args[0]
* @param array $args[1]
*/
public function createText()
{
$this->_xml = '';
$args = func_get_args();
$this->generateP();
if (!is_array($args[0])) {
if (
!empty($args[1]['jc']) ||
!empty($args[1]['pageBreakBefore']) ||
!empty($args[1]['widowControl']) ||
!empty($args[1]['wordWrap'])
) {
$this->generatePPR();
if (!empty($args[1]['jc']))
$this->generateJC($args[1]['jc']);
if (!empty($args[1]['pageBreakBefore']))
$this->generatePAGEBREAKBEFORE($args[1]['pageBreakBefore']);
if (!empty($args[1]['widowControl']))
$this->generateWIDOWCONTROL($args[1]['widowControl']);
if (!empty($args[1]['wordWrap']))
$this->generateWORDWRAP($args[1]['wordWrap']);
}
$this->generateR();
if (
$args[1]['b'] != '' ||
$args[1]['i'] != '' ||
$args[1]['u'] != '' ||
$args[1]['sz'] != '' ||
$args[1]['color'] != '' ||
$args[1]['font'] != '' ||
$args[1]['tabs'] != ''
) {
$this->generateRPR();
if (isset($args[1]['font']) && $args[1]['font'] != '') {
$this->generateRFONTS($args[1]['font']);
}
if (isset($args[1]['b']) && $args[1]['b'] != '') {
$this->generateB($args[1]['b']);
}
if (isset($args[1]['i']) && $args[1]['i'] != '') {
$this->generateI($args[1]['i']);
}
if (isset($args[1]['u']) && $args[1]['u'] != '') {
$this->generateU($args[1]['u']);
}
if (isset($args[1]['sz']) && $args[1]['sz'] != '') {
$this->generateSZ($args[1]['sz']);
}
if (isset($args[1]['color']) && $args[1]['color'] != '') {
$this->generateCOLOR($args[1]['color']);
}
}
$this->generateT($args[0], $args[1]['spaces']);
}
}
/**
* Create title
*
* @access protected
* @param string $arrArgs[0]
* @param array $arrArgs[1]
*/
public function createTitle()
{
$this->_xml = '';
$args = func_get_args();
if (!empty($args[1]['val']) && !empty($args[0])) {
$this->generateP();
$this->generatePPR();
if ($args[1]['type'] == 'subtitle')
$this->generatePSTYLE('Subttulo' . $args[1]['val']);
else
$this->generatePSTYLE('Ttulo' . $args[1]['val']);
if (!empty($args[1]['pageBreakBefore']))
$this->generatePAGEBREAKBEFORE($args[1]['pageBreakBefore']);
if (!empty($args[1]['widowControl']))
$this->generateWIDOWCONTROL($args[1]['widowControl']);
if (!empty($args[1]['wordWrap']))
$this->generateWORDWRAP($args[1]['wordWrap']);
self::$_idTitle++;
$this->generateBOOKMARKSTART(
self::$_idTitle, '_Toc' . (self::$_idTitle + self::IDTITLE)
);
$this->generateR();
if (
$args[1]['b'] != '' ||
$args[1]['i'] != '' ||
$args[1]['u'] != '' ||
$args[1]['sz'] != '' ||
$args[1]['color'] != '' ||
$args[1]['font'] != ''
) {
$this->generateRPR();
if ($args[1]['font'] != '') {
$this->generateRFONTS($args[1]['font']);
}
if ($args[1]['b'] != '') {
$this->generateB($args[1]['b']);
}
if ($args[1]['i'] != '') {
$this->generateI($args[1]['i']);
}
if ($args[1]['u'] != '') {
$this->generateU($args[1]['u']);
}
if ($args[1]['sz'] != '') {
$this->generateSZ($args[1]['sz']);
}
if ($args[1]['color'] != '') {
$this->generateCOLOR($args[1]['color']);
}
}
$this->generateT($args[0]);
$this->generateBOOKMARKEND(self::$_idTitle);
$this->cleanTemplate();
}
}
/**
* Generate w:b
*
* @access protected
* @param string $val
*/
protected function generateB($strVal = 'single')
{
$element = '<' . CreateElement::NAMESPACEWORD . ':b ' .
CreateElement::NAMESPACEWORD . ':val="' . $strVal . '"></' .
CreateElement::NAMESPACEWORD . ':b>__GENERATERPR__';
$this->_xml = str_replace('__GENERATERPR__', $element, $this->_xml);
}
/**
* Generate w:color
*
* @access protected
* @param string $val
*/
protected function generateCOLOR($val = '000000')
{
$this->_xml = str_replace(
'__GENERATERPR__', '<' . CreateElement::NAMESPACEWORD . ':color ' .
CreateElement::NAMESPACEWORD . ':val="' . $val . '"></' .
CreateElement::NAMESPACEWORD . ':color>__GENERATERPR__', $this->_xml
);
}
/**
* Generate w:jc
*
* @access protected
* @param string $val
*/
protected function generateJC($val = '')
{
$this->_xml = str_replace(
'__GENERATEPPR__', '<' . CreateElement::NAMESPACEWORD . ':jc ' .
CreateElement::NAMESPACEWORD . ':val="' . $val . '"></' .
CreateElement::NAMESPACEWORD . ':jc>__GENERATESZ__', $this->_xml
);
}
/**
* Generate w:i
*
* @access protected
* @param string $val
*/
protected function generateI($val = 'single')
{
$this->_xml = str_replace(
'__GENERATERPR__', '<' . CreateElement::NAMESPACEWORD . ':i ' .
CreateElement::NAMESPACEWORD . ':val="' . $val . '"></' .
CreateElement::NAMESPACEWORD . ':i>__GENERATERPR__', $this->_xml
);
}
/**
* Generate w:sz
*
* @access protected
* @param string $val
*/
protected function generateSZ($val = '11')
{
$val *= 2;
$this->_xml = str_replace(
'__GENERATERPR__', '<' . CreateElement::NAMESPACEWORD . ':sz ' .
CreateElement::NAMESPACEWORD . ':val="' . $val . '"></' .
CreateElement::NAMESPACEWORD . ':sz>__GENERATERPR__', $this->_xml
);
}
/**
* Generate w:u
*
* @access protected
* @param string $val
*/
protected function generateU($val = 'single')
{
$this->_xml = str_replace(
'__GENERATERPR__', '<' . CreateElement::NAMESPACEWORD . ':u ' .
CreateElement::NAMESPACEWORD . ':val="' . $val . '"></' .
CreateElement::NAMESPACEWORD . ':u>__GENERATERPR__', $this->_xml
);
}
/**
* Generate w:pstyle
*
* @access protected
* @param string $val
*/
protected function generatePSTYLE($val = 'Ttulo')
{
$this->_xml = str_replace(
'__GENERATEPPR__', '<' . CreateElement::NAMESPACEWORD . ':pStyle ' .
CreateElement::NAMESPACEWORD . ':val="' . $val . '"></' .
CreateElement::NAMESPACEWORD . ':pStyle>__GENERATEPPR__',
$this->_xml
);
}
/**
* Generate w:pagebreakbefore
*
* @access protected
* @param string $val
*/
protected function generatePAGEBREAKBEFORE($val = 'on')
{
$this->_xml = str_replace(
'__GENERATEPPR__', '<' . CreateElement::NAMESPACEWORD .
':pageBreakBefore val="' . $val . '"></' .
CreateElement::NAMESPACEWORD . ':pageBreakBefore>__GENERATEPPR__',
$this->_xml
);
}
/**
* Generate w:widowcontrol
*
* @access protected
* @param string $val
*/
protected function generateWIDOWCONTROL($val = 'on')
{
$this->_xml = str_replace(
'__GENERATEPPR__', '<' . CreateElement::NAMESPACEWORD .
':widowControl val="' . $val . '"></' .
CreateElement::NAMESPACEWORD . ':widowControl>__GENERATEPPR__',
$this->_xml
);
}
/**
* Generate w:wordwrap
*
* @access protected
* @param string $val
*/
protected function generateWORDWRAP($val = 'on')
{
$this->_xml = str_replace(
'__GENERATEPPR__', '<' . CreateElement::NAMESPACEWORD .
':wordWrap val="' . $val . '"></' . CreateElement::NAMESPACEWORD .
':wordWrap>__GENERATEPPR__', $this->_xml
);
}
/**
* Generate w:bookmarkstart
*
* @access protected
* @param int $id
* @param string $name
*/
protected function generateBOOKMARKSTART($id, $name)
{
$this->_xml = str_replace(
'__GENERATER__', '<' . CreateElement::NAMESPACEWORD .
':bookmarkStart ' . CreateElement::NAMESPACEWORD . ':id="' . $id .
'" ' . CreateElement::NAMESPACEWORD . ':name="' . $name . '"></' .
CreateElement::NAMESPACEWORD .
':bookmarkStart>__GENERATER____GENERATEBOOKMARKEND__', $this->_xml
);
}
/**
* Generate w:bookmarkend
*
* @access protected
* @param int $id
*/
protected function generateBOOKMARKEND($id)
{
$this->_xml = str_replace(
'__GENERATEBOOKMARKEND__', '<' . CreateElement::NAMESPACEWORD .
':bookmarkEnd ' . CreateElement::NAMESPACEWORD . ':id="' . $id .
'"></' . CreateElement::NAMESPACEWORD . ':bookmarkEnd>', $this->_xml
);
}
}