setupCustomFields('EcmTexts'); foreach($this->field_defs as $field) { $this->field_name_map[$field['name']] = $field; } } var $new_schema = true; function get_summary_text(){ return "$this->name"; } function create_list_query($order_by, $where, $show_deleted = 0) { // Fill in the assigned_user_name $custom_join = $this->custom_fields->getJOIN(); $query = "SELECT "; $query .= "ecmtexts.* ,users.user_name as assigned_user_name"; if($custom_join) { $query .= $custom_join['select']; } $query .= " FROM ecmtexts LEFT JOIN users ON ecmtexts.assigned_user_id=users.id"; $query .= " "; if($custom_join) { $query .= $custom_join['join']; } $where_auto = '1=1'; if($show_deleted == 0) { $where_auto = " $this->table_name.deleted=0 "; } else if($show_deleted == 1) { $where_auto = " $this->table_name.deleted=1 "; } if($where != "") $query .= "where $where AND ".$where_auto; else $query .= "where ".$where_auto; if(substr_count($order_by, '.') > 0) { $query .= " ORDER BY $order_by"; } else if($order_by != "") $query .= " ORDER BY $order_by"; else $query .= " ORDER BY ecmtexts.name"; return $query; } function create_export_query($order_by, $where) { $custom_join = $this->custom_fields->getJOIN(); $query = "SELECT ecmtexts.*, users.user_name assigned_user_name"; if($custom_join) { $query .= $custom_join['select']; } $query .= " FROM ecmtexts "; $query .= " LEFT JOIN users ON ecmtexts.assigned_user_id=users.id"; if($custom_join) { $query .= $custom_join['join']; } $query .= ""; $where_auto = " ecmtexts.deleted=0 "; if($where != "") $query .= " where $where AND ".$where_auto; else $query .= " where ".$where_auto; if($order_by != "") $query .= " ORDER BY $order_by"; else $query .= " ORDER BY ecmtexts.name"; return $query; } function fill_in_additional_list_fields(){ } function fill_in_additional_detail_fields(){ //FILL IN THE ASSIGNED_USER_NAME $this->assigned_user_name = get_assigned_user_name($this->assigned_user_id); $this->created_by_name = get_assigned_user_name($this->created_by); $this->modified_by_name = get_assigned_user_name($this->modified_user_id); //$result = $this->db->query("SELECT status FROM ecmtexts WHERE id='$this->id'"); //if($result) $row = $this->db->fetchByAssoc($result); //$this->status = $row['status']; } function get_list_view_data(){ global $current_language; $this->fill_in_additional_detail_fields(); $app_list_strings = return_app_list_strings_language($current_language); $mod_strings = return_module_language($current_language, 'EcmTexts'); $the_array = parent::get_list_view_data(); // THE NEW LISTVIEW CODE ONLY FETCHES COLUMNS THAT WE'RE DISPLAYING AND NOT ALL // THE COLUMNS SO WE NEED THESE CHECKS. $the_array['NAME'] = (($this->name == "") ? "blank" : $this->name); return $the_array; } /** BUILDS A GENERIC SEARCH BASED ON THE QUERY STRING USING OR. DO NOT INCLUDE ANY $THIS-> BECAUSE THIS IS CALLED ON WITHOUT HAVING THE CLASS INSTANTIATED. */ function build_generic_where_clause ($the_query_string) { $where_clauses = Array(); $the_query_string = PearDatabase::text(from_html($the_query_string)); array_push($where_clauses, "ecmtexts.name like '$the_query_string%'"); $the_where = ""; foreach($where_clauses as $clause) { if($the_where != "") $the_where .= " or "; $the_where .= $clause; } return $the_where; } function set_notification_body($xtpl, $simplemodule) { global $mod_strings, $app_list_strings; $xtpl->assign("NAME", $simplemodule->name); $xtpl->assign("DESCRIPTION", $simplemodule->description); return $xtpl; } function bean_implements($interface) { switch($interface) { case 'ACL':return true; } return false; } function save($check_notify = FALSE) { $this->data = EcmText::encodeData($this->data); $return_id = parent::save($check_notify); return $return_id; } function retrieve($id = -1, $encode=true,$deleted=true) { parent::retrieve($id,$encode,$deleted); if(isset($this->id) && $this->id != '') { $this->data = EcmText::decodeData($this->data); } } public static function encodeData($data) { return base64_encode(serialize($data)); } static function decodeData($data) { return unserialize(base64_decode($data)); } static function SaveText($id=null,$bean_id=null,$name=null,$ecmlanguage=null,$data=array()) { if(!$name) return; if(!$ecmlanguage) { global $app_list_strings; foreach($app_list_strings['ecmlanguages_dom'] as $key => $value) { $ecmlanguage = $key; break; } } $query = "SELECT `id` FROM `ecmtexts` WHERE "; $where = array(); if($bean_id != '' && $bean_id != null) $where [] = "`bean_id` = '$bean_id'"; if($name != '' && $name != null) $where [] = "`name` = '$name'"; if($ecmlanguage != '' && $ecmlanguage != null) $where [] = "`ecmlanguage` = '$ecmlanguage'"; $query .= implode(' AND ',$where); $query .= " LIMIT 1"; $result = $GLOBALS['db']->query($query); if($result) { $row = $GLOBALS['db']->fetchByAssoc($result); if($row) { if(isset($row['id'])) if($row['id'] != '') $id = $row['id']; } } $et = new EcmText(); $et->retrieve($id); $et->bean_id = $bean_id; $et->name = $name; $et->ecmlanguage = $ecmlanguage; $et->data = $data; $return_id = $et->save(); return $return_id; } static function LoadText($id='',$bean_id='',$name='',$ecmlanguage='',$onlyId = false,$limit = 1) { $query = "SELECT `id`".((!$onlyId)?", `name`, `bean_id`, `ecmlanguage`, `data` ":"")." FROM `ecmtexts` WHERE "; $where = array(); if($bean_id != '' && $bean_id != null) $where [] = "`bean_id` = '$bean_id'"; if($name != '' && $name != null) $where [] = "`name` = '$name'"; if($ecmlanguage != '' && $ecmlanguage != null) $where [] = "`ecmlanguage` = '$ecmlanguage'"; $query .= implode(' AND ',$where); if($limit && $limit > 0) $query .= " LIMIT $limit"; $return_array = array(); $result = $GLOBALS['db']->query($query); if($result) { while($row = $GLOBALS['db']->fetchByAssoc($result)) { if(!$onlyId) $return_array [] = array( 'id' => $row['id'], 'bean_id' => $row['bean_id'], 'name' => $row['name'], 'ecmlanguage' => $row['ecmlanguage'], 'data' => EcmText::decodeData($row['data']), ); else $return_array [] = $row['id']; } } //$d = 'YToyOntzOjY6ImxhYmVscyI7YTozMDp7aTowO2E6Mzp7czo1OiJpbmRleCI7czoxOiIxIjtzOjU6ImxhYmVsIjtzOjIxOiJMQkxfUERGX0xJU1RfUE9TSVRJT04iO3M6MTE6InRyYW5zbGF0aW9uIjtzOjQ6IlBvei4iO31pOjE7YTozOntzOjU6ImluZGV4IjtzOjE6IjIiO3M6NToibGFiZWwiO3M6MTc6IkxCTF9QREZfTElTVF9DT0RFIjtzOjExOiJ0cmFuc2xhdGlvbiI7czo2OiJJbmRla3MiO31pOjI7YTozOntzOjU6ImluZGV4IjtzOjE6IjMiO3M6NToibGFiZWwiO3M6MTg6IkxCTF9QREZfTElTVF9JTUFHRSI7czoxMToidHJhbnNsYXRpb24iO3M6MDoiIjt9aTozO2E6Mzp7czo1OiJpbmRleCI7czoxOiI0IjtzOjU6ImxhYmVsIjtzOjIxOiJMQkxfUERGX0xJU1RfUVVBTlRJVFkiO3M6MTE6InRyYW5zbGF0aW9uIjtzOjc6Iklsb8WbxIciO31pOjQ7YTozOntzOjU6ImluZGV4IjtzOjE6IjUiO3M6NToibGFiZWwiO3M6MTc6IkxCTF9QREZfTElTVF9VTklUIjtzOjExOiJ0cmFuc2xhdGlvbiI7czo0OiJqLm0uIjt9aTo1O2E6Mzp7czo1OiJpbmRleCI7czoxOiI2IjtzOjU6ImxhYmVsIjtzOjI0OiJMQkxfUERGX0xJU1RfREVTQ1JJUFRJT04iO3M6MTE6InRyYW5zbGF0aW9uIjtzOjU6Ik5hendhIjt9aTo2O2E6Mzp7czo1OiJpbmRleCI7czoxOiI3IjtzOjU6ImxhYmVsIjtzOjE4OiJMQkxfUERGX0xJU1RfUFJJQ0UiO3M6MTE6InRyYW5zbGF0aW9uIjtzOjE2OiJDZW5hIGplZG4uIG5ldHRvIjt9aTo3O2E6Mzp7czo1OiJpbmRleCI7czoxOiI4IjtzOjU6ImxhYmVsIjtzOjIxOiJMQkxfUERGX0xJU1RfRElTQ09VTlQiO3M6MTE6InRyYW5zbGF0aW9uIjtzOjU6IlJhYmF0Ijt9aTo4O2E6Mzp7czo1OiJpbmRleCI7czoxOiI5IjtzOjU6ImxhYmVsIjtzOjE2OiJMQkxfUERGX0xJU1RfVkFUIjtzOjExOiJ0cmFuc2xhdGlvbiI7czozOiJWYXQiO31pOjk7YTozOntzOjU6ImluZGV4IjtzOjI6IjEwIjtzOjU6ImxhYmVsIjtzOjE4OiJMQkxfUERGX0xJU1RfVE9UQUwiO3M6MTE6InRyYW5zbGF0aW9uIjtzOjE0OiJXYXJ0b8WbYyBuZXR0byI7fWk6MTA7YTozOntzOjU6ImluZGV4IjtzOjI6IjExIjtzOjU6ImxhYmVsIjtzOjI3OiJMQkxfUERGX0xJU1RfUkVDSVBJRU5UX0NPREUiO3M6MTE6InRyYW5zbGF0aW9uIjtzOjA6IiI7fWk6MTE7YTozOntzOjU6ImluZGV4IjtzOjI6IjEyIjtzOjU6ImxhYmVsIjtzOjEzOiJMQkxfUERGX1RPVEFMIjtzOjExOiJ0cmFuc2xhdGlvbiI7czoyMToiUmF6ZW0gd2FydG/Fm8SHIG5ldHRvIjt9aToxMjthOjM6e3M6NToiaW5kZXgiO3M6MjoiMTMiO3M6NToibGFiZWwiO3M6MTY6IkxCTF9QREZfRElTQ09VTlQiO3M6MTE6InRyYW5zbGF0aW9uIjtzOjU6IlJhYmF0Ijt9aToxMzthOjM6e3M6NToiaW5kZXgiO3M6MjoiMTQiO3M6NToibGFiZWwiO3M6MTc6IkxCTF9QREZfRU5EX1RPVEFMIjtzOjExOiJ0cmFuc2xhdGlvbiI7czoyMjoiUmF6ZW0gd2FydG/Fm8SHIGJydXR0byI7fWk6MTQ7YTozOntzOjU6ImluZGV4IjtzOjI6IjE1IjtzOjU6ImxhYmVsIjtzOjExOiJMQkxfUERGX1ZBVCI7czoxMToidHJhbnNsYXRpb24iO3M6MzoiVkFUIjt9aToxNTthOjM6e3M6NToiaW5kZXgiO3M6MjoiMTYiO3M6NToibGFiZWwiO3M6MTM6IkxCTF9QREZfVkFUSUQiO3M6MTE6InRyYW5zbGF0aW9uIjtzOjM6Ik5JUCI7fWk6MTY7YTozOntzOjU6ImluZGV4IjtzOjI6IjE3IjtzOjU6ImxhYmVsIjtzOjE0OiJMQkxfUERGX05VTUJFUiI7czoxMToidHJhbnNsYXRpb24iO3M6MDoiIjt9aToxNzthOjM6e3M6NToiaW5kZXgiO3M6MjoiMTgiO3M6NToibGFiZWwiO3M6MjE6IkxCTF9QREZfREFURV9SRUdJU1RFUiI7czoxMToidHJhbnNsYXRpb24iO3M6MTY6IkRhdGEgd3lzdGF3aWVuaWEiO31pOjE4O2E6Mzp7czo1OiJpbmRleCI7czoyOiIxOSI7czo1OiJsYWJlbCI7czoyMjoiTEJMX1BERl9WQUxJRFRJTExfREFURSI7czoxMToidHJhbnNsYXRpb24iO3M6MDoiIjt9aToxOTthOjM6e3M6NToiaW5kZXgiO3M6MjoiMjAiO3M6NToibGFiZWwiO3M6MTM6IkxCTF9QREZfT1dORVIiO3M6MTE6InRyYW5zbGF0aW9uIjtzOjk6Ild5c3Rhd2nFgiI7fWk6MjA7YTozOntzOjU6ImluZGV4IjtzOjI6IjIxIjtzOjU6ImxhYmVsIjtzOjIxOiJMQkxfUERGX0RPQ1VNRU5UX05BTUUiO3M6MTE6InRyYW5zbGF0aW9uIjtzOjE0OiJaYW3Ds3dpZW5pZSBuciI7fWk6MjE7YTozOntzOjU6ImluZGV4IjtzOjI6IjIyIjtzOjU6ImxhYmVsIjtzOjEyOiJMQkxfUERGX0NPREUiO3M6MTE6InRyYW5zbGF0aW9uIjtzOjA6IiI7fWk6MjI7YTozOntzOjU6ImluZGV4IjtzOjI6IjIzIjtzOjU6ImxhYmVsIjtzOjE3OiJMQkxfUERGX1FVT1RFX0ZPUiI7czoxMToidHJhbnNsYXRpb24iO3M6MDoiIjt9aToyMzthOjM6e3M6NToiaW5kZXgiO3M6MjoiMjQiO3M6NToibGFiZWwiO3M6MTk6IkxCTF9QREZfQVNTSUdORURfVE8iO3M6MTE6InRyYW5zbGF0aW9uIjtzOjI1OiJPc29iYSBwcm93YWR6xIVjYSBzcHJhd8SZIjt9aToyNDthOjM6e3M6NToiaW5kZXgiO3M6MjoiMjUiO3M6NToibGFiZWwiO3M6MTU6IkxCTF9QREZfU0hJUF9UTyI7czoxMToidHJhbnNsYXRpb24iO3M6MTM6IkFkcmVzIGRvc3Rhd3kiO31pOjI1O2E6Mzp7czo1OiJpbmRleCI7czoyOiIyNiI7czo1OiJsYWJlbCI7czoxNjoiTEJMX1BERl9ERUxJVkVSWSI7czoxMToidHJhbnNsYXRpb24iO3M6MTU6IldhcnVua2kgZG9zdGF3eSI7fWk6MjY7YTozOntzOjU6ImluZGV4IjtzOjI6IjI3IjtzOjU6ImxhYmVsIjtzOjE5OiJMQkxfUERGX1JFQUxJWkFUSU9OIjtzOjExOiJ0cmFuc2xhdGlvbiI7czozMDoiUHJ6ZXdpZHl3YW55IHRlcm1pbiByZWFsaXphY2ppIjt9aToyNzthOjM6e3M6NToiaW5kZXgiO3M6MjoiMjgiO3M6NToibGFiZWwiO3M6MTU6IkxCTF9QREZfUEFZTUVOVCI7czoxMToidHJhbnNsYXRpb24iO3M6MTk6IldhcnVua2kgcMWCYXRub8WbY2kiO31pOjI4O2E6Mzp7czo1OiJpbmRleCI7czoyOiIyOSI7czo1OiJsYWJlbCI7czoxNToiTEJMX1BERl9DT05GSVJNIjtzOjExOiJ0cmFuc2xhdGlvbiI7czoyODoiUG90d2llcmR6ZW5pZSB6YW3Ds3dpZW5pYSBuciI7fWk6Mjk7YTozOntzOjU6ImluZGV4IjtzOjI6IjI5IjtzOjU6ImxhYmVsIjtzOjI2OiJMQkxfUERGX1BBUkVOVF9ET0NVTUVOVF9OTyI7czoxMToidHJhbnNsYXRpb24iO3M6MzI6IkRvdHljenkgUGHFhHN0d2EgemFtw7N3aWVuaWEgbnI6Ijt9fXM6NToidGV4dHMiO2E6Mjp7czo4OiJDb250YWN0cyI7YTozOntzOjExOiJoZWFkZXJfdGV4dCI7czoyNToiV2l0YWogJGNvbnRhY3RfZnVsbF9uYW1lISI7czoxMToiZm9vdGVyX3RleHQiO3M6Mjk6IlRla3N0IHBvZCB0YWJlbGthIGRsYSBDb250YWN0IjtzOjg6ImFkc190ZXh0IjtzOjQwOiJUZWtzdCBwb2dydWJpb255IHBvZCB0YWJlbGthIGRsYSBDb250YWN0Ijt9czo4OiJBY2NvdW50cyI7YTozOntzOjExOiJoZWFkZXJfdGV4dCI7czowOiIiO3M6MTE6ImZvb3Rlcl90ZXh0IjtzOjEzOiJUZWtzdCBzdG9wa2kuIjtzOjg6ImFkc190ZXh0IjtzOjE1OiJUZWtzdCBEb2RhdGtvd3kiO319fQ=='; //echo '
$return_array: ' . var_export(self::decodeData($d), true) . '
'; //echo self::encodeData(range(1,100)); return $return_array; } }