You are here

function fb_instant_articles_api_module_activation_select_fb_page in Facebook Instant Articles 7.2

Same name and namespace in other branches
  1. 7 modules/fb_instant_articles_api/includes/admin.inc \fb_instant_articles_api_module_activation_select_fb_page()

Generates Facebook Page selection state of Module Activation section

1 call to fb_instant_articles_api_module_activation_select_fb_page()
fb_instant_articles_api_module_activation in modules/fb_instant_articles_api/includes/admin.inc
Generates Module Activation section of this module's settings form

File

modules/fb_instant_articles_api/includes/admin.inc, line 146
Settings for Facebook Instant Articles API module.

Code

function fb_instant_articles_api_module_activation_select_fb_page($form) {
  $fb_app_id = variable_get('fb_instant_articles_api_app_id', '');
  $fb_app_secret = variable_get('fb_instant_articles_api_app_secret', '');
  $fb = new Facebook\Facebook([
    'app_id' => $fb_app_id,
    'app_secret' => $fb_app_secret,
    'default_graph_version' => 'v2.5',
  ]);
  $access_token_string = variable_get('fb_instant_articles_api_access_token', '');
  $expires = time() + 60 * 60 * 2;
  $access_token = new Facebook\Authentication\AccessToken($access_token_string, $expires);
  $sdk_helper = new Facebook\InstantArticles\Client\Helper($fb);
  $pages = $sdk_helper
    ->getPagesAndTokens($access_token);
  $form['fb_instant_articles_api']['module_activation'] = array(
    '#type' => 'fieldset',
    '#title' => t('Module Activation'),
    '#collapsible' => TRUE,
    '#attributes' => array(
      'style' => array(
        'width:800px',
      ),
    ),
  );
  $form['fb_instant_articles_api']['module_activation']['fb_app_settings'] = array(
    '#markup' => '
      <div>
        <p>Your Facebook App ID is <b>' . $fb_app_id . '</b>. <a href="?edit=fb_app_settings">Click here</a> to update.</p>
        <p>Select the Facebook Page where you will publish Instant Articles.</p>
      </div>
    ',
  );
  $page_options = array();
  foreach ($pages as $page) {
    array_push($page_options, $page['name']);
  }
  $form['fb_instant_articles_api']['module_activation']['fb_instant_articles_page_id'] = array(
    '#type' => 'select',
    '#options' => $page_options,
  );
  $form['fb_instant_articles_api']['module_activation']['next'] = array(
    '#type' => 'submit',
    '#value' => 'Next',
    '#submit' => array(
      'fb_instant_articles_api_fb_page_submit',
    ),
  );
  return $form;
}