Beispiel #1
0
 /**
  * 
  * @param unknown $fileSystemElement
  */
 protected function buildFromFileSystem($fileSystemElement)
 {
     $this->tags = array();
     $folder_contents = scandir($fileSystemElement);
     $debug = Settings::getOperativeMode() != "release";
     if ($debug) {
         echo "<br><br>";
     }
     foreach ($folder_contents as $k => $v) {
         if ($v != "." && $v != "..") {
             $tagLibraryIndex = explode(".", $v)[0];
             if ($debug) {
                 var_dump($tagLibraryIndex);
             }
             if (is_dir($fileSystemElement . "/" . $v)) {
                 if ($debug) {
                     echo "<br>**" . $v . " is dir<br>";
                 }
                 $this->tags[$tagLibraryIndex] = new TagLibrary(null, $fileSystemElement . "/" . $v, "as_file_system_element");
             } else {
                 if ($debug) {
                     echo "<br>**" . $v . " is not dir<br>";
                 }
                 $this->tags[$tagLibraryIndex] = new $tagLibraryIndex(null, $fileSystemElement . "/" . $v, "as_file_system_element");
             }
         }
     }
 }
Beispiel #2
0
 public function add($entity = null)
 {
     $baseEntityPrimaryKeyName = $entity->fields[0]->name;
     $baseEntityPrimaryKeyValue = $_REQUEST[$entity->fields[0]->name];
     $where_conditions = array($entity->fields[0]->name => $baseEntityPrimaryKeyValue);
     if (Settings::getOperativeMode() == 'debug') {
         echo '<br> add in ImageForm debug';
         echo '<br>$_REQUESTin imageform<br>';
         var_dump($_REQUEST);
     }
     if (isset($_REQUEST[$this->formHash . "_" . $this->attributeName]) && $_REQUEST[$this->formHash . "_" . $this->attributeName]["size"] != 0) {
         $this->createImage();
         $imageEntity = DB::getInstance()->getEntityByName("sys_image");
         if ($imageEntity->loaded) {
             $set_values = array($this->attributeName => $imageEntity->instances[0]->getKeyFieldValue());
         }
     } else {
         /* If foto was uploaded a new foto entity is created */
         if (isset($_REQUEST[$this->formHash . "_" . $this->attributeName])) {
             $set_values = array($this->attributeName => $_REQUEST[$this->formHash . "_" . $this->attributeName]);
         } else {
             /*otherwise everything is removed*/
             $set_values = array($this->attributeName => 0);
         }
     }
     $entity->update($where_conditions, $set_values);
 }
 public static function setOperativeMode($mode)
 {
     self::$operative_mode = $mode;
     if (Settings::getOperativeMode() == "release") {
         error_reporting(E_ERROR);
     } else {
         error_reporting(E_ALL);
     }
 }
 /**
  * @access public
  * @param v : values for this field in the form
  * @param preload
  * @ParamType v
  * @ParamType preload
  */
 public function build($preload)
 {
     if (Settings::getOperativeMode() == 'debug') {
         echo '<br />debug TitleField widget';
         var_dump($this->name);
     }
     $content = '<div class="page_heading">';
     $content .= '<h1 class="text_uppercase">' . $this->name . '</h1></div>';
     return $content;
 }
 public function update($where_conditions, $set_parameters)
 {
     if (Settings::getOperativeMode() == 'debug') {
         echo '<br />method update EntityImage ';
         var_dump($set_parameters);
     }
     if (isset($set_parameters['file'])) {
         $set_parameters['filename'] = 'upload/' . $set_parameters['file']['name'];
         $set_parameters['filetype'] = $set_parameters['file']['type'];
         $set_parameters['size'] = $set_parameters['file']['size'];
     }
     return parent::update($where_conditions, $set_parameters);
 }
 public function update($where_conditions, $set_parameters)
 {
     if (Settings::getOperativeMode() == 'release') {
         echo '<br /><br><br>method update EntityImage<br><br> ';
         var_dump($set_parameters);
     }
     if (isset($set_parameters['file'])) {
         $set_parameters['filename'] = $set_parameters['file']['name'];
         $set_parameters['filetype'] = $set_parameters['file']['type'];
         $set_parameters['size'] = $set_parameters['file']['size'];
         $set_parameters['data'] = mysql_real_escape_string(base64_encode(file_get_contents($set_parameters['file']['tmp_name'])));
     }
     parent::update($where_conditions, $set_parameters);
 }
