Example #1
0
 /**
  * Add feed to system
  * 
  * @param Feed $feed
  */
 private function updateFeed(Feed $feed)
 {
     require_once 'Ifphp/models/Posts.php';
     $feedSource = Zend_Feed_Reader::import($feed->url);
     $posts = new Posts();
     $tdate = $feedSource->current()->getDateModified();
     $tdate = new Zend_Date($tdate);
     while ($feedSource->valid() && $tdate->toValue() > $feed->lastPing && !$posts->getByLink($feedSource->current()->getPermaLink())) {
         $tdate = $feedSource->current()->getDateModified();
         $tdate = new Zend_Date($tdate);
         $defaultFilterChain = new Zend_Filter();
         $defaultFilterChain->addFilter(new Ifphp_Filter_XSSClean());
         $defaultFilterChain->addFilter(new Zend_Filter_StringTrim());
         $defaultFilterChain->addFilter(new Zend_Filter_StripTags());
         $post = $posts->createRow();
         $post->title = $defaultFilterChain->filter($feedSource->current()->getTitle());
         $post->description = $defaultFilterChain->filter($feedSource->current()->getDescription());
         $post->feedId = $defaultFilterChain->filter($feed->id);
         $post->link = $defaultFilterChain->filter($feedSource->current()->getPermaLink());
         $post->publishDate = $tdate->toValue();
         $post->save();
         Ifphp_Controller_Front::getInstance()->getPluginBroker()->addPost($post, $feed);
         $feedSource->next();
     }
     $feed->lastPing = time();
     $feed->save();
 }
 /**
  * Ensures that filters are executed in the expected order (FIFO)
  *
  * @return void
  */
 public function testFilterOrder()
 {
     $this->_filter->addFilter(new Zend_FilterTest_LowerCase())->addFilter(new Zend_FilterTest_StripUpperCase());
     $value = 'AbC';
     $valueExpected = 'abc';
     $this->assertEquals($valueExpected, $this->_filter->filter($value));
 }
 /**
  * Save changes to an existing panel. This can be expanded to allow adding of new Panels in the future.
  *
  * @return void
  */
 protected function _savePanel()
 {
     // First of all we need to validate and sanitise the input from the form
     $urlFilter = new Zend_Filter();
     $urlFilter->addFilter(new Zend_Filter_StringTrim());
     $urlFilter->addFilter(new Zend_Filter_StringTrim('/'));
     $requiredText = new Zend_Validate();
     $requiredText->addValidator(new Zend_Validate_NotEmpty());
     $filters = array('id' => 'Digits');
     $validators = array('id' => array('allowEmpty' => true), 'content' => array('allowEmpty' => true));
     $input = new Zend_Filter_Input($filters, $validators, $_POST);
     if ($input->isValid()) {
         // Data is all valid, formatted and sanitized so we can save it in the database
         $panel = new Datasource_Cms_Panels();
         if (!$input->id) {
             // This is a new panel so we need to create a new ID
             // NOT IMPLEMENTED - YET
         } else {
             $panel->saveChanges($input->id, $input->getUnescaped('content'));
             $panelID = $input->id;
         }
         // Changes saved - so send them back with a nice success message
         $this->_helper->getHelper('FlashMessenger')->addMessage(array('saved' => true));
         $this->_helper->getHelper('Redirector')->goToUrl('/cms-admin/panels/edit?id=' . $panelID);
     } else {
         // Invalid data in form
         /*
         print_r($_POST);
         print_r($input->getErrors());
         print_r($input->getInvalid());
         */
     }
 }
 public function onAttachLink($data)
 {
     try {
         $viewer = Engine_Api::_()->user()->getViewer();
         if (Engine_Api::_()->core()->hasSubject()) {
             $subject = Engine_Api::_()->core()->getSubject();
             if ($subject->getType() != 'user') {
                 $data['parent_type'] = $subject->getType();
                 $data['parent_id'] = $subject->getIdentity();
             }
         }
         // Filter HTML
         $filter = new Zend_Filter();
         $filter->addFilter(new Engine_Filter_Censor());
         $filter->addFilter(new Engine_Filter_HtmlSpecialChars());
         if (!empty($data['title'])) {
             $data['title'] = $filter->filter($data['title']);
         }
         if (!empty($data['description'])) {
             $data['description'] = $filter->filter($data['description']);
         }
         $link = Engine_Api::_()->getApi('links', 'core')->createLink($viewer, $data);
     } catch (Exception $e) {
         throw $e;
         return;
     }
     return $link;
 }
