/**
  * Edit an asset source.
  *
  * @param array $variables
  *
  * @throws HttpException
  * @return null
  */
 public function actionEditSource(array $variables = array())
 {
     if (empty($variables['source'])) {
         if (!empty($variables['sourceId'])) {
             $variables['source'] = craft()->assetSources->getSourceById($variables['sourceId']);
             if (!$variables['source']) {
                 throw new HttpException(404);
             }
             $variables['sourceType'] = craft()->assetSources->populateSourceType($variables['source']);
         } else {
             $variables['source'] = new AssetSourceModel();
             $variables['sourceType'] = craft()->assetSources->getSourceType('Local');
         }
     }
     if (empty($variables['sourceType'])) {
         $variables['sourceType'] = craft()->assetSources->populateSourceType($variables['source']);
     }
     if (craft()->getEdition() == Craft::Pro) {
         $sourceTypes = craft()->assetSources->getAllSourceTypes();
         $variables['sourceTypes'] = AssetSourceTypeVariable::populateVariables($sourceTypes);
     }
     $variables['isNewSource'] = !$variables['source']->id;
     if ($variables['isNewSource']) {
         $variables['title'] = Craft::t('Create a new asset source');
     } else {
         $variables['title'] = $variables['source']->name;
     }
     $variables['crumbs'] = array(array('label' => Craft::t('Settings'), 'url' => UrlHelper::getUrl('settings')), array('label' => Craft::t('Assets'), 'url' => UrlHelper::getUrl('settings/assets')), array('label' => Craft::t('Asset Sources'), 'url' => UrlHelper::getUrl('settings/assets')));
     $variables['tabs'] = array('settings' => array('label' => Craft::t('Settings'), 'url' => '#assetsource-settings'), 'fieldlayout' => array('label' => Craft::t('Field Layout'), 'url' => '#assetsource-fieldlayout'));
     $this->renderTemplate('settings/assets/sources/_edit', $variables);
 }
 /**
  * Edit an asset source.
  *
  * @param array $variables
  * @throws HttpException
  */
 public function actionEditSource(array $variables = array())
 {
     craft()->userSession->requireAdmin();
     if (empty($variables['source'])) {
         if (!empty($variables['sourceId'])) {
             $variables['source'] = craft()->assetSources->getSourceById($variables['sourceId']);
             if (!$variables['source']) {
                 throw new HttpException(404);
             }
             $variables['sourceType'] = craft()->assetSources->populateSourceType($variables['source']);
         } else {
             $variables['source'] = new AssetSourceModel();
             $variables['sourceType'] = craft()->assetSources->getSourceType('Local');
         }
     }
     if (Craft::hasPackage(CraftPackage::Cloud)) {
         $sourceTypes = craft()->assetSources->getAllSourceTypes();
         $variables['sourceTypes'] = AssetSourceTypeVariable::populateVariables($sourceTypes);
     }
     $this->renderTemplate('settings/assets/sources/_settings', $variables);
 }