当前位置: 首页>>代码示例>>PHP>>正文


PHP FArrayHelper::fromObject方法代码示例

本文整理汇总了PHP中FArrayHelper::fromObject方法的典型用法代码示例。如果您正苦于以下问题:PHP FArrayHelper::fromObject方法的具体用法?PHP FArrayHelper::fromObject怎么用?PHP FArrayHelper::fromObject使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FArrayHelper的用法示例。


在下文中一共展示了FArrayHelper::fromObject方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: onAjax_download

 /**
  * Not really an AJAX call, we just use the pluginAjax method so we can run this
  * method for handling scripted downloads.
  *
  * @return  void
  */
 public function onAjax_download()
 {
     $input = $this->app->input;
     $this->setId($input->getInt('element_id'));
     $this->loadMeForAjax();
     $this->getElement();
     $params = $this->getParams();
     $url = $input->server->get('HTTP_REFERER', '', 'string');
     $this->lang->load('com_fabrik.plg.element.fabrikfileupload', JPATH_ADMINISTRATOR);
     $rowId = $input->get('rowid', '', 'string');
     $repeatCount = $input->getInt('repeatcount', 0);
     $listModel = $this->getListModel();
     $row = $listModel->getRow($rowId, false, true);
     if (!$this->canView()) {
         $this->app->enqueueMessage(FText::_('PLG_ELEMENT_FILEUPLOAD_DOWNLOAD_NO_PERMISSION'));
         $this->app->redirect($url);
         exit;
     }
     if (empty($rowId)) {
         $errMsg = FText::_('PLG_ELEMENT_FILEUPLOAD_DOWNLOAD_NO_SUCH_FILE');
         $errMsg .= FabrikHelperHTML::isDebug() ? ' (empty rowid)' : '';
         $this->app->enqueueMessage($errMsg);
         $this->app->redirect($url);
         exit;
     }
     if (empty($row)) {
         $errMsg = FText::_('PLG_ELEMENT_FILEUPLOAD_DOWNLOAD_NO_SUCH_FILE');
         $errMsg .= FabrikHelperHTML::isDebug() ? " (no such row)" : '';
         $this->app->enqueueMessage($errMsg);
         $this->app->redirect($url);
         exit;
     }
     $aclEl = $this->getFormModel()->getElement($params->get('fu_download_acl', ''), true);
     if (!empty($aclEl)) {
         $aclEl = $aclEl->getFullName();
         $aclElRaw = $aclEl . '_raw';
         $groups = $this->user->getAuthorisedViewLevels();
         $canDownload = in_array($row->{$aclElRaw}, $groups);
         if (!$canDownload) {
             $this->app->enqueueMessage(FText::_('PLG_ELEMENT_FILEUPLOAD_DOWNLOAD_NO_PERMISSION'));
             $this->app->redirect($url);
         }
     }
     $storage = $this->getStorage();
     $elName = $this->getFullName(true, false);
     $filePath = $row->{$elName};
     $filePath = FabrikWorker::JSONtoData($filePath, false);
     $filePath = is_object($filePath) ? FArrayHelper::fromObject($filePath) : (array) $filePath;
     $filePath = FArrayHelper::getValue($filePath, $repeatCount);
     $filePath = $storage->getFullPath($filePath);
     $fileContent = $storage->read($filePath);
     if ($fileContent !== false) {
         $thisFileInfo = $storage->getFileInfo($filePath);
         if ($thisFileInfo === false) {
             $errMsg = FText::_('PLG_ELEMENT_FILEUPLOAD_DOWNLOAD_NO_SUCH_FILE');
             $errMsg .= FabrikHelperHTML::isDebug(true) ? ' (path: ' . $filePath . ')' : '';
             $this->app->enqueueMessage($errMsg);
             $this->app->redirect($url);
             exit;
         }
         // Some time in the past
         header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
         header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
         header("Cache-Control: no-store, no-cache, must-revalidate");
         header("Cache-Control: post-check=0, pre-check=0", false);
         header("Pragma: no-cache");
         header('Accept-Ranges: bytes');
         header('Content-Length: ' . $thisFileInfo['filesize']);
         header('Content-Type: ' . $thisFileInfo['mime_type']);
         header('Content-Disposition: attachment; filename="' . $thisFileInfo['filename'] . '"');
         // Serve up the file
         echo $fileContent;
         // $this->downloadEmail($row, $filePath);
         $this->downloadHit($rowId, $repeatCount);
         $this->downloadLog($row, $filePath);
         // And we're done.
         exit;
     } else {
         $this->app->enqueueMessage(FText::_('PLG_ELEMENT_FILEUPLOAD_DOWNLOAD_NO_SUCH_FILE'));
         $this->app->redirect($url);
         exit;
     }
 }
开发者ID:LGBGit,项目名称:tierno,代码行数:89,代码来源:fileupload.php

示例2: replace


//.........这里部分代码省略.........
             return;
         }
         $model->setId($listId);
         $formModel = $model->getFormModel();
         $groups = $formModel->getGroupsHiarachy();
         foreach ($groups as $groupModel) {
             $elements = $groupModel->getMyElements();
             foreach ($elements as &$elementModel) {
                 // $$$ rob 26/05/2011 changed it so that you can pick up joined elements without specifying plugin
                 // param 'element' as joinx[x][fullname] but simply 'fullname'
                 if ($element == $elementModel->getFullName(true, false)) {
                     $activeEl = $elementModel;
                     continue 2;
                 }
             }
         }
         // $$$ hugh in case they have a typo in their elementname
         if (empty($activeEl) || !$activeEl->isPublished()) {
             throw new RuntimeException('You are trying to embed an element called ' . $element . ' which is not present in the list or has been unpublished');
         }
         if ($rowId === '') {
             $rows = $model->getData();
             $group = array_shift($rows);
             $row = array_shift($group);
             $res = $row->{$element};
         } else {
             $this->_setRequest($unused);
             $row = $model->getRow($rowId, false, true);
             if (substr($element, JString::strlen($element) - 4, JString::strlen($element)) !== '_raw') {
                 $element = $element . '_raw';
             }
             // $$$ hugh - need to pass all row data, or calc elements that use {placeholders} won't work
             //$defaultData = is_object($row) ? get_object_vars($row) : $row;
             $defaultData = is_object($row) ? FArrayHelper::fromObject($row, true) : $row;
             /* $$$ hugh - if we don't do this, our passed data gets blown away when render() merges the form data
              * not sure why, but apparently if you do $foo =& $bar and $bar is NULL ... $foo ends up NULL
              */
             $activeEl->getFormModel()->data = $defaultData;
             $activeEl->editable = false;
             // Set row id for things like user element
             $origRowId = $input->get('rowid');
             $input->set('rowid', $rowId);
             // Set detail view for things like youtube element
             $origView = $input->get('view');
             $input->set('view', 'details');
             $defaultData = (array) $defaultData;
             unset($activeEl->defaults);
             if ($repeatCounter === 'all') {
                 $repeat = $activeEl->getGroupModel()->repeatCount();
                 $res = array();
                 for ($j = 0; $j < $repeat; $j++) {
                     $res[] = $activeEl->render($defaultData, $j);
                 }
                 $res = count($res) > 1 ? '<ul><li>' . implode('</li><li>', $res) . '</li></ul>' : $res[0];
             } else {
                 $res = $activeEl->render($defaultData, $repeatCounter);
                 $ref = $activeEl->elementJavascript($repeatCounter);
             }
             $input->set('rowid', $origRowId);
             $input->set('view', $origView);
             $this->resetRequest();
         }
         return $res;
     }
     if (!isset($viewName)) {
         return;
开发者ID:glauberm,项目名称:cinevi,代码行数:67,代码来源:fabrik.php

示例3: onUpdateAdmin

    /**
     * From admin the user has authorize the plugin for this app.
     * Lets store the data for it.
     * As we are in a pop up window we need to set some js to update the parent window's
     * parameters
     *
     * @return  void
     */
    public function onUpdateAdmin()
    {
        $input = $this->app->input;
        $formModel = $this->buildModel($input->getInt('formid'));
        $params = $formModel->getParams();
        $renderOrder = $input->get('repeatCounter');
        $consumerKey = FArrayHelper::fromObject($params->get('twitter_consumer_key'));
        $consumerKey = $consumerKey[$renderOrder];
        $consumerSecret = FArrayHelper::fromObject($params->get('twitter_consumer_secret'));
        $consumerSecret = $consumerSecret[$renderOrder];
        $connection = new TwitterOAuth($consumerKey, $consumerSecret, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
        /* Request access tokens from twitter */
        $access_token = $connection->oauth("oauth/access_token", array("oauth_verifier" => $_REQUEST['oauth_verifier']));
        // Save the access token to the element params
        $formModel = JModelLegacy::getInstance('Form', 'FabrikFEModel');
        $formModel->setId($input->getInt('formid'));
        $row = $formModel->getForm();
        $params = $formModel->getParams();
        $opts = $params->toArray();
        $counter = $input->get('repeatCounter');
        $pairs = array('twitter_oauth_token' => 'oauth_token', 'twitter_oauth_token_secret' => 'oauth_token_secret', 'twitter_oauth_user' => 'screen_name');
        $js = array();
        $jsValues = array();
        foreach ($pairs as $paramname => $requestname) {
            $tokens = (array) FArrayHelper::getValue($opts, $paramname);
            $newtokens = array();
            for ($i = 0; $i <= $counter; $i++) {
                $newtokens[$i] = $i == $counter ? $access_token[$requestname] : '';
                $jsid = '#jform_params_' . $paramname . '-' . $i;
                //$js[] = "window.opener.document.getElement('$jsid').value = '$newtokens[$i]';";
                $jsValues[] = array($jsid, $newtokens[$i]);
            }
            $opts[$paramname] = $newtokens;
        }
        $json = json_encode($jsValues);
        $row->params = json_encode($opts);
        $row->store();
        $langFile = 'com_fabrik.plg.form.fabriktwitter';
        $this->lang->load($langFile, JPATH_ADMINISTRATOR, null, true);
        // If we had already authorized the app then we will still be in the admin page - so update the fields:
        echo FText::_('PLG_FORM_TWITTER_CREDENTIALS_SAVED');
        $document = JFactory::getDocument();
        //$script = implode("\n", $js) . "
        $script = <<<EOT
window.opener.postMessage({$json}, '*');
(function() {window.close()}).delay(4000);
EOT;
        $document->addScriptDeclaration($script);
    }
开发者ID:jfquestiaux,项目名称:fabrik,代码行数:57,代码来源:twitter.php


注:本文中的FArrayHelper::fromObject方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。