Beispiel #7
0
 /**
  * @access public
  * @param preload
  * @ParamType string
  */
 public function build($preload)
 {
     $value = "";
     $preloadedId = 0;
     if ($this->form->entity->loaded && $preload == PRELOAD) {
         $entityInstance = $this->form->entity->instances[0];
         $preloadedId = $entityInstance->getFieldValue($this->name);
         if (Settings::getOperativeMode() == 'debug') {
             echo '<br />ImageField debugmode';
             var_dump($preloadedId);
         }
     }
     $key = $this->form->formHash;
     $widget = new Skinlet("widget/ImageField");
     $widget->setContent("label", $this->label);
     $widget->setContent("name", $key . '_' . $this->name);
     $widget->setContent("formHash", $key);
     $widget->setContent("loggedUsername", $_SESSION["user"]["username"]);
     $widget->setContent("preloadedImageId", $preloadedId);
     return $widget->get();
 }
Beispiel #8
0
 /**
  * 
  * (non-PHPdoc)
  * @see baseType::save($commaId)
  * @access public
  * @param commaId
  * @ParamType commaId 
  */
 public function save($commaId)
 {
     if (Settings::getOperativeMode() == 'release') {
         echo '<br />debug save FileType';
     }
     if (is_uploaded_file($_FILES[$this->name]['tmp_name'])) {
         $filename = $_FILES[$this->name]['name'];
         $filesize = $_FILES[$this->name]['size'];
         $filetype = $_FILES[$this->name]['type'];
         $fp = fopen($_FILES[$this->name]['tmp_name'], "r");
         $buffer = file_get_contents($_FILES[$this->name]['tmp_name']);
         if (get_magic_quotes_gpc()) {
             /*
             Here instead of trim one should use stripslashes but doesn't work.
             */
             $buffer = mysql_real_escape_string(trim($buffer));
         } else {
             /*
             It could be that here something different is required.
             */
             $buffer = mysql_real_escape_string(trim($buffer));
         }
         fclose($fp);
     } else {
         $buffer = "";
         $filename = "";
         $filezize = 0;
         $filetype = "";
     }
     $buffer = isset($buffer) ? $buffer : "";
     $query .= Parser::first_comma($commaId, ", ") . "'{$buffer}'";
     $filename = isset($filename) ? $filename : "";
     $query .= Parser::first_comma($commaId, ", ") . "'{$filename}'";
     $filesize = isset($filesize) ? $filesize : "";
     $query .= Parser::first_comma($commaId, ", ") . "'{$filesize}'";
     $filetype = isset($filetype) ? $filetype : "";
     $query .= Parser::first_comma($commaId, ", ") . "'{$filetype}'";
     return $query;
 }
<?php

/**
 * Configurations inclusion
 */