Example #5
0
 /**
  *
  */
 protected function initNameFilter()
 {
     $filter = new ZendFilter();
     $filter->addFilter($this->getStringTrim());
     $filter->addFilter($this->getUcwords());
     $this->elements['name'] = $filter;
 }
Example #6
0
 public function filter($value)
 {
     $filterChain = new Zend_Filter();
     $filterChain->addFilter(new Zend_Filter_StripTags());
     $filterChain->addFilter(new Zend_Filter_StringTrim());
     $filterChain->addFilter(new Zend_Filter_StringToLower());
     $value = $filterChain->filter($value);
     // replace accented characters
     $replaceArray = array('á' => 'a', 'é' => 'e', 'í' => 'i', 'ó' => 'o', 'ú' => 'u', 'à' => 'a', 'è' => 'e', 'ì' => 'i', 'ò' => 'o', 'ù' => 'u', 'ä' => 'a', 'ë' => 'e', 'ï' => 'i', 'ö' => 'o', 'ü' => 'u', 'â' => 'a', 'ê' => 'e', 'î' => 'i', 'ô' => 'o', 'û' => 'u', 'ç' => 'c', 'æ' => 'ae', 'œ' => 'oe', 'å' => 'a', 'ø' => 'o', '@' => 'at', '©' => 'copyright', '€' => 'euro', '™' => 'tm', '-' => ' ', '/' => ' ', '\\' => ' ');
     $value = str_replace(array_keys($replaceArray), array_values($replaceArray), $value);
     $valueTemp = '';
     $allowedChars = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '_', ' ');
     $valueTemp = '';
     for ($i = 0; $i < strlen($value); $i++) {
         if (in_array($value[$i], $allowedChars)) {
             $valueTemp .= $value[$i];
         }
     }
     $value = $valueTemp;
     // replace double spaces
     $value = preg_replace('/\\s+/', ' ', $value);
     $filterChain = new Zend_Filter();
     $filterChain->addFilter(new Zend_Filter_StringTrim());
     $filterChain->addFilter(new Zend_Filter_Word_SeparatorToDash());
     $value = $filterChain->filter($value);
     return $value;
 }
Example #7
0
 /**
  * Normalize tag
  *
  * Ensures tag is alphanumeric characters only, and all lowercase.
  *
  * @param  string $tag
  * @return string
  */
 public function normalizeTag($tag)
 {
     if (!isset($this->_tagFilter)) {
         require_once 'Zend/Filter.php';
         require_once 'Zend/Filter/Alnum.php';
         require_once 'Zend/Filter/StringToLower.php';
         $this->_tagFilter = new Zend_Filter();
         $this->_tagFilter->addFilter(new Zend_Filter_Alnum())->addFilter(new Zend_Filter_StringToLower());
     }
     return $this->_tagFilter->filter($tag);
 }
Example #8
0
 /**
  * Run the cli application
  *
  * @return void
  */
 public function run()
 {
     $oLogger = $this->getResource('log');
     $iArgumentsAmount = $_SERVER['argc'];
     if (1 === $iArgumentsAmount) {
         echo 'Please specify the task to run' . PHP_EOL;
         $oLogger->err('Task not specified!');
         exit;
     }
     $aArguments =& $_SERVER['argv'];
     $aArguments = array_slice($aArguments, 1);
     $oFilter = new Zend_Filter();
     $oFilter->addFilter(new Zend_Filter_Word_UnderscoreToCamelCase());
     $sTaskClass = 'AM_Cli_Task_' . $oFilter->filter($aArguments[0]);
     if (!class_exists($sTaskClass)) {
         echo sprintf('Class %s not found', $sTaskClass) . PHP_EOL;
         $oLogger->err(sprintf('Class %s not found', $sTaskClass));
         exit;
     }
     try {
         $oTask = new $sTaskClass();
         $oTask->run();
     } catch (Exception $e) {
         $oLogger->err($e);
         exit;
     }
 }
