113 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
use CRM_Myextension_ExtensionUtil as E;
 | 
						|
 | 
						|
class CRM_AddressFormat_Page_Address extends CRM_Core_Page_Basic {
 | 
						|
  /**
 | 
						|
   * The action links that we need to display for the browse screen.
 | 
						|
   *
 | 
						|
   * @var array
 | 
						|
   */
 | 
						|
  static $_links = NULL;
 | 
						|
 | 
						|
  /**
 | 
						|
   * Get BAO Name.
 | 
						|
   *
 | 
						|
   * @return string
 | 
						|
   *   Classname of BAO.
 | 
						|
   */
 | 
						|
  public function getBAOName() {
 | 
						|
    return 'CRM_Core_DAO_AddressFormat';
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Get action Links.
 | 
						|
   *
 | 
						|
   * @return array
 | 
						|
   *   (reference) of action links
 | 
						|
   */
 | 
						|
  public function &links() {
 | 
						|
    if (!(self::$_links)) {
 | 
						|
      self::$_links = [
 | 
						|
        CRM_Core_Action::UPDATE => [
 | 
						|
          'name' => ts('Edit'),
 | 
						|
          'url' => 'civicrm/country/addressformat',
 | 
						|
          'qs' => 'action=update&id=%%id%%&reset=1',
 | 
						|
          'title' => ts('Edit Address Format'),
 | 
						|
        ],
 | 
						|
        CRM_Core_Action::DELETE => [
 | 
						|
          'name' => ts('Delete'),
 | 
						|
          'url' => 'civicrm/country/addressformat',
 | 
						|
          'qs' => 'action=delete&id=%%id%%',
 | 
						|
          'title' => ts('Delete Address Format'),
 | 
						|
        ],
 | 
						|
      ];
 | 
						|
    }
 | 
						|
    return self::$_links;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Browse all address formats for country.
 | 
						|
   */
 | 
						|
  public function browse() {
 | 
						|
    $addressFormats = [];
 | 
						|
    $sql = 'SELECT caf.*, cc.name
 | 
						|
      FROM civicrm_country cc
 | 
						|
        INNER JOIN civicrm_address_format caf
 | 
						|
          ON caf.id = cc.address_format_id
 | 
						|
    ';
 | 
						|
    $dao = CRM_Core_DAO::executeQuery($sql);
 | 
						|
 | 
						|
    while ($dao->fetch()) {
 | 
						|
      $addressFormats[$dao->id] = [
 | 
						|
        'name' => $dao->name,
 | 
						|
        'format' => $dao->format,
 | 
						|
      ];
 | 
						|
      $action = array_sum(array_keys($this->links()));
 | 
						|
      $addressFormats[$dao->id]['action'] = CRM_Core_Action::formLink(
 | 
						|
        self::links(),
 | 
						|
        $action,
 | 
						|
        ['id' => $dao->id],
 | 
						|
        ts('more'),
 | 
						|
        FALSE,
 | 
						|
        'addressformat.manage.action',
 | 
						|
        'AddressFormat',
 | 
						|
        $dao->id
 | 
						|
      );
 | 
						|
    }
 | 
						|
    $this->assign('rows', $addressFormats);
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Get name of edit form.
 | 
						|
   *
 | 
						|
   * @return string
 | 
						|
   *   Classname of edit form.
 | 
						|
   */
 | 
						|
  public function editForm() {
 | 
						|
    return 'CRM_AddressFormat_Form_Address';
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Get edit form name.
 | 
						|
   *
 | 
						|
   * @return string
 | 
						|
   *   name of this page.
 | 
						|
   */
 | 
						|
  public function editName() {
 | 
						|
    return ts('Country - Address Format');
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Get user context.
 | 
						|
   *
 | 
						|
   * @param null $mode
 | 
						|
   *
 | 
						|
   * @return string
 | 
						|
   *   user context.
 | 
						|
   */
 | 
						|
  public function userContext($mode = NULL) {
 | 
						|
    return 'civicrm/country/addressformat';
 | 
						|
  }
 | 
						|
 | 
						|
}
 |