require_once realpath(dirname(__FILE__)) . "/settings.inc.php";
if (Settings::getOperativeMode() == "release") {
    error_reporting(E_ERROR);
}
require_once realpath(dirname(__FILE__)) . "/config.inc.php";
require_once realpath(dirname(__FILE__)) . "/message.inc.php";
require_once realpath(dirname(__FILE__)) . "/parser.inc.php";
require_once realpath(dirname(__FILE__)) . "/db.inc.php";
//$RESERVEDWORDS = Array('page');
class beContent
{
    var $files, $selfrefs, $entities, $currentform, $comments;
    private static $instance = null;
    public static function getInstance()
    {
        if (!isset(self::$instance)) {
            self::$instance = new beContent();
        }
        return self::$instance;
    }
    function beContent()
    {
    }
}
$config = Config::getInstance()->getConfigurations();
/** SQL INJECTION PREVENTION PROCEDURE
 public function loadFromFileSystem()
 {
     $this->supportedTaglibraries = array();
     $folder_contents = scandir(realpath(dirname(__FILE__)) . "/catalog");
     $debug = Settings::getOperativeMode() != "release";
     if ($debug) {
         echo "<br><br>";
     }
     foreach ($folder_contents as $k => $v) {
         if ($v != "." && $v != "..") {
             $tagLibraryIndex = explode(".", $v)[0];
             if ($debug) {
                 var_dump($tagLibraryIndex);
             }
             if (is_dir(realpath(dirname(__FILE__) . "/catalog/" . $v))) {
                 if ($debug) {
                     echo "<br>**" . $v . " is dir<br>";
                 }
                 $this->supportedTaglibraries[$tagLibraryIndex] = new TagLibrary(null, dirname(__FILE__) . "/catalog/" . $v, "as_file_system_element");
             } else {
                 if ($debug) {
                     echo "<br>**" . $v . " is not dir<br>";
                 }
                 $this->supportedTaglibraries[$tagLibraryIndex] = new $tagLibraryIndex(null, dirname(__FILE__) . "/catalog/" . $v, "as_file_system_element");
             }
         }
     }
 }
Beispiel #11
0
 /**
  * This metod is called to insert a new instance of an entity in database
  */
 function add($baseEntity = null)
 {
     if (!isset($_REQUEST['page'])) {
         $page = 0;
     } else {
         $page = $_REQUEST['page'];
     }
     /**
      * retrieving all form elements in $_REQUEST
      */
     /*
      * FIXME
      * creazione di una nuova baseEntity da legare ad una image non funziona correttamente.
      * funziona se l'immagine è da creare ma se l'immagine è già presente non funziona correttamente
      */
     foreach ($this->elements as $k => $v) {
         if ($v->type == CHECKBOX) {
             $token = explode(":", $v->values[1]);
             if (!isset($_REQUEST[$token[1]])) {
                 $_REQUEST[$token[1]] = '';
             }
         } else {
             foreach ($_FILES as $key => $value) {
                 $_REQUEST[$key] = $value;
             }
         }
     }
     /**
      * the entity that is related to the main form
      */
     $baseEntity = $this->entity;
     /**
      * Saving
      */
     if (!$baseEntity->save($_REQUEST)) {
         /**
          * problems saving
          */
         echo Message::getInstance()->getMessage(MSG_ERROR_DATABASE_GENERIC) . " (" . basename(__FILE__) . ":" . __LINE__ . ")";
     } else {
         /*passing the key value for the just inserted entity*/
         $_REQUEST[$this->entity->fields[0]->name] = $baseEntity->instances[0]->getKeyFieldValue();
         foreach ($this->triggeredForms as $formKey => $form) {
             $form->add($baseEntity);
         }
     }
     if (Settings::getOperativeMode() == "debug") {
         echo '<br />Form add debug';
         echo '<br>form var_dump $request<br>';
         var_dump($_REQUEST);
         echo '<br />$_file ';
         var_dump($_FILES);
     }
     if (!$this->debugmode) {
         header("Location:{$_SERVER['SCRIPT_NAME']}?action=report");
     }
     return $content;
 }