Example #9
0
 protected function cleanHtml($html)
 {
     $chain = new Zend_Filter();
     $chain->addFilter(new Zend_Filter_StripTags(self::$tags));
     $chain->addFilter(new Zend_Filter_StringTrim());
     $html = $chain->filter($html);
     $tmp = $html;
     while (1) {
         $html = preg_replace('/(<[^>]*)javascript:([^>]*>)/i', '$1$2', $html);
         if ($html == $tmp) {
             break;
         }
         $tmp = $html;
     }
     return $html;
 }
Example #10
0
 /**
  * Realoca uma Imagem do Formulário
  * @param string $filename Novo Nome do Arquivo
  * @return string|boolean Resultado Obtido
  */
 protected function _realloc($prefix)
 {
     /* @var $arquivo Zend_Form_Element_File */
     $arquivo = $this->_getForm()->getElement('arquivo');
     if (is_array($arquivo->getFilename())) {
         // Não Enviado
         return false;
     }
     // Diretório Base
     $basename = APPLICATION_PATH . '/../public/images/sistema/';
     // Remover Figuras com Prefixo
     $dir = new DirectoryIterator($basename);
     foreach ($dir as $current) {
         if (preg_match('/^' . $prefix . '/', $current->getFilename())) {
             unlink($current->getRealPath());
         }
     }
     // Criação do Slug
     $filter = new Zend_Filter();
     $filter->addFilter(new Zend_Filter_StringToLower())->addFilter(new Zend_Filter_Word_SeparatorToDash());
     $slug = $filter->filter($prefix . ' ' . $arquivo->getFilename(null, false));
     // Opções para Filtro
     $options = array('target' => $basename . $slug, 'overwrite' => true);
     // Renomear Arquivo
     $rename = new Zend_Filter_File_Rename($options);
     $result = $rename->filter($arquivo->getFilename());
     return is_string($result) ? $slug : false;
 }
Example #11
0
 public function getMetadata()
 {
     $metadatas = array();
     $ccToDashedFilter = new Zend_Filter();
     $ccToDashedFilter->addFilter(new Zend_Filter_Word_CamelCaseToDash())->addFilter(new Zend_Filter_StringToLower());
     $providerRegistry = ZendL_Tool_Rpc_Provider_Registry::getInstance();
     $cliActionNames = array();
     foreach ($providerRegistry->getActions() as $action) {
         $metadatas[] = new ZendL_Tool_Rpc_Manifest_ActionMetadata(array('actionName' => $action->getName(), 'name' => 'cliActionName', 'value' => $ccToDashedFilter->filter($action->getName()), 'reference' => $action));
     }
     foreach ($providerRegistry->getProviderSignatures() as $providerSignature) {
         $group = $providerSignature->getName();
         $cliProviderName = $ccToDashedFilter->filter($group);
         $metadatas[] = new ZendL_Tool_Rpc_Manifest_ProviderMetadata(array('providerName' => $providerSignature->getName(), 'name' => 'cliProviderName', 'value' => $cliProviderName, 'reference' => $providerSignature));
         $cliSpecialtyNames = array();
         $providerSignatureSpecialties = $providerSignature->getSpecialties();
         foreach ($providerSignatureSpecialties as $specialty) {
             //$cliSpecialtyNames[$specialty] = $ccToDashedFilter->filter($specialty);
             $metadatas[] = new ZendL_Tool_Rpc_Manifest_ProviderMetadata(array('providerName' => $providerSignature->getName(), 'specialtyName' => $specialty, 'name' => 'cliSpecialtyNames', 'value' => $ccToDashedFilter->filter($specialty)));
         }
         $cliActionableMethodLongParameters = $cliActionableMethodShortParameters = array();
         $actionableMethods = $providerSignature->getActionableMethods();
         foreach ($actionableMethods as $methodName => $actionableMethodData) {
             foreach ($actionableMethodData['parameterInfo'] as $parameterName => $parameterInfoData) {
                 $cliActionableMethodLongParameters[$parameterInfoData['name']] = $ccToDashedFilter->filter($parameterInfoData['name']);
                 $cliActionableMethodShortParameters[$parameterInfoData['name']] = strtolower($parameterInfoData['name'][0]);
             }
             $metadatas[] = new ZendL_Tool_Rpc_Manifest_ProviderMetadata(array('providerName' => $providerSignature->getName(), 'specialtyName' => $actionableMethodData['specialty'], 'actionName' => $actionableMethodData['actionName'], 'name' => 'cliActionableMethodLongParameters', 'value' => $cliActionableMethodLongParameters, 'reference' => &$parameterInfoData));
             $metadatas[] = new ZendL_Tool_Rpc_Manifest_ProviderMetadata(array('providerName' => $providerSignature->getName(), 'specialtyName' => $actionableMethodData['specialty'], 'actionName' => $actionableMethodData['actionName'], 'name' => 'cliActionableMethodShortParameters', 'value' => $cliActionableMethodShortParameters, 'reference' => &$parameterInfoData));
         }
     }
     return $metadatas;
 }
