<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.3 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013 |
+ | Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
* $Id$
*
*/
class CRM_Badge_BAO_Layout extends CRM_Core_DAO_PrintLabel {
/**
- * class constructor
+ * Class constructor
*/
- function __construct() {
+ public function __construct() {
parent::__construct();
}
* @param array $params (reference ) an assoc array of name/value pairs
* @param array $defaults (reference ) an assoc array to hold the flattened values
*
- * @return object CRM_Core_DAO_PrintLabel object on success, null otherwise
- * @access public
+ * @return CRM_Core_DAO_PrintLabel object on success, null otherwise
* @static
*/
- static function retrieve(&$params, &$defaults) {
+ public static function retrieve(&$params, &$defaults) {
$printLabel = new CRM_Core_DAO_PrintLabel();
$printLabel->copyValues($params);
if ($printLabel->find(TRUE)) {
}
/**
- * update the is_active flag in the db
+ * Update the is_active flag in the db
*
* @param int $id id of the database record
* @param boolean $is_active value we want to set the is_active field
*
* @return Object DAO object on success, null otherwise
*
- * @access public
* @static
*/
- static function setIsActive($id, $is_active) {
+ public static function setIsActive($id, $is_active) {
return CRM_Core_DAO::setFieldValue('CRM_Core_DAO_PrintLabel', $id, 'is_active', $is_active);
}
/**
- * Function to add a name label
+ * Add a name label
*
* @param array $params reference array contains the values submitted by the form
- * @param array $ids reference array contains the id
*
- * @access public
* @static
*
* @return object
*/
- static function create(&$params) {
+ public static function create(&$params) {
$params['is_active'] = CRM_Utils_Array::value('is_active', $params, FALSE);
$params['is_default'] = CRM_Utils_Array::value('is_default', $params, FALSE);
$params['is_reserved'] = CRM_Utils_Array::value('is_reserved', $params, FALSE);
}
/**
- * Function to delete name labels
+ * Delete name labels
*
* @param int $printLabelId ID of the name label to be deleted.
*
- * @access public
* @static
*/
- static function del($printLabelId) {
+ public static function del($printLabelId) {
$printLabel = new CRM_Core_DAO_PrintLabel();
$printLabel->id = $printLabelId;
$printLabel->delete();
}
-}
+ /**
+ * get the list of print labels
+ *
+ * @return array list of labels
+ * @static
+ */
+ public static function getList() {
+ $printLabel = new CRM_Core_DAO_PrintLabel();
+ $printLabel->find();
+
+ $labels = array();
+ while($printLabel->fetch()) {
+ $labels[$printLabel->id] = $printLabel->title;
+ }
+ return $labels;
+ }
+
+ /**
+ * Build layout structure
+ *
+ * @param array $params associated array of submitted values
+ *
+ * @return array $formattedLayout array formatted array
+ */
+ public static function buildLayout(&$params) {
+ $layoutParams = array('id' => $params['badge_id']);
+ CRM_Badge_BAO_Layout::retrieve($layoutParams, $layoutInfo);
+
+ $formatProperties = CRM_Core_OptionGroup::getValue('name_badge', $layoutInfo['label_format_name'], 'name');
+ $layoutInfo['format'] = json_decode($formatProperties, true);
+ $layoutInfo['data'] = CRM_Badge_BAO_Layout::getDecodedData($layoutInfo['data']);
+ return $layoutInfo;
+ }
+
+ /**
+ * Decode encoded data and return as an array
+ *
+ * @param json $jsonData json object
+ *
+ * @return array associated array of decoded elements
+ * @static
+ */
+ static public function getDecodedData($jsonData) {
+ return json_decode($jsonData, true);
+ }
+}