function __construct()
 {
     maxCollections::checkExpireTrans();
     foreach ($this->uses_blocks as $block_name) {
         $block = maxCollections::getBlock($block_name);
         if ($block) {
             $block->setCollection($this);
             $block->set(array());
             // defaults
             $this->blocks[$block_name] = $block;
         }
     }
 }
 static function setupHooks()
 {
     global $wpdb;
     $table = maxUtils::get_collection_table_name();
     $sql = "select collection_id, collection_key, collection_value from {$table} where \n\t\t\t\t collection_key in ('show_homepage','show_page','show_post', 'show_archive') ";
     $results = $wpdb->get_results($sql, ARRAY_A);
     $hook_array = array();
     foreach ($results as $result) {
         $id = $result["collection_id"];
         $key = $result["collection_key"];
         $placement = $result["collection_value"];
         // override - if needed you can specify a different placement for each position
         $placement = apply_filters("mb-collection-{$id}-{$key}-placement", $placement);
         switch ($placement) {
             case "after":
             case "before":
             case "after-before":
                 $show_type = "post";
                 // show on the post loop
                 break;
             case "static-left":
             case "static-right":
             case "static-top":
             case "static-bottom":
                 $show_type = "once";
                 // show once - otherwise for overviews they will be many static buttons.
                 break;
         }
         $hook_array[$show_type][$key][] = array("collection_id" => $id, "placement" => $placement);
     }
     self::$hooks = $hook_array;
     if (isset($hook_array["post"]) && count($hook_array["post"]) > 0) {
         add_filter("the_content", array('maxCollections', "doContentHooks"));
     }
     if (isset($hook_array["once"]) && count($hook_array["once"]) > 0) {
         //self::doFooterHooks(); // the stuff that goes once.
         add_action('wp_head', array('maxCollections', 'doFooterHooks'));
     }
     if (count($hook_array) > 0) {
         return true;
     } else {
         return false;
     }
     // no binds, don't check.
 }
_e("Removing this collection", "maxbuttons");
?>
</span>
<span class="remove_action_text"  style="display:none"><?php 
_e("Are you sure you want to permanently delete this collection?", "maxbuttons");
?>
</span>


<div class='collection_list'>
<?php 
foreach ($collections as $index => $data) {
    $id = $data["collection_id"];
    $name = $maxCol->get_meta($id, "collection_name");
    $name = $name["collection_name"];
    $collection = maxCollections::getCollectionById($id);
    $collection_type = $collection->getType();
    $block_nonce = wp_create_nonce('mbpro_collection_block-' . $id);
    $button_count = 0;
    $picker = $collection->getBlock("picker");
    if ($picker) {
        $picker_data = $picker->get();
        $button_count = count($picker_data["selection"]);
    }
    ?>
	
	 
	<div class='collection collection-<?php 
    echo $id;
    ?>
' data-id="<?php 
 public function collection_shortcode($atts, $content = null)
 {
     $atts = shortcode_atts(array("id" => 0, "name" => '', "nocache" => false, "mode" => "normal"), $atts);
     $id = intval($atts["id"]);
     $name = sanitize_text_field($atts["name"]);
     if ($id > 0) {
         $collection = maxCollections::getCollectionByID($id);
     } elseif ($atts["name"] != '') {
         $collection = maxCollections::getCollectionByName($name);
     }
     if ($collection) {
         return $collection->shortcode($atts, $content);
     }
 }