예제 #1
0
 /**
  * Checks if the given capability is a valid WordPress capability and if it is assigns it to $capability.
  *
  * @since 3.0.0
  *
  * @param string $capability The capability required for this menu to be displayed to the user.
  * @return Page
  */
 public function setCapability($capability)
 {
     if (Capability::isValid($capability)) {
         $this->capability = $capability;
     } else {
         wp_die(__("{$capability} is not a valid WordPress capability.", parent::$textDomain));
     }
     return $this;
 }
예제 #2
0
/**
 * Add uservoice javascript to campaign sites
 */
function campanha_uservoice_js()
{
    global $campaign;
    $capabilities = Capability::getByPlanId($campaign->plan_id);
    if (is_user_logged_in() && !is_super_admin() && $capabilities->support->value) {
        wp_enqueue_script('uservoice', site_url() . '/wp-content/mu-plugins/js/uservoice.js', 'jquery', false, true);
    }
}
예제 #3
0
<?php

// add menu options according to plan capabilities
global $capabilities;
$capabilities = Capability::getByPlanId($campaign->plan_id);
add_action('admin_menu', function () {
    global $capabilities;
    /*
    if ($capabilities->graphic_material->value) {
        $page = add_menu_page('Material gráfico', 'Material gráfico', 'read', 'graphic_material', function() {
            require(WPMU_PLUGIN_DIR . '/includes/graphic_material.php');
        });
        
        //TODO: refactor to remove the copy and paste code below to create the menu entries for graphic material
        $page = add_submenu_page('graphic_material', 'Santinho e colinha', 'Santinho e colinha', 'read', 'graphic_material_smallflyer', function() {
            global $campaign;
    
            if ($campaign->isPaid()) {
                require(WPMU_PLUGIN_DIR . '/includes/graphic_material_smallflyer.php');
            } else {
                print_msgs(array('error' => 'A geração de material gráfico é um recurso que está disponível somente para campanhas que já foram pagas.'));
            }
        });
        add_action('admin_print_styles-' . $page, array('GraphicMaterialManager', 'scriptsAndStyles'));
        
        $page = add_submenu_page('graphic_material', 'Flyer', 'Flyer', 'read', 'graphic_material_flyer', function() {
            global $campaign;
    
            if ($campaign->isPaid()) {
                //require(WPMU_PLUGIN_DIR . '/includes/graphic_material_flyer.php');
            } else {
 /**
  * Sets $capabilities if all capabilities are valid.
  *
  * @since 3.0.0
  *
  * @param string[] $capabilities An array of the capabilities for this post type.
  *
  * @return PostType
  */
 public function setCapabilities($capabilities)
 {
     foreach ($capabilities as $capability) {
         if (!Capability::isValid($capability)) {
             wp_die(__("{$capability} is not a valid WordPress capability."), parent::$textDomain);
         }
     }
     $this->capabilities = $capabilities;
     return $this;
 }
 public function manageCapabilities()
 {
     if ($_POST) {
         $input = Input::all();
         if (isset($input['add'])) {
             $role = Role::find($input['roleid']);
             $role->capabilities()->attach($input['capid']);
             return Redirect::action('RoleController@manageCapabilities');
         } elseif (isset($input['delete'])) {
             $role = Role::find($input['roleid']);
             $role->capabilities()->detach($input['capid']);
             return Redirect::action('RoleController@manageCapabilities');
         }
     }
     $capabilities = Capability::all();
     $this->layout->content = View::make('capability.capabilities')->with('capabilities', $capabilities);
 }
예제 #6
0
 /**
  * Set options for a new blog created when a new
  * campaign is created.
  * 
  * @param int $blogId
  * @return null
  */
 protected function setBlogOptions($blogId)
 {
     // allow search engine robots to index the campaign site
     update_blog_option($blogId, 'blog_public', 1);
     // set defaut campaign theme
     update_blog_option($blogId, 'current_theme', 'Blog 01');
     update_blog_option($blogId, 'stylesheet', 'blog-01');
     update_blog_option($blogId, 'template', 'blog-01');
     // set upload limit
     $capabilities = Capability::getByPlanId($this->plan_id);
     update_blog_option($blogId, 'blog_upload_space', $capabilities->upload_limit->value);
     // enable contact page
     update_blog_option($blogId, 'projeto_contact_enabled', 'on');
     // enable "mobilize" menu entry option
     if ($capabilities->mobilize->value) {
         update_blog_option($blogId, 'mobilize', array('general' => array('menuItem' => true)));
     }
     // rename category "sem-categoria" to "noticias"
     wp_update_category(array('cat_ID' => 1, 'cat_name' => 'Notícias', 'category_nicename' => 'noticias'));
 }
예제 #7
0
/**
*
*
*/
function jaiminho_campaignupdated($data)
{
    $plan_capabilities = Capability::getByPlanId($data['plan_id']);
    switch_to_blog($data['blog_id']);
    $opt = jaiminho_get_config();
    $limite_emails = (int) $plan_capabilities->send_messages->value * 1000;
    try {
        $output_headers = null;
        $client = new SoapClient($opt['jaiminho_url'] . '/james_bridge.php?wsdl', array('exceptions' => true));
        $resultado = $client->__soapCall('changelimits', array('apikeymaster' => $opt['jaiminho_apikey'], 'plan' => $limite_emails, 'username' => $opt['jaiminho_user']), array(), null, $output_headers);
    } catch (Exception $ex) {
        wp_die('(' . $ex->faultcode . ') ' . $ex->faultstring . ' - ' . $ex->detail);
    }
    restore_current_blog();
    return $resultado;
}
예제 #8
0
 /**
  * Set options for a new blog created when a new
  * campaign is created.
  * 
  * @param int $blogId
  * @return null
  */
 protected function setBlogOptions($blogId)
 {
     // allow search engine robots to index the campaign site
     update_blog_option($blogId, 'blog_public', 1);
     // allow change of blog model
     $model = get_user_meta(get_current_user_id(), 'blogmodel', true);
     if (empty($model)) {
         // set defaut campaign theme
         update_blog_option($blogId, 'current_theme', 'Blog 01');
         update_blog_option($blogId, 'stylesheet', 'blog-01');
         update_blog_option($blogId, 'template', 'blog-01');
     } elseif (file_exists(WPMU_PLUGIN_DIR . "/campaign_base/models/" . basename($model) . ".php")) {
         include WPMU_PLUGIN_DIR . "/campaign_base/models/" . basename($model) . ".php";
     }
     // set upload limit
     $capabilities = Capability::getByPlanId($this->plan_id);
     update_blog_option($blogId, 'blog_upload_space', $capabilities->upload_limit->value);
     // enable contact page
     update_blog_option($blogId, 'projeto_contact_enabled', 'on');
     // enable "mobilize" menu entry option
     if ($capabilities->mobilize->value) {
         update_blog_option($blogId, 'mobilize', array('general' => array('menuItem' => true)));
     }
     // rename category "sem-categoria" to "noticias"
     wp_update_category(array('cat_ID' => 1, 'cat_name' => 'Notícias', 'category_nicename' => 'noticias'));
 }