Beispiel #12
0
 /**
  *
  * this method is responsible to update parameters of an entity
  *
  *
  * @access public
  * @param where_conditions
  * @param set_parameters
  * @ParamType where_conditions
  * @ParamType set_parameters
  */
 public function update($where_conditions, $set_parameters)
 {
     if (Settings::getOperativeMode() == 'release') {
         echo '<br> Entity->update var_dump set_parameters<br>';
         var_dump($set_parameters);
     }
     $query = "UPDATE {$this->name}";
     $set_clause = "";
     $where_clause = "";
     $set_check = false;
     $setId = md5(uniqid(mt_rand()));
     foreach ($set_parameters as $k => $v) {
         if ($this->existsField($k)) {
             $set_clause .= $this->getField($k)->update($setId, $v);
             $set_check = true;
         }
     }
     $whereId = md5(uniqid(mt_rand()));
     $where_check = false;
     foreach ($where_conditions as $k => $v) {
         if ($this->existsField($k)) {
             $where_clause .= $this->getField($k)->generateSelectQueryPart($v, $this->name, $whereId);
             $where_check = true;
         }
     }
     if ($set_check) {
         $query .= " SET " . $set_clause;
     }
     if ($where_check) {
         $query .= " WHERE " . $where_clause;
     }
     $query .= " ;";
     if (!$this->debugmode) {
         echo "Entity::update for " . $this->name . ", query= <br>" . $query . "<br>";
     }
     if ($set_check) {
         $turnback = mysql_query($query);
     } else {
         $turnback = $set_check;
     }
     return $turnback;
 }
 /**
  * @access public
  * @param preload
  * @ParamType preload  string
  */
 public function build($preload)
 {
     $content = "";
     switch ($this->orientation) {
         case RIGHT:
             $mainEntity = $this->form->entity->entity_1;
             $secondaryEntity = $this->form->entity->entity_2;
             $mainEntityRoleName = $this->form->entity->roleName1;
             $secondaryEntityRoleName = $this->form->entity->roleName2;
             break;
         case LEFT:
             $mainEntity = $this->form->entity->entity_2;
             $secondaryEntity = $this->form->entity->entity_1;
             $mainEntityRoleName = $this->form->entity->roleName2;
             $secondaryEntityRoleName = $this->form->entity->roleName1;
             break;
     }
     if (Settings::getOperativeMode() == 'debug') {
         echo '<br />Relation Manager Field';
         echo ' entity_1';
         var_dump($mainEntity->name);
         echo ' entity_2';
         var_dump($secondaryEntity->name);
         echo '<br />Orientation';
         echo $this->orientation;
     }
     $relAttributes = $this->form->entity->fields;
     /**
      * Retrieving all instances for this entity
      * (Observation, at this point a query filter as to be added)
      */
     $secondaryEntity->retrieveAndLink();
     if ($preload == PRELOAD && $mainEntity->loaded) {
         $where_conditions = array($mainEntity->fields[0]->name . "_" . $mainEntity->name => $mainEntity->instances[0]->getKeyFieldValue());
         $this->form->entity->retrieveAndLink($where_conditions);
     }
     foreach ($secondaryEntity->instances as $k => $instance) {
         $presentation = $secondaryEntity->getPresentation();
         $presentation = explode(", ", $presentation['fields']);
         $text = "";
         foreach ($presentation as $a => $v) {
             $text = $instance->getFieldValue($v);
         }
         $key = md5(microtime()) . "_" . $this->form->formHash;
         $name = "{$secondaryEntity->fields[0]->name}_{$secondaryEntity->name}_" . $key;
         $relationExists = false;
         $checked = "";
         $foundRelation = null;
         if ($preload == PRELOAD) {
             foreach ($this->form->entity->instances as $relationInstanceKey => $relationInstance) {
                 if ($relationInstance->getFieldValue($secondaryEntityRoleName) == $instance->getKeyFieldValue() && $relationInstance->getFieldValue($mainEntityRoleName) == $mainEntity->instances[0]->getKeyFieldValue()) {
                     $relationExists = true;
                     $foundRelation = $relationInstance;
                     $checked = 'checked';
                 }
             }
         }
         $content .= '<!--relation manager fields -->';
         $content .= '<fieldset class="items">';
         $content .= '<div id="ck-button">';
         $content .= '<label>';
         $content .= '<input class="" id="' . $name . '" type="checkbox" name="' . $name . '" value="' . $instance->getKeyFieldValue() . '"  ' . $checked . ' />';
         $content .= '<span>' . $text . '</span>';
         $content .= '</label>';
         $content .= '</div>';
         $content .= '<div class="clear">&nbsp;</div>';
         // 			$content .= '<input class="mb20 h23 no_mt" id=" '. $name.' " type="checkbox" name=" '.$name.'" value="'.$instance->getKeyFieldValue().'"checked="'.$checked.'" />';
         // 			$content .= '<label class="flt_lft line_height23 w150 right_align mr20" for="'.$name.'">'.$text.'</label>';
         // 			$content .= '<div class="clear">&nbsp;</div>';
         for ($i = 3; $i < sizeof($this->form->entity->fields); $i++) {
             $value = "";
             if ($relationExists) {
                 $value = $foundRelation->getFieldValue($this->form->entity->fields[$i]->name);
             }
             $content .= '<div class="">';
             $content .= '<label class="">' . $this->form->attributesNames[$relAttributes[$i]->name] . '</label>';
             $content .= '<input class=""  type="text" name="' . $relAttributes[$i]->name . '_' . $key . '" value="' . $value . '" />';
             $content .= '</div>';
             $content .= '<div class="clear">&nbsp;</div>';
         }
         $content .= '</fieldset>';
     }
     $relationManagerSkinlet = new Skinlet("widget/RelationManager");
     $relationManagerSkinlet->setContent("label", $this->label);
     $relationManagerSkinlet->setContent("instances", $content);
     return $relationManagerSkinlet->get();
 }
Beispiel #14
0
 /**
  * @access public
  * @param preload
  * @ParamType preload string
  */
 public function build($preload)
 {
     /**
      * retrieving the field that has the same name of the graphic element that we're creating
      */
     //$field_to_modify = $this->form->entity->getField($v['name']);
     $field_to_modify = $this->form->entity->getField($this->name);
     /**
      * Observation, this time the field is a file so four fields are involved in the operation,
      * for this reason four variables must be initialized
      */
     $field_to_modify_type = $this->form->entity->getField($v['name'] . "_type");
     $field_to_modify_filename = $this->form->entity->getField($v['name'] . "_filename");
     $field_to_modify_reference = $this->form->entity->getField($v['name'] . "_reference");
     if (Settings::getOperativeMode() == 'debug') {
         echo '<br />debug in File Field widgets ';
         echo '<br />field to modify ';
         var_dump($field_to_modify);
         echo '<br />field to modify type ';
         var_dump($field_to_modify_type);
         echo '<br />field to modify filename ';
         var_dump($field_to_modify_filename);
         echo '<br />field to modify reference ';
         var_dump($field_to_modify_reference);
         echo '<br />preload ';
         var_dump($preload);
         echo '<br />$v ';
         var_dump($v);
     }
     if ($preload) {
         if (isset($this->form->helpers[$v['name']])) {
             $content .= "    <td>{$v["label"]} <a href=# title=\"{$this->form->helpers[$v['name']]}\"><img src=\"img/form/help.gif\" class=\"helper\"></a> </td>\n";
         } else {
             $label = $v['label'];
             //$content .= '<label>'.$v["label"].'</label>';
         }
         $name = $v['name'];
         $value = $field_to_modify_filename;
         //input hidden name + value
         //$content .= "<input class=\"inl_blks cells mb20\" type=\"file\" name=\"{$v['name']}\"/>
         //              <input type=\"hidden\" name=\"{$v['name']}_hidden\" value=\"{$field_to_modify_filename}\" />\n";
         if ($_REQUEST[$v['name']]) {
             switch ($field_to_modify_type) {
                 case "image/jpeg":
                 case "image/gif":
                     /* IMAGE */
                     $content .= " <div class=\"image-show\" id=\"{$v['name']}\" >\n\n\t\t\t\t\t\t                <input type=\"text\" class=\"file\" value=\"" . $field_to_modify_filename . "\" disabled />\n\t\t\t\t\t\t                <img src=\"img/beContent/show-gray.jpg\" onClick=\"image_show('{$v['name']}')\">\n\t\t\t\t\t\t                <div id=\"{$v['name']}_img\">";
                     $content .= "<span>" . $field_to_modify_type . "</span><br />\n<img class=\"left\" src=\"show.php?token=" . md5($this->form->entity->name . $v['name']) . "&id={$_REQUEST['value']}&width=188\">\n</div>\n</div>";
                     $content .= "&nbsp; <input class=\"clear\" type=\"checkbox\" name=\"{$v['name']}_delete\" value=\"*\"> " . Message::getInstance()->getMessage(MSG_FILE_DELETE);
                     break;
                 case "video/x-flv":
                 case "application/octet-stream":
                     /*
                     FLASH VIDEO FLV
                     The extension should be checked since anything can be
                     uploaded here.
                     */
                     $content .= " <div class=\"image-show\" id=\"{$v['name']}\" >\n<input type=\"text\" class=\"file\" value=\"" . $field_to_modify_filename . "\" disabled /><img src=\"img/beContent/show-gray.jpg\" onClick=\"image_show('{$v['name']}')\">\n<div id=\"{$v['name']}_img\">\n";
                     $src = "show.php?token=" . md5($this->form->entity->name . $v['name']) . "&id={$_REQUEST['value']}";
                     $width = 200;
                     $height = 150;
                     $content .= "<script type=\"text/javascript\">\nAC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0','width','{$width}','height','{$height}','id','FLVPlayer2','src','FLVPlayer_Progressive','flashvars','&MM_ComponentVersion=1&skinName=includes/flv/players/player-unov&streamName={$src}&autoPlay=false&autoRewind=false','scale','noscale','name','FLVPlayer','salign','lt','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','FLVPlayer_Progressive' );\n</script>\n<noscript>\n<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"{$width}\" height=\"{$height}\" id=\"FLVPlayer2\">\n<param name=\"movie\" value=\"FLVPlayer_Progressive.swf\" />\n<param name=\"salign\" value=\"lt\" />\n<param name=\"scale\" value=\"noscale\" />\n<param name=\"FlashVars\" value=\"&MM_ComponentVersion=1&skinName=includes/flv/players/player-unov&streamName={$src}&autoPlay=false&autoRewind=false\" />\n<embed src=\"FLVPlayer_Progressive.swf\" flashvars=\"&MM_ComponentVersion=1&skinName=includes/flv/players/player-unov&streamName={$src}&autoPlay=false&autoRewind=false\"  scale=\"noscale\" width=\"{$width}\" height=\"{$height}\" name=\"FLVPlayer\" salign=\"LT\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash\" />\n</object>\n</noscript>\n";
                     $content .= "</div>\n";
                     break;
                 default:
                     /* UNKNOWN MIME TYPE */
                     $content .= " <div class=\"image-show\" id=\"{$v['name']}\" ><input type=\"text\" class=\"file\" value=\"" . $field_to_modify_filename . "\" disabled /><a target=\"_blank\" title=\"{$field_to_modify_filename}\" href=\"show.php?token=" . md5($this->form->entity->name . $v['name']) . "&id={$_REQUEST['value']}\"><img src=\"img/beContent/show-gray-link.jpg\"></a></div>";
                     $content .= "<input class=\"clear\" type=\"checkbox\" name=\"{$v['name']}_delete\" value=\"*\"> " . Message::getInstance()->getMessage(MSG_FILE_DELETE);
                     break;
             }
             $content .= "\n";
         } else {
             /* EMPTY */
             $content .= " <div class=\"image-show\" ><input type=\"text\" class=\"file\" value=\"" . Message::getInstance()->getMessage(MSG_FILE_NONE) . "\" disabled /><img src=\"img/beContent/show-gray-disabled.jpg\"></div> </td>\n";
             #$content .= "(".Message::getInstance()->getMessage(MSG_FILE_NONE).") </td>\n";
         }
     } else {
         if (isset($this->form->helpers[$v['name']])) {
             $content .= "    <td>{$v["label"]} <a href=# title=\"{$this->form->helpers[$v['name']]}\"><img src=\"img/form/help.gif\" class=\"helper\"></a> </td>\n";
         } else {
             echo $label = $v['label'];
             //$content .= '<label>'.$v["label"].'</label>';
         }
         //$this->name = $v['name'];
         //$content .= '<input type="file" name="'.$v['name'].'" />';
     }
     $widget = new Skinlet("widget/FileField");
     $widget->setContent("label", $this->label);
     $widget->setContent("name", $this->name);
     $widget->setContent('value', $value);
     $widget->setContent("loggedUsername", $_SESSION["user"]["username"]);
     $widget->setContent("preloadedImageId", $preloadedId);
     return $widget->get();
 }