Example #12
0
 /**
  * Filter data that was previously validated (input data)
  * If data was not valid, filter the error message that will
  * be output to the user (output data)
  * @access public
  * @return bool
  */
 public function filter()
 {
     $this->_data = array();
     $this->_error = array();
     $values = $this->_options['values'];
     $validator = $this->_options['validator'];
     $filter = new Zend_Filter();
     $filter->addFilter(new Zend_Filter_StringTrim());
     foreach ($values as $k => $v) {
         if ($validator->isValid($values[$k])) {
             //filter the input
             $this->_data[$k] = $filter->filter($values[$k]);
         } else {
             foreach ($validator->getMessages() as $message) {
                 //filter the output
                 $this->_error[$k] = str_replace($values[$k], $filter->filter($values[$k]), $message);
             }
         }
     }
     if (empty($this->_error)) {
         return true;
     } else {
         return false;
     }
 }
Example #13
0
 /**
  * Normalize tag
  *
  * Ensures tag is alphanumeric characters only, and all lowercase.
  *
  * @param  string $tag
  * @return string
  */
 public function normalizeTag($tag)
 {
     if (!isset($this->_tagFilter)) {
         $this->_tagFilter = new Zend_Filter();
         $this->_tagFilter->addFilter(new Zend_Filter_Alnum())->addFilter(new Zend_Filter_StringToLower());
     }
     return $this->_tagFilter->filter($tag);
 }
Example #14
0
 /**
  * @see Zend_Db_Table_Abstract::_setupTableName
  */
 protected function _setupTableName()
 {
     if (!$this->_name) {
         $oFilter = new Zend_Filter();
         $oFilter->addFilter(new Zend_Filter_Word_CamelCaseToUnderscore())->addFilter(new Zend_Filter_StringToLower());
         $this->_name = $oFilter->filter($this->_getModelName());
     }
 }
Example #15
0
 protected function _convertTableNameToClassName($tableName)
 {
     if ($this->_nameFilter == null) {
         $this->_nameFilter = new Zend_Filter();
         $this->_nameFilter->addFilter(new Zend_Filter_Word_UnderscoreToCamelCase());
     }
     return $this->_nameFilter->filter($tableName);
 }
Example #16
0
 function filter($instr)
 {
     $outstr = null;
     $filterChain = new Zend_Filter();
     $filterChain->addFilter(new Zend_Filter_StringToLower())->addFilter(new Zend_Filter_StringTrim());
     $instr = $filterChain->filter($instr);
     $outstr = str_replace(" ", "-", trim($instr));
     return $outstr;
 }
Example #17
0
 /**
  * Normalizuje ciag znakow z postaci stringa zawierajacego znaki specjalne i spacje do hasha
  *
  * @param string $value
  * @return string
  */
 public function filter($value)
 {
     $filterChain = new Zend_Filter();
     $filterChain->addFilter(new Base_Filter_NoDiacritics())->addFilter(new Zend_Filter_StringToLower());
     $value = $filterChain->filter($value);
     $value = preg_replace('/[^0-9A-Za-z-_]/', null, $value);
     $value = trim($value, '-');
     $value = trim($value, '_');
     return $value;
 }
Example #18
0
 function addFilter(Zend_Filter_Interface $filter, $column = '')
 {
     if ('' === $column) {
         parent::addFilter($filter);
     } else {
         if (!isset($this->_columnFilters[$column])) {
             $this->_columnFilters[$column] = new Zend_Filter();
         }
         $this->_columnFilters[$column]->addFilter($filter);
     }
 }
Example #19
0
 /**
  * Clear text from HTML tags and javascripts
  *
  * @param string $html
  * @return string
  */
 protected function cleanHtml($html)
 {
     $chain = new Zend_Filter();
     if ($this->isFilterTags) {
         $chain->addFilter(new Zend_Filter_StripTags(self::$tags));
     }
     $chain->addFilter(new Zend_Filter_StringTrim());
     $html = $chain->filter($html);
     $tmp = $html;
     while (1) {
         // Try and replace an occurrence of javascript:
         $html = preg_replace('/(<[^>]*)javascript:([^>]*>)/i', '$1$2', $html);
         // If nothing changed this iteration then break the loop
         if ($html == $tmp) {
             break;
         }
         $tmp = $html;
     }
     return $html;
 }
Example #20
0
 public function filter($value)
 {
     $filterChain = new Zend_Filter();
     $htmlFilter = new HausDesign_Filter_HtmlPurifier();
     $config = $htmlFilter->getConfig();
     $config->set('AutoFormat', 'AutoParagraph', true);
     $config->set('AutoFormat', 'Linkify', true);
     $filterChain->addFilter($htmlFilter);
     //$geshiFilter = new HausDesign_Filter_Geshi();
     //$filterChain->addFilter($geshiFilter);
     return $filterChain->filter($value);
 }
Example #21
0
 /**
  * Get helper name
  * @return string
  */
 public function getName()
 {
     if (is_null($this->_sName)) {
         $sClassName = get_class($this);
         $aChunks = explode('_', $sClassName);
         $this->_sName = array_pop($aChunks);
         $oFilter = new Zend_Filter();
         $oFilter->addFilter(new Zend_Filter_Word_CamelCaseToUnderscore())->addFilter(new Zend_Filter_StringToLower());
         $this->_sName = $oFilter->filter($this->_sName);
     }
     return $this->_sName;
 }
Example #22
0
 public static function filter(&$data)
 {
     $filter = new Zend_Filter();
     $filter->addFilter(new Zend_Filter_StringTrim())->addFilter(new Lds_Filter_Htmlspecialchars());
     if (is_array($data)) {
         foreach ($data as $key => $value) {
             $data[$key] = $filter->filter($value);
         }
     } else {
         $data = $filter->filter($data);
     }
 }
Example #23
0
 /**
  * Filter url given to the toaster
  *
  * @param string $pageUrl
  * @return mixed|string
  */
 public function filterUrl($pageUrl)
 {
     $filterChain = new Zend_Filter();
     $filterChain->addFilter(new Zend_Filter_PregReplace(array('match' => '/-/', 'replace' => ' ')))->addFilter(new Zend_Filter_Alnum(true))->addFilter(new Zend_Filter_StringTrim())->addFilter(new Zend_Filter_StringToLower('UTF-8'))->addFilter(new Zend_Filter_PregReplace(array('match' => '/\\s+/', 'replace' => '-')));
     // filtering the page url
     $pageUrl = $filterChain->filter($this->clean($pageUrl));
     // add .html if needed
     // TODO: in fact it always needed because of Zend_Filter_Alnum in $filterChain
     if (!preg_match('/\\.html$/', $pageUrl)) {
         $pageUrl .= '.html';
     }
     return $pageUrl;
 }
Example #24
0
 function filter($instr)
 {
     $outstr = null;
     $filterChain = new Zend_Filter();
     $filterChain->addFilter(new Zend_Filter_StringToLower())->addFilter(new Zend_Filter_StripTags())->addFilter(new Zend_Filter_StringTrim());
     $instr = $filterChain->filter($instr);
     $instr = str_replace(" ", "-", trim($instr));
     preg_match_all("/^[a-z0-9\\-\\\$]{1,}\$/", $instr, $parts);
     foreach ($parts as $part) {
         $outstr .= $part[0];
     }
     return $outstr;
 }
 /**
  * Captura um Formulário de Determinado Tipo
  * @param string Nome do Formulário
  * @return Local_Form_FormAbstract Elemento Solicitado
  */
 protected function _getFormReferencia($tipo)
 {
     // Filtro de Dados
     $filter = new Zend_Filter();
     $filter->addFilter(new Zend_Filter_StringToLower())->addFilter(new Zend_Filter_Callback('ucfirst'));
     $tipo = $filter->filter($tipo);
     // Verificação
     if (!in_array($tipo, $this->_references)) {
         throw new Zend_Controller_Action_Exception('Invalid Referencia');
     }
     $classname = 'Application_Form_Referencia_' . $tipo;
     $reflect = new Zend_Reflection_Class($classname);
     return $reflect->newInstance(array());
 }
Example #26
0
 public function filter($value)
 {
     $words = explode(',', $value);
     $filterChain = new Zend_Filter();
     $filterChain->addFilter(new Zend_Filter_StringTrim())->addFilter(new Zend_Filter_StringToLower())->addFilter(new Zend_Filter_StripNewlines())->addFilter(new Zend_Filter_Alnum(array('allowwhitespace' => true)));
     $filterd = array();
     foreach ($words as $word) {
         $word = $filterChain->filter($word);
         if (strlen($word) > 0) {
             $filterd[] = $word;
         }
     }
     return implode(',', $filterd);
 }
Example #27
0
 public function filter($value)
 {
     $filterChain = new Zend_Filter();
     $htmlFilter = new HausDesign_Filter_HtmlPurifier();
     $config = $htmlFilter->getConfig();
     $config->set('AutoFormat', 'AutoParagraph', true);
     $config->set('AutoFormat', 'Linkify', true);
     $allowed = $this->getAllowed();
     if (null !== $allowed) {
         $config->set('HTML', 'Allowed', $allowed);
     }
     $filterChain->addFilter($htmlFilter);
     //$geshiFilter = new HausDesign_Filter_Geshi();
     //$filterChain->addFilter($geshiFilter);
     return $filterChain->filter($value);
 }
Example #28
0
 /**
  * Creates resource instance by file extension
  * @param string $sResourceFilePath path to the resource's file
  * @return AM_Resource_Abstract
  * @throws AM_Resource_Exception
  */
 public static function create($sResourceFilePath)
 {
     if (!AM_Tools_Standard::getInstance()->is_file($sResourceFilePath)) {
         throw new AM_Resource_Factory_Exception(sprintf('File \'%s\' not exists', $sResourceFilePath), 501);
     }
     $sFileExtension = pathinfo($sResourceFilePath, PATHINFO_EXTENSION);
     $oFilter = new Zend_Filter();
     $oFilter->addFilter(new Zend_Filter_StringToLower(array('encoding' => 'UTF-8')));
     $sClassPostfix = ucfirst($oFilter->filter($sFileExtension));
     $sResourceClassName = AM_Resource_Abstract::RESOURCE_CONCRETE_CLASS_PREFIX . $sClassPostfix;
     $sFile = str_replace('_', DIRECTORY_SEPARATOR, $sResourceClassName) . '.php';
     if (!AM_Tools_Standard::getInstance()->isReadable($sFile)) {
         throw new AM_Resource_Factory_Exception(sprintf('Class \'%s\' not found', $sResourceClassName), 502);
     }
     /* @var $oResource AM_Resource_Abstract */
     $oResource = new $sResourceClassName($sResourceFilePath);
     return $oResource;
 }
Example #29
0
 /**
  * getMetadata() is required by the Manifest Interface.
  *
  * These are the following metadatas that will be setup:
  *
  * normalizedActionName
  *   - metadata for actions
  *   - value will be a dashed name for the action named in 'actionName'
  * normalizedProviderName
  *   - metadata for providers
  *   - value will be a dashed-name for the provider named in 'providerName'
  * normalizedProviderSpecialtyNames
  *   - metadata for providers
  * normalizedActionableMethodLongParameters
  *   - metadata for providers
  * normalizedActionableMethodShortParameters
  *   - metadata for providers
  *
  * @return array Array of Metadatas
  */
 public function getMetadata()
 {
     $metadatas = array();
     // setup the camelCase to dashed filter to use since cli expects dashed named
     $lowerFilter = new Zend_Filter();
     $lowerFilter->addFilter(new Zend_Filter_StringToLower());
     // get the registry to get the action and provider repository
     $actionRepository = $this->_registry->getActionRepository();
     $providerRepository = $this->_registry->getProviderRepository();
     // loop through all actions and create a metadata for each
     foreach ($actionRepository->getActions() as $action) {
         // each action metadata will be called
         $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array('name' => 'normalizedActionName', 'value' => $lowerFilter->filter($action->getName()), 'reference' => $action, 'actionName' => $action->getName(), 'clientName' => 'all'));
     }
     foreach ($providerRepository->getProviderSignatures() as $providerSignature) {
         // create the metadata for the provider's cliProviderName
         $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array('name' => 'normalizedProviderName', 'value' => $lowerFilter->filter($providerSignature->getName()), 'reference' => $providerSignature, 'clientName' => 'all', 'providerName' => $providerSignature->getName()));
         // create the metadatas for the per provider specialites in providerSpecaltyNames
         foreach ($providerSignature->getSpecialties() as $specialty) {
             if ($specialty == '_Global') {
                 continue;
             }
             $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array('name' => 'normalizedSpecialtyName', 'value' => $lowerFilter->filter($specialty), 'reference' => $providerSignature, 'clientName' => 'all', 'providerName' => $providerSignature->getName(), 'specialtyName' => $specialty));
         }
         // $actionableMethod is keyed by the methodName (but not used)
         foreach ($providerSignature->getActionableMethods() as $actionableMethodData) {
             $methodLongParams = array();
             $methodShortParams = array();
             // $actionableMethodData get both the long and short names
             foreach ($actionableMethodData['parameterInfo'] as $parameterInfoData) {
                 // filter to dashed
                 $methodLongParams[$parameterInfoData['name']] = $lowerFilter->filter($parameterInfoData['name']);
                 // simply lower the character, (its only 1 char after all)
                 $methodShortParams[$parameterInfoData['name']] = strtolower($parameterInfoData['name'][0]);
             }
             // create metadata for the long name cliActionableMethodLongParameters
             $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array('name' => 'normalizedActionableMethodLongParams', 'value' => $methodLongParams, 'clientName' => 'console', 'providerName' => $providerSignature->getName(), 'specialtyName' => $actionableMethodData['specialty'], 'actionName' => $actionableMethodData['actionName'], 'reference' => &$actionableMethodData));
             // create metadata for the short name cliActionableMethodShortParameters
             $metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array('name' => 'normalizedActionableMethodShortParams', 'value' => $methodShortParams, 'clientName' => 'console', 'providerName' => $providerSignature->getName(), 'specialtyName' => $actionableMethodData['specialty'], 'actionName' => $actionableMethodData['actionName'], 'reference' => &$actionableMethodData));
         }
     }
     return $metadatas;
 }
Example #30
0
 /**
  * @param  string $value
  * @return string
  */
 public static function generate($value)
 {
     $chars = array('ł‚', 'ń', 'ą', 'ę', 'ś', 'ć', 'ó', 'ż', 'ź', 'Ł', 'Ń', 'Ą', 'Ę', 'Ś', 'Ć', 'Ó', 'Ż', 'Ź', '!', '.', ':', ',', '-');
     $charsChange = array('l', 'n', 'a', 'e', 's', 'c', 'o', 'z', 'z', 'L', 'N', 'A', 'E', 'S', 'C', 'O', 'Z', 'Z', '', '', '', '', ' ');
     $value = \Zend_Filter::filterStatic(str_replace($chars, $charsChange, $value), 'StringTrim');
     $filter = new \Zend_Filter();
     $filter->addFilter(new \Zend_Filter_StringToLower())->addFilter(new \Zend_Filter_PregReplace('#([^a-zA-Z0-9\\-])#i', ''));
     $array = explode(' ', $value);
     $count = count($array);
     $i = 0;
     $string = '';
     foreach ($array as $item) {
         if (strlen($item) > 0) {
             $line = $i < $count - 1 ? '-' : '';
             $string .= $filter->filter($item) . $line;
         }
         $i++;
     }
     return (string) $string;
 }