| Type | Line | Description |
|---|---|---|
| 93 | Display custom error only if exit_on_error and script has been set |
| Type | Line | Description |
|---|---|---|
| 306 | Keep alive as long as possible | |
| 364 | Fire all which have been added already | |
| 489 | Load all lazy tables | |
| 910 | add space before, thus, we don't add spaces in to the code!!! |
| Type | Line | Description |
|---|---|---|
| 53 | ignore actions with system tag | |
| 82 | cache it only, when the $tabName is null! | |
| 119 | cache it only, when the $tabName is null! |
| Type | Line | Description |
|---|---|---|
| 53 | TABLE_UNIQUE_NAME:ACTION_CLASS_NAME:ACTION_UNIQUE_NAME => true | |
| 56 | ACTION-ID => actionRecord | |
| 66 | TABLE-ID => tableRecord | |
| 69 | Add table actions | |
| 71 | Fuman_Util_Logger::trace('table: '.$table->getUniqueName()); | |
| 72 | System tables are added separately | |
| 74 | Fuman_Util_Logger::trace('table continue: '.$table->getUniqueName()); | |
| 92 | Add non table actions | |
| 100 | Action with tables | |
| 114 | Unique actions | |
| 120 | Others | |
| 129 | Now add all to unknown which have not been added | |
| 176 | Remove empty core overview actions | |
| 199 | Container | |
| 214 | Item | |
| 216 | System table | |
| 231 | Check ACL | |
| 242 | Other | |
| 250 | Unique action | |
| 253 | Check ACL | |
| 269 | Table action | |
| 276 | Check ACL | |
| 278 | Do we have a parent and table is not hidden | |
| 283 | Do we have children | |
| 299 | Other | |
| 317 | Create default navigation item | |
| 351 | Do we have a parent and table is not hidden | |
| 356 | Do we have children | |
| 376 | Its not a big icon and added to root (this function) |
| Type | Line | Description |
|---|---|---|
| 787 | return in_array($name, self::$_getters); | |
| 803 | Remove some values |
| Type | Line | Description |
|---|---|---|
| 18 | Tables | |
| 28 | Add Fuman_Table to tables | |
| 30 | Add concrete tables | |
| 39 | Users | |
| 55 | System | |
| 75 | $system->addChild($this->createActionItem(Fuman_Registry::getActionDescriptor('app_core_action_systemcarecenter'))); | |
| 83 | Translations | |
| 102 | Search |
| Type | Line | Description |
|---|---|---|
| 176 | cast all to string (php bug width 0=='abcd') |
| Type | Line | Description |
|---|---|---|
| 113 | @todo warum escapen => model initByRequst ??? |
| Type | Line | Description |
|---|---|---|
| 239 | load elements before checks against content block | |
| 312 | @todo fugu move form fields in the theme dictionary |
| Type | Line | Description |
|---|---|---|
| 264 | Set cookie for cache handling | |
| 271 | Load default translations | |
| 401 | Only check if backend | |
| 413 | Settings in DB | |
| 447 | Settings in config.php | |
| 463 | Todo remove after some time, MySQL | |
| 474 | changes svg icon pathes | |
| 475 | Replace app/ on fuman_table icon | |
| 479 | will be removed later | |
| 483 | Replace path in navigation | |
| 498 | Tables which have to be updated before we call loadAllTables !!! | |
| 535 | Add some flags | |
| 542 | Add frontend flag | |
| 549 | ||
| 581 | Settings in DB | |
| 587 | Done | |
| 675 | Use default | |
| 857 | Fire all which have been added already | |
| 894 | $which = 'application'; | |
| 930 | Add default |
| Type | Line | Description |
|---|---|---|
| 20 | allows to overwrite the normal host matches | |
| 39 | Exact match | |
| 43 | Match | |
| 47 | Match |
| Type | Line | Description |
|---|---|---|
| 202 | //First called setDataPath will set main data path | |
| 203 | if (!defined('FUMAN_MAIN_DATA_PATH')) { | |
| 204 | define('FUMAN_MAIN_DATA_PATH', Fuman_Util_File::prependRootPath($this->_config->application->data_path, true)); | |
| 205 | } |
| Type | Line | Description |
|---|---|---|
| 111 | Set default if nothing defined | |
| 127 | Set default if nothing set | |
| 133 | Set frontend interface languages | |
| 137 | intersect with all content translation languages | |
| 164 | Init admin and frontend languages | |
| 166 | Fuman_Util_Logger::trace('URI: '.$_SERVER['REQUEST_URI']); | |
| 168 | Init from request | |
| 169 | Admin language | |
| 173 | Frontend language | |
| 178 | Fuman_Util_Logger::trace('request: backendlanguage: '.$this->getBackendInterfaceLanguage().' language: '.$this->getFrontendInterfaceLanguage()); | |
| 180 | Init from cookie | |
| 181 | Admin language | |
| 188 | Frontend language | |
| 196 | Fuman_Util_Logger::trace('cookie: backendlanguage: '.$this->getBackendInterfaceLanguage().' language: '.$this->getFrontendInterfaceLanguage()); | |
| 198 | User agent | |
| 204 | Fuman_Util_Logger::trace('lang: *'.$lang.'*'); | |
| 216 | Set languages from user agent | |
| 218 | Admin | |
| 222 | Frontend | |
| 228 | Fuman_Util_Logger::trace('agent: backendlanguage: '.$this->getBackendInterfaceLanguage().' language: '.$this->getFrontendLanguage()); | |
| 232 | Set defaults | |
| 233 | Admin | |
| 238 | Frontend | |
| 244 | Fuman_Util_Logger::trace('END backendlanguage: '.$this->getBackendInterfaceLanguage().' language: '.$this->getFrontendInterfaceLanguage()); | |
| 246 | Update languages in cookie | |
| 257 | Get the users acl only if application is ready | |
| 272 | try to create user from session | |
| 286 | Check if user still enabled or available | |
| 333 | For security reason | |
| 336 | Set hasLogin cookie | |
| 385 | Check that we vont set cookie twice per request => ugly | |
| 400 | 90 days | |
| 662 | matches popular bots | |
| 665 | matches popular mobile devices that have small screens and/or touch inputs | |
| 666 | mobile devices have regional trends; some of these will have varying popularity in Europe, Asia, and America | |
| 667 | detailed demographics are unknown, and South America, the Pacific Islands, and Africa trends might not be represented, here | |
| 670 | wap | |
| 673 | these are less common, and might not be worth checking |
| Type | Line | Description |
|---|---|---|
| 20 | Set defaults | |
| 61 | if it's a string, so we look if its a namespace or native |
| Type | Line | Description |
|---|---|---|
| 56 | Make function | |
| 66 | echo $filter.' inverted: '.$inverted.'<br>'; | |
| 68 | echo 'filter: '.$filter."\n<br>"; | |
| 75 | No filter defined |
| Type | Line | Description |
|---|---|---|
| 19 | parent::__construct($name, $parseLevel); |
| Type | Line | Description |
|---|---|---|
| 29 | $arguments = explode(':', $name); | |
| 129 | var_dump('firstValue: '.$x, 'operator: '.$operand, 'secondValue: '.$y); | |
| 135 | var_dump('firstValue: '.$x, 'operator: '.$operand, 'secondValue: '.$y); | |
| 141 | var_dump('firstValue: '.$x, 'operator: '.$operand, 'secondValue: '.$y); | |
| 147 | var_dump('firstValue: '.$x, 'operator: '.$operand, 'secondValue: '.$y); | |
| 153 | var_dump('firstValue: '.$x, 'operator: '.$operand, 'secondValue: '.$y); | |
| 159 | var_dump('firstValue: '.$x, 'operator: '.$operand, 'secondValue: '.$y); | |
| 165 | var_dump('firstValue: '.$x, 'operator: '.$operand, 'secondValue: '.$y); | |
| 171 | var_dump('firstValue: '.$x, 'operator: '.$operand, 'secondValue: '.$y); | |
| 177 | var_dump('firstValue: '.$x, 'operator: '.$operand, 'secondValue: '.$y); | |
| 183 | var_dump('firstValue: '.$x, 'operator: '.$operand, 'secondValue: '.$y); | |
| 189 | var_dump('firstValue: '.$x, 'operator: '.$operand, 'secondValue: '.$y); |
| Type | Line | Description |
|---|---|---|
| 28 | no arguments for constructor |
| Type | Line | Description |
|---|---|---|
| 35 | Set id as default | |
| 119 | name like #... | |
| 124 | Inline record edit | |
| 149 | Get value from input type | |
| 156 | name like #..., create inline translated data | |
| 159 | wrap by Fuman_Template_TranslatedData to address like #NAME._ | |
| 171 | Get value from input type | |
| 198 | Its just a {#} => table edit container | |
| 222 | value is based on Fuman_Template_TranslatedDataContainer | |
| 226 | value is based on Fuman_Template_TranslatedData | |
| 230 | not based on Fuman_Template_TranslatedData => only support #NAME |
| Type | Line | Description |
|---|---|---|
| 117 | Test | |
| 122 | Cache | |
| 135 | Fallback to default language | |
| 220 | Remove some values |
| Type | Line | Description |
|---|---|---|
| 10 | Added \S to not match spaces/line breaks at beginning => css parsing | |
| 12 | <![IGNORE[]]> | |
| 77 | For very last we add response processor (that other processor may add values to response) | |
| 150 | set new | |
| 159 | Stop | |
| 163 | Catch level 0 errors | |
| 164 | if($level==0){ | |
| 166 | } | |
| 307 | $result = '{' . $key . '}'; | |
| 342 | We want process the current data | |
| 353 | Set frontend flag | |
| 516 | init Caching | |
| 534 | Caching | |
| 548 | Change ids to file internal unique ids | |
| 551 | remove xml doc header (not valid for inline) | |
| 553 | Create unique ids | |
| 587 | $templateString = preg_replace('/\\\{/','<![IGNORE[{]]>',$templateString); | |
| 588 | $templateString = preg_replace('/\\\}/','<![IGNORE[}]]>',$templateString); | |
| 607 | concatenate/add unrecognized string part | |
| 611 | Its empty (maybe JSON) | |
| 617 | extract all strings | |
| 632 | flag, if we have a valid placeholder (part) | |
| 639 | if (substr_count($pipePart, ':') > 0 && preg_match_all(self::PLACEHOLDER_VALUE_PATTERN, $pipePart, $pipePartMatches)) { | |
| 650 | replace the placeholders with the extracted strings |
| Type | Line | Description |
|---|---|---|
| 67 | Key is null, and value object which supports __toString |
| Type | Line | Description |
|---|---|---|
| 106 | Fuman_Util_Logger::trace('read hier ... '.$this->_sessionNamespacePrefix); | |
| 110 | Reset auth container => logout | |
| 111 | Because the php-session will be updated on every request, we have to manage this internally | |
| 113 | Session expired | |
| 119 | Create auth container | |
| 133 | Fuman_Util_Logger::trace('session',$this->_data); |
| Type | Line | Description |
|---|---|---|
| 67 | www.w3.org/Protocols/rfc2616/rfc2616-sec6.html | |
| 236 | Update last access of session | |
| 251 | when we can't handle «not found» exception, kill | |
| 253 | Finish immediately that surrounding content wont be rendered | |
| 259 | We wont reroute if its not a html response |
| Type | Line | Description |
|---|---|---|
| 249 | ' : '') . $parsedSockedUri['host'], $port, $errno, $errstr, $this->_timeout); | |
| 265 | Body set => POST | |
| 270 | Method undefined or POST | |
| 312 | Set default | |
| 352 | Rearrange blobs | |
| 355 | Change end just to line break (=> except last) | |
| 365 | var_dump($parsedProxyUri); | |
| 369 | ' . $parsedUri['host'] . ':' . ($parsedUri['port'] ? $parsedUri['port'] : '80'); | |
| 381 | var_dump($parsedUri); | |
| 418 | Fuman_Util_Logger::trace('request header ('.$this->_uri.')',$header); | |
| 420 | echo $header.'<br>'; | |
| 422 | return; | |
| 428 | echo $this->_body; | |
| 434 | var_dump($blobs); | |
| 437 | echo $blob->start; | |
| 441 | Write file | |
| 450 | echo isset($blob->data) ? $blob->data : $blob->value; | |
| 454 | echo $blob->end; | |
| 460 | Read response | |
| 462 | Header | |
| 465 | echo $line.'<br>'; | |
| 473 | var_dump($matches); |
| Type | Line | Description |
|---|---|---|
| 155 | www.sitemaps.org/schemas/sitemap/0.9\" \n"; | |
| 156 | www.w3.org/1999/xhtml\" \n"; | |
| 157 | www.google.com/schemas/sitemap-image/1.1\" \n"; | |
| 158 | www.sitemaps.org/schemas/sitemap-video/1.1\">\n"; |
| Type | Line | Description |
|---|---|---|
| 61 | echo $file.'<br>'; | |
| 67 | Collect dependencies per file not per class ! | |
| 99 | break; | |
| 104 | Remove all classes from dependencies which are not in this dir | |
| 140 | echo $className."\n"; | |
| 143 | echo 'continue 1: '.$className."\n"; | |
| 147 | echo 'continue 2: '.$className."\n"; | |
| 172 | Remove comment | |
| 174 | Remove php tags | |
| 178 | echo '//PACK: *'.$className.'* '.$r['file'].' : '.$r['dependencies_count'].' : '.((is_array($r['dependencies'])&&count($r['dependencies'])>0)?implode(',',$r['dependencies']):'-')."\n"; | |
| 187 | No progress | |
| 206 | packed: ' . date('Y-m-d H:i:s') . ', ' . sprintf('%.2f', (strlen($packedSource) / $totalSize) * 100) . '%' . "\n" . $packedSource; |
| Type | Line | Description |
|---|---|---|
| 23 | Fix quotes | |
| 29 | Fix braces | |
| 43 | Get rid of commas | |
| 46 | get rid of single character words | |
| 49 | Get rid of single character words | |
| 52 | Get rid of extra spaces | |
| 93 | echo 'phrase: '.((bool)$negotiate).':'.$currentOperator.':'.$phrase.'<br>'."\n"; | |
| 117 | echo 'inner: '.((bool)$negotiate).':'.$currentOperator.':'.$inner.'<br>'."\n"; | |
| 173 | echo 'word: '.((bool)$negotiate).':'.$currentOperator.':'.$word.'<br>'."\n"; | |
| 192 | break; |
| Type | Line | Description |
|---|---|---|
| 8 | lessphp.gpeasy.com/ | |
| 27 | lesscss.org/#-color-functions | |
| 66 | $this->SetImportDirs(array(FUMAN_ROOT_PATH)); | |
| 141 | if (!$this->importDisabled) { | |
| 160 | } | |
| 195 | ||
| 196 | /** | |
| 197 | * Find import | |
| 198 | * | |
| 199 | * @param string $url | |
| 200 | * @return null|string | |
| 201 | */ | |
| 202 | function findImport($url) { | |
| 203 | $dirs = (array)$this->importDir; | |
| 204 | array_push($dirs, FUMAN_ROOT_PATH); | |
| 205 | foreach ($dirs as $dir) { | |
| 206 | $full = $dir . (substr($dir, -1) != '/' ? '/' : '') . $url; | |
| 207 | if ($this->fileExists($file = $full . '.less') || $this->fileExists($file = $full)) { | |
| 208 | return $file; | |
| 209 | } | |
| 210 | } | |
| 211 | ||
| 212 | return null; | |
| 213 | } | |
| 227 | /** | |
| 228 | * LessC wrapper | |
| 229 | * | |
| 230 | * @version $Id: Less.php 36602 2014-12-03 11:03:01Z simon $ | |
| 231 | */ | |
| 232 | class Fuman_Util_Less_Parser extends lessc_parser { | |
| 233 | /** | |
| 234 | * Parse | |
| 235 | * | |
| 236 | * @param string $buffer | |
| 237 | * @return mixed @ishacky | |
| 238 | */ | |
| 239 | public function parse($buffer) { | |
| 240 | $buffer = preg_replace_callback('/^@import_from_config\s+(.*);$/imU', array($this->lessc, 'importFromConfig'), $buffer); | |
| 241 | return parent::parse($buffer); | |
| 242 | } | |
| 243 | } |
| Type | Line | Description |
|---|---|---|
| 138 | Remove special chars | |
| 143 | Replace html special chars | |
| 145 | remove all &xxxxx; | |
| 147 | since ' and " are translated to numeric values just remove any numerical html entities | |
| 149 | remove non ascii | |
| 151 | remove unwanted chars | |
| 167 | replace unwanted chars by - | |
| 169 | compact | |
| 171 | trim | |
| 195 | Remove divisors | |
| 210 | Get format for constant | |
| 275 | Extract divisors | |
| 349 | We will only join if we have an enclosure | |
| 352 | lineBreak and enclosure defined | |
| 357 | Join internally broken lines again | |
| 359 | First line | |
| 382 | Remove empty lines at end of file | |
| 390 | return $lines; | |
| 421 | enclosure and escape defined |
| Type | Line | Description |
|---|---|---|
| 28 | Always use "." for floats. | |
| 43 | Check if associative | |
| 53 | prevent template _super recursions | |
| 54 | if(isset($data->_super)){ | |
| 55 | if(Fuman_Util::inObject($data,$data->_super) !== false) { | |
| 56 | unset($data->_super); | |
| 57 | throw new Fuman_Exception('template var _super detected and removed for preventing recursions'); | |
| 58 | Fuman_Util_Logger::error('template var _super detected and removed for preventing recursions', $data); | |
| 59 | } | |
| 60 | } | |
| 115 | escape apostrophe, remove linebreaks and newlines | |
| 121 | will be replaced by the appropriate prefix, current host will be added if requested | |
| 129 | i', $uri)) { | |
| 131 | i', $rootUri, $uri); | |
| 134 | ') == false) { | |
| 136 | ') == false) { | |
| 156 | ' . $_SERVER['HTTP_HOST']; | |
| 210 | replace unwanted chars by - | |
| 212 | compact | |
| 214 | trim | |
| 261 | Scramble email | |
| 310 | ) | |
| 318 | ', 0, 8, true) === 0) { |
| Type | Line | Description |
|---|---|---|
| 9 | Emergency: system is unusable | |
| 10 | Alert: action must be taken immediately | |
| 11 | Critical: critical conditions | |
| 12 | Error: error conditions | |
| 13 | Warning: warning conditions | |
| 14 | Notice: normal but significant condition | |
| 15 | Informational: informational messages | |
| 16 | Debug: debug messages | |
| 18 | Trace | |
| 100 | fail silently | |
| 101 | throw; | |
| 163 | var_dump($v['args']); | |
| 443 | code.google.com/p/prado3/source/browse/tags/3.1.9/framework/Util/TVarDumper.php |
| Type | Line | Description |
|---|---|---|
| 21 | replace unwanted chars by - | |
| 23 | compact - | |
| 25 | trim | |
| 419 | svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types) |
| Type | Line | Description |
|---|---|---|
| 5 | garetjax.info/projects/browscap/ | |
| 71 | browsers.garykeith.com/stream.asp?BrowsCapINI'; | |
| 72 | browsers.garykeith.com/versions/version-date.asp'; | |
| 74 | 5 days | |
| 75 | 2 hours | |
| 151 | has to be set to reach E_STRICT compatibility, does not affect system/app settings | |
| 164 | Is the cache dir really the directory or is it directly the file? | |
| 186 | Load the cache at the first request | |
| 191 | Set the interval only if needed | |
| 199 | Find out if the cache needs to be updated | |
| 206 | Adjust the filemtime to the $errorInterval | |
| 215 | Automatically detect the useragent | |
| 229 | Original useragent | |
| 251 | Add the keys for each property | |
| 281 | Choose the right url | |
| 294 | Try parse ini file | |
| 311 | Load defaults if ini seems to bee invalid | |
| 313 | echo 'load defaults'."\n"; | |
| 317 | Default browser definitions | |
| 433 | Save the keys lowercased if needed | |
| 438 | Set cache loaded | |
| 442 | Get the whole PHP code | |
| 445 | Save and return | |
| 465 | echo 'cacheError: '.$a.' '.$b.' '.$c.'<br>'; | |
| 486 | Included | |
| 532 | Check version | |
| 548 | No update needed, return | |
| 554 | Get updated .ini file | |
| 556 | Check format | |
| 558 | Try update later | |
| 574 | Ok, lets read the file | |
| 581 | We are not in local mode | |
| 629 | Caches the result | |
| 641 | For last because we cant set a timeout here | |
| 669 | echo 'getRemoteData '.$this->_getUpdateMethod().' '.$url."\n"; | |
| 684 | else try with the next possibility (break omitted) | |
| 726 | else try with the next possibility | |
| 742 | else try with the next possibility | |
| 779 | Wont work if no permission | |
| 786 | Will work |
| Type | Line | Description |
|---|---|---|
| 1206 | Try get value from preference | |
| 1220 | First try set order by request | |
| 1233 | Now, let input types modify meta | |
| 1454 | Acl table subset defined | |
| 1460 | Now, let input types modify meta | |
| 1478 | } |
| Type | Line | Description |
|---|---|---|
| 88 | We do not add items which are not online, except if user logged in |
| Type | Line | Description |
|---|---|---|
| 137 | allow action mocking | |
| 150 | Frontend data found |
| Type | Line | Description |
|---|---|---|
| 162 | preg_match_all('/(([0-9]{1,})-{1}){0,1}([a-z0-9-_\(\)@]){1,}-{1}([0-9]{1,})(\.html|\/){1}/m', $uri, $matches); |
| Type | Line | Description |
|---|---|---|
| 26 | Nothing found | |
| 29 | Any path set | |
| 42 | Still null | |
| 55 | Set not found if any is offline | |
| 74 | Nothing found | |
| 75 | throw new Exception('Sitemap is empty'); |
| Type | Line | Description |
|---|---|---|
| 126 | Important :) | |
| 129 | Check all possible meta-tags | |
| 144 | Set correct meta-title | |
| 159 | Set url | |
| 164 | Check image if host is set. | |
| 189 | ') === false) { | |
| 190 | ' . $host; |
| Type | Line | Description |
|---|---|---|
| 32 | Frontend theme has to be registered first => default | |
| 40 | Add admin navigation | |
| 61 | We always have to add backend uri builder because of Config.addUriByActionClassName |
| Type | Line | Description |
|---|---|---|
| 111 | Fuman_Util_Logger::error('$_SESSION already closed'); |
| Type | Line | Description |
|---|---|---|
| 27 | php.net/manual/en/iterator.current.php | |
| 39 | php.net/manual/en/iterator.next.php | |
| 51 | php.net/manual/en/iterator.key.php | |
| 63 | php.net/manual/en/iterator.valid.php | |
| 76 | php.net/manual/en/iterator.rewind.php | |
| 88 | php.net/manual/en/countable.count.php | |
| 114 | php.net/manual/en/arrayaccess.offsetexists.php | |
| 132 | php.net/manual/en/arrayaccess.offsetget.php | |
| 147 | php.net/manual/en/arrayaccess.offsetset.php | |
| 169 | php.net/manual/en/arrayaccess.offsetunset.php |
| Type | Line | Description |
|---|---|---|
| 23 | $this->addModule('mime_magic'); | |
| 27 | $this->addModule('imagick'); |
| Type | Line | Description |
|---|---|---|
| 23 | ') == false) { | |
| 27 | Check config | |
| 59 | Check php execution in upload/download files folder | |
| 65 | We do not use FUMAN_WEB_FILES_ROOT because we will check it directly |
| Type | Line | Description |
|---|---|---|
| 41 | 30 days | |
| 61 | 1 hour | |
| 67 | Clean up response key log | |
| 74 | Clean up unknown | |
| 77 | File is in temp dir itself and end with fuman | |
| 81 | 1 hour | |
| 89 | Remove empty dirs | |
| 104 | 1 hour | |
| 124 | 1 hour |
| Type | Line | Description |
|---|---|---|
| 59 | Next loop | |
| 65 | Current loop | |
| 90 | $deleteCache = true; | |
| 95 | Check | |
| 104 | Restart | |
| 113 | Wait |
| Type | Line | Description |
|---|---|---|
| 117 | Just store first matching | |
| 223 | Define used sql objects | |
| 253 | check if db engine is MYISAM (inodb don't suppord fulltext) | |
| 261 | add fulltext: ALTER TABLE `fuman_searchindex` ADD FULLTEXT (`value_de`) | |
| 309 | Delete unused | |
| 335 | http://dev.mysql.com/tech-translations/articles/full-text-revealed.html | |
| 336 | http://devzone.zend.com/article/1304 | |
| 341 | $sql .= '(MATCH(' . $this->prepareColumnName($columnName) . ') AGAINST(' . $key . ' IN BOOLEAN MODE))'; | |
| 346 | First test in boolean mode , then get ranking as float |
| Type | Line | Description |
|---|---|---|
| 124 | Just store first matching | |
| 208 | Get first row to have a default ordering | |
| 222 | Not all drivers support lastInsertId | |
| 245 | TODO: Implement reorderSequence() method. | |
| 253 | TODO: Implement getFullTextRankingQuery() method. | |
| 263 | TODO: Implement manageSearchIndexManyToManyTriggers() method. | |
| TODO | 11 | stefan (LOW, 14.3.2013) finish implementation and test |
| Type | Line | Description |
|---|---|---|
| 94 | Disable persistent if tracing | |
| 115 | Fuman_Util_Logger::trace('db connect: '.get_class($this).' '.$this->_dbConfig->username.'@'.$connectionString.' ; driver options: ',array('config'=>$this->_dbConfig, 'options'=>$driverOptions)); | |
| 337 | Fuman_Util_Logger::trace('decode: '.$value.' '.$this->_convertStringEncoding.' '.$dataType->getPhpType()); | |
| 500 | Create | |
| 518 | Update | |
| 531 | Change | |
| 533 | Only on system tables | |
| 544 | We do not change an type | |
| 551 | Add | |
| 715 | Add primary for where clause | |
| 980 | Add where | |
| 985 | Add order | |
| 988 | Add limit | |
| 1083 | $joinColumnSql = ''; | |
| 1088 | $columnList = $join->getColumnList(); | |
| 1090 | if($columnList->hasColumnNames() || $columnList->selectFromTable()){ | |
| 1091 | $joinColumnSql .= ', ' . $this->getColumnSQL($join->getTable(), $parameters, $columnList, $join->getAlias()); | |
| 1092 | } | |
| 1303 | Do we have any adds or deletes | |
| 1319 | Rebuild every 12 hours, otherwise do nothing | |
| 1321 | Only sync | |
| 1329 | ||
| 1330 | Update/Insert by lastupdate | |
| 1331 | ||
| 1339 | Fuman_Util_Logger::trace('maxLastUpdate: '.$table->getName().' '.$state->maxLastUpdate.' '.date('d.m.Y h:i:s',$state->maxLastUpdate)); | |
| 1358 | Find available records | |
| 1377 | Update | |
| 1379 | Fuman_Util_Logger::trace('do update...'); | |
| 1383 | Insert | |
| 1385 | Fuman_Util_Logger::trace('do insert...'); | |
| 1395 | Finished | |
| 1403 | ||
| 1404 | Find records which have been deleted | |
| 1405 | Using a binary search | |
| 1406 | ||
| 1408 | Fuman_Util_Logger::trace('searchIndex: '.$state->syncState); | |
| 1410 | ||
| 1411 | Find records which have been deleted | |
| 1412 | Using a "binary search" | |
| 1413 | ||
| 1416 | Initialized | |
| 1419 | Fuman_Util_Logger::trace('init stat: '.$table->getUniqueName()); | |
| 1424 | Fuman_Util_Logger::trace('values',$values); | |
| 1425 | Fuman_Util_Logger::trace('index values',$indexValues); | |
| 1427 | End | |
| 1433 | End | |
| 1443 | Fuman_Util_Logger::trace('stat',$state->syncStat); | |
| 1446 | End | |
| 1459 | Fuman_Util_Logger::trace('stat',$state->syncStat); | |
| 1462 | $logPrefix = str_repeat(' ',$state->syncStat->currentDepth); | |
| 1467 | Fuman_Util_Logger::trace($logPrefix.'blockPos: ' . $state->syncStat->blockPos . ' blockSize: ' . $blockSize . ' blocks: ' . $state->syncStat->blocks.' depth: '.$state->syncStat->depth.' currentDepth: '.$state->syncStat->currentDepth.' ('.($state->syncStat->depth - $state->syncStat->currentDepth).')'); | |
| 1471 | do not process if min > stat_max | |
| 1473 | Fuman_Util_Logger::trace('continue'); | |
| 1485 | Fuman_Util_Logger::trace('depth: '.$state->syncStat->depth.' current: '.$state->syncStat->currentDepth); | |
| 1486 | Fuman_Util_Logger::trace('values 1',$values); | |
| 1487 | Fuman_Util_Logger::trace('index values 1',$indexValues); | |
| 1491 | Fuman_Util_Logger::trace('has diff depth: '.$state->syncStat->depth.' currentDepth: '.$state->syncStat->currentDepth.' blockPos: ' . $state->syncStat->blockPos . ' blockSize: ' . $blockSize . ' blocks: ' . $state->syncStat->blocks); | |
| 1493 | Fuman_Util_Logger::trace('has diff'); | |
| 1495 | Fuman_Util_Logger::trace($logPrefix.'diff min: '.$min.' max: '.$max); | |
| 1499 | Fuman_Util_Logger::trace($logPrefix.'sync min: '.$min.' max: '.$max); | |
| 1503 | Check deletes | |
| 1525 | Fuman_Util_Logger::trace('sql: '.$sql); | |
| 1539 | Fuman_Util_Logger::trace('ids: ',$ids); | |
| 1550 | Inserts | |
| 1567 | Fuman_Util_Logger::trace('$newIds: '.$table->getUniqueName(),$newIds); | |
| 1568 | Fuman_Util_Logger::trace('$searchIndexIds: '.$table->getUniqueName(),$searchIndexIds); | |
| 1573 | Fuman_Util_Logger::trace('$searchIndexDuplicateIds: '.$table->getUniqueName(),$searchIndexDuplicateIds); | |
| 1609 | Fuman_Util_Logger::trace($logPrefix.'equal min: '.$min.' max: '.$max); | |
| 1616 | Find depth | |
| 1635 | Fuman_Util_Logger::trace('syncStat: ',$state->syncStat); | |
| 1637 | End | |
| 1643 | State >= 2 | |
| 1893 | return; | |
| 1930 | Default | |
| TODO | 1079 | optimize sql queries (now sql join columns are ignored |
| Type | Line | Description |
|---|---|---|
| 48 | Fuman_Util_Logger::trace('record: '.$c, $record->getColumnValues()); |
| Type | Line | Description |
|---|---|---|
| 95 | Record already initialized, return | |
| 105 | No values set | |
| 114 | Convert values from database into php-type | |
| 116 | Fuman_Util_Logger::trace($table->getUniqueName().' '.$columnName.'=>'.$value); | |
| 301 | invalidate Cache | |
| 305 | if primary value is set, update uid | |
| 419 | Validate by validation groups | |
| 427 | Convert inputtype unique name to default column name | |
| 462 | Remove errors on columns | |
| 556 | Init | |
| 573 | Init call | |
| 576 | Fuman_Util_Logger::trace('load all tables ###########################'); | |
| 579 | Recursion ? | |
| 582 | Fuman_Util_Logger::trace('aborted ###########################'); | |
| 588 | Fuman_Util_Logger::trace('delete ###########################'); | |
| 592 | Fuman_Util_Logger::trace('return ###########################'); | |
| 600 | Reset visited records | |
| 606 | Fuman_Util_Logger::trace('delete 2 ###########################'); | |
| 621 | Fuman_Util_Logger::trace($logIndent.'delete '.$this->getTable()->getUniqueName().':'.$this->getPrimaryValue()); | |
| 623 | return; | |
| 680 | Fuman_Util_Logger::trace($logIndent.'record validate delete: '.$this->getTable()->getUniqueName().' '.$this->getPrimaryValue()); | |
| 689 | Fuman_Util_Logger::trace($logIndent.' '.$column->getRelationInfo().' : *'.$column->getDeleteBehaviour().'*'); | |
| 859 | @todo clean up | |
| 914 | Init call | |
| 918 | Recursion ? | |
| 929 | skip | |
| 945 | Remove unused level | |
| 954 | $parts[] = $this->getPrimaryValue(); |
| Type | Line | Description |
|---|---|---|
| 76 | Get first | |
| 102 | Add | |
| 106 | Remove | |
| 118 | Filter |
| Type | Line | Description |
|---|---|---|
| 41 | Create fake | |
| 133 | Remove first => default | |
| 196 | check the config, if an other db is set for this systemtable |
| Type | Line | Description |
|---|---|---|
| 116 | We only create a lock if a user is available and session is available | |
| 131 | Create new | |
| 157 | We only create a lock if a user is available and session is available | |
| 174 | We only create a lock if a user is available and session is available | |
| 198 | We only create a lock if a user is available and session is available |
| Type | Line | Description |
|---|---|---|
| 141 | $path = FUMAN_MAIN_DATA_PATH.'searchindex/'.$name.'.xml'; | |
| 142 | Fuman_Util_Logger::trace('hier: '.$path.' '.file_exists($path)); | |
| 330 | ||
| 331 | Collect tables | |
| 332 | ||
| 343 | Find searchable columns | |
| 356 | Mapping table does not contain primary column | |
| 377 | Noting found | |
| 388 | ||
| 389 | State 1,2,3 will be executed only once per session ! | |
| 390 | All actions are paged over multiple calls (using session) | |
| 391 | ||
| 393 | State: 0 | |
| 394 | Manage triggers for mapping tables | |
| 395 | Using: db->manageSearchIndexManyToManyTriggers | |
| 401 | tableUniqueName:inputTypeUniqueName | |
| 418 | Get database of fire [0] inputtype | |
| 427 | State: 1 | |
| 428 | Mark all records of not defined tables as "delete" | |
| 439 | State: 2 | |
| 440 | Check if the searchable columns have been changed (compared with searchindex_searchable record) | |
| 441 | Mark the changed records for update including dependencies | |
| 482 | Find break points which point to the current table | |
| 497 | Check if changed since last run | |
| 517 | All tables processed, next state | |
| 521 | Reset (memory usage) | |
| 527 | State: 3 | |
| 528 | Synchronize index (find any inserted/updated/deleted records in tables) | |
| 529 | Using: db->synchronizeSearchIndex | |
| 539 | Synchronize tables | |
| 544 | Fuman_Util_Logger::trace('current: '.$currentTableName); | |
| 559 | Finished | |
| 562 | Reset (memory usage) | |
| 567 | State: 4 | |
| 568 | Crawl through records and collect data | |
| 574 | Check every 5min | |
| 606 | Restart after max 15min | |
| 611 | Finished (wait a moment) | |
| 625 | Fuman_Util_Logger::trace('currentTableName: '.$currentTableName);//, $indexRecord->getColumnValues()); | |
| 632 | Update dependencies | |
| 639 | Status delete or table not defined | |
| 649 | Fuman_Util_Logger::trace('record: '.$indexRecord->getValue('record_id')); | |
| 654 | Fuman_Util_Logger::debug('record('.$currentTableName.'): '.$searchContent->getText().' DEPENDENCIES: '.$searchContent->getDependencies(false).'|||'.$searchContent->getDependencies(true)); | |
| 669 | Reset | |
| 701 | Not found | |
| 708 | Finished with unknown | |
| 716 | Continue immediately | |
| 726 | Reset all |
| Type | Line | Description |
|---|---|---|
| 29 | First admin then frontend (because it is easier to pass language param in frontend | |
| 111 | Only load translations if its not a subclass | |
| 112 | when remove, update hostadmin translation table | |
| 200 | Try to find it in different language | |
| 260 | Delete http output cache | |
| 274 | Delete http output cache | |
| 312 | Get lastupdate of translations | |
| 351 | Get translations from cache | |
| 361 | Get translation from runtimecache | |
| 379 | if we have an error or not all required languages are available | |
| 405 | Get it directly => without subset for users | |
| 486 | File is up to date | |
| 519 | First value field | |
| 526 | Noting found | |
| 663 | if (!$record->hasValue('key') || $record->getValue('key') !== $key) { | |
| 664 | $save = true; | |
| 665 | } | |
| 706 | check if we have the same value_type configured, otherwise update it | |
| 740 | Get default | |
| 745 | Get default |
| Type | Line | Description |
|---|---|---|
| 153 | '0',0 => null | |
| 244 | Get it without join | |
| 264 | unset($recordSet[$key]); | |
| 447 | Found tree_path in parent => stop | |
| 457 | Prepend root | |
| 479 | Delete http output cache |
| Type | Line | Description |
|---|---|---|
| 24 | Set this table as hidden | |
| 217 | TODO: Change the autogenerated stub | |
| TODO | 190 | naming? |
| Type | Line | Description |
|---|---|---|
| 57 | Fuman_Util_Logger::trace('prefix: '.) |
| Type | Line | Description |
|---|---|---|
| 123 | Save record | |
| 155 | Update time stamp if elapsed | |
| 160 | Check value | |
| 165 | If changed | |
| 211 | Already loaded |
| Type | Line | Description |
|---|---|---|
| 24 | reset error code, it is set by the sub class |
| Type | Line | Description |
|---|---|---|
| 653 | Find a value in other languages | |
| 702 | Return the content default language if empty | |
| 756 | $forceLanguage = true; | |
| 759 | $forceLanguage = false; | |
| 1063 | if the language is not supported, do nothing! | |
| 1351 | '['.$path.':'.$this->getTable()->getUniqueName().':'.$this->getUniqueName().'] '; | |
| 1355 | Its translatable | |
| TODO | 451 | fugu change return null to void |
| Type | Line | Description |
|---|---|---|
| 198 | Try to find default script in core | |
| 213 | Set action data | |
| 368 | Add fuman main | |
| 389 | Add background classes |
| Type | Line | Description |
|---|---|---|
| 44 | Reference has been created | |
| 53 | Fuman_Util_Logger::error('Fuman_Column_ManyToOne: could not load table "' . $this->_requiredTableUniqueName . '".', $ex); | |
| 101 | Fuman_Util_Logger::trace('_setReference: '.$this->_table->getUniqueName().' : '.$fumanTableUniqueName.' : '.$columnName); | |
| 103 | Add to source table | |
| 181 | Found an other ManyToOne relation which does not allow delete => ERROR !$ | |
| 183 | Fuman_Util_Logger::trace('### FOUND ERROR 1 '.$this->getTable()->getUniqueName().' : '.$record->getTable()->getUniqueName().' '.$record->getPrimaryValue().' '.$inputType->getUniqueName().' '.$record->getValue($inputType->getMainColumn()->getName()).' *'.$inputType->getMainColumn()->getDeleteBehaviour().'*'); | |
| 200 | We wont validate our self => infinite loop ! | |
| 202 | Fuman_Util_Logger::trace($logIndent.' ManyToOne return'); | |
| 221 | We have to do nothing, related record will be detached setting NULL | |
| 247 | We wont validate our self => infinite loop ! | |
| 249 | Fuman_Util_Logger::trace($logIndent.' ManyToOne return'); | |
| 285 | throw new Fuman_Exception('Invalid Reference at ' . $this->getTable()->getName() . '.' . $this->getName()); |
| Type | Line | Description |
|---|---|---|
| 59 | Reference has been created | |
| 68 | Fuman_Util_Logger::error('Fuman_Column_OneToMany: could not load table "' . $this->_referenceArgs[0] . '".', $ex); | |
| 111 | Fuman_Util_Logger::trace('_setReference: '.$this->_table->getUniqueName().' : '.$fumanTableUniqueName.' : '.$columnName); | |
| 113 | Add to source table | |
| 162 | OneToMany should never do anything ! | |
| 163 | This MUST be handles by the appropriate ManyToOne column | |
| 175 | OneToMany should never do anything ! | |
| 176 | This MUST be handles by the appropriate ManyToOne column |
| Type | Line | Description |
|---|---|---|
| 162 | Add to source table | |
| 165 | Fuman_Util_Logger::trace('_setup: '.$this->_table->getUniqueName().' : '.$referencedTableUniqueName.' : '.$referencedColumnName.' : '.$mappingTableUniqueName.' : '.$sourceColumnName.' : '.$targetColumnName.' : '.$autoCreate); | |
| 167 | Return if failure | |
| 168 | This may occure if table already deleted but mapping still exists | |
| 198 | Get the mapping table object | |
| 213 | Add relation between mapping table and source table | |
| 224 | Add relation between mapping table and referenced table | |
| 235 | Add columns to tables | |
| 240 | Fuman_Util_Logger::trace('_setMapping end: '.$this->_table->getUniqueName().' : '.$referencedTableUniqueName.' : '.$referencedColumnName.' : '.$mappingTableUniqueName.' : '.$sourceColumnName.' : '.$targetColumnName.' : '.$autoCreate); | |
| 311 | all about sorting | |
| 313 | Fuman_Util_Logger::trace('mappedTable: '.$this->_mappedTable->getName()); | |
| 347 | $meta->setWhere(new Fuman_Db_Where('OR')); | |
| 436 | Don't do anything, we will delete all mappings | |
| 448 | Dont pass $visited records, because 2-n wont get deleted because they were visitied by 1 | |
| 470 | inner join -> don't check in where against an existing id column | |
| 559 | when we map over the same table | |
| 587 | SORT_LOCALE_STRING |
| Type | Line | Description |
|---|---|---|
| 76 | @todo stefan (low, 14.3.2013) maybe implement this for fastcgi: http://php.net/manual/de/function.header.php | |
| 142 | @todo test it! |
| Type | Line | Description |
|---|---|---|
| 26 | Set default header | |
| 33 | send headers | |
| 36 | send data |
| Type | Line | Description |
|---|---|---|
| 53 | Init theme | |
| 57 | Log level must be higher than debug |
| Type | Line | Description |
|---|---|---|
| 14 | @todo stefan wieso? | |
| 15 | $this->addHeader('Content-Type', 'application/json; charset='.Fuman_Registry::getConfig()->web->charset); |
| Type | Line | Description |
|---|---|---|
| 61 | Password matches | |
| 73 | Set plain response |
| Type | Line | Description |
|---|---|---|
| 212 | Same role | |
| 264 | try to create user from session | |
| 270 | Load tables and acl |
| Type | Line | Description |
|---|---|---|
| 90 | Already initialized | |
| 97 | Create acl | |
| 141 | Subset the table | |
| 187 | Collect ACL |
| Type | Line | Description |
|---|---|---|
| 112 | Append | |
| TODO | 56 | christian 25-02-2013 remove class when transition to form model is completed |
| Type | Line | Description |
|---|---|---|
| 43 | reset the config | |
| 65 | CREATE DROPDOWN | |
| 72 | PREPARE DATA | |
| 76 | FINISHED | |
| 80 | ADD JAVASCRIPT | |
| 128 | if valid, save | |
| 141 | should not happen | |
| 196 | @todo stefan remove later (2014) |
| Type | Line | Description |
|---|---|---|
| 21 | Get image handle and required information | |
| 24 | if empty, the provided Fuman_File is not an image. | |
| 29 | Validate arguments | |
| 46 | Calculate best OUTER fit | |
| 62 | Calculate best INNER fit (no crop & both dimensions set) | |
| 67 | Calculate complement | |
| 80 | Crop image | |
| 86 | Crop width xor height => resize image | |
| 92 | Resize height to crop width | |
| 95 | Resize width for crop height | |
| 105 | Calculate x pos if cropWidth | |
| 113 | Calculate y pos if cropHeight | |
| 123 | Create image | |
| 135 | '100K'; | |
| 140 | test if it is an size entry => ends on a letter | |
| 163 | quality | |
| 190 | No progress | |
| 199 | Mhmmm, without it wont work | |
| 204 | Search lower | |
| 212 | Search upper |
| Type | Line | Description |
|---|---|---|
| 98 | Set bg for GIF/PNG | |
| 132 | Set Image Meta |
| Type | Line | Description |
|---|---|---|
| 32 | Destination positions | |
| 43 | Nothing to crop => use original |
| Type | Line | Description |
|---|---|---|
| 102 | Init to false, that it is not null | |
| 161 | Create file system cache | |
| 183 | echo $httpOutputCachePath."\n"; | |
| 329 | Try to delete file system output cache | |
| 443 | Get value from config because application is not yet started | |
| 448 | echo 'set: '.isset($_COOKIE['fuman_cachePrefix']).' *'.(isset($_COOKIE['fuman_cachePrefix']) ? $_COOKIE['fuman_cachePrefix'] : '?').'* *'.$applicationInitialized.'* '; | |
| 465 | echo ' key: '.$key.' '; | |
| 468 | echo ' logged in '; | |
| 480 | echo ' valid '; | |
| 482 | echo 'cached '.($applicationInitialized?'2':'1'); | |
| 487 | echo ' end '; | |
| 504 | We wont create any cache if logged in => inline editing | |
| 509 | Get the ttl from application which has been set at beginning of request | |
| 514 | Not HTTP 200 | |
| 530 | We wont create any cache if logged in => inline editing |
| Type | Line | Description |
|---|---|---|
| 53 | Create fake | |
| 102 | don't manage table if not all inputTypes are defined | |
| 129 | Create entry in fuman_table | |
| 148 | class_name | |
| 154 | inherited_table_uniquename | |
| 163 | enable_sitemap | |
| 193 | Add inputtypes | |
| 237 | Fuman_Util_Logger::trace('errors',$inputTypeRecord->getSaveErrorColumns()); | |
| 369 | Fuman_Util_Logger::trace('config', Fuman_Util_Web::jsonEncode($configuration)); | |
| TODO | 8 | by christian 28-05-2013 handling for inputtypes plural/icons/enable_sitemap missing |
| Type | Line | Description |
|---|---|---|
| 34 | Try to create the table | |
| 102 | Make sure that its an AND subset | |
| 212 | Most restricted first ! | |
| 252 | Already checked | |
| 258 | Do we have a subset defined ? | |
| 261 | We have a subset on it => no result | |
| 271 | Set check column | |
| 386 | Load tables | |
| 455 | @todo stefan delete? |
| Type | Line | Description |
|---|---|---|
| 117 | prevent recursion (because onApplicationReady calls _init) | |
| 257 | Create caller lookup | |
| 498 | Find active item by caller | |
| 594 | $name = self::SESSION_CONTAINER_NAME . '_' . (Fuman_Registry::getClient()->hasUserActiveRole() ? 'private' : 'public'); | |
| 605 | Init all | |
| 610 | Link together | |
| 625 | Add to root |
| Type | Line | Description |
|---|---|---|
| 73 | reset | |
| 87 | Handle cache | |
| 177 | Proxy | |
| 182 | Set timezone | |
| 206 | Add to properties to be available in template processor too | |
| 497 | if child or parent is a list and child have "not mergeable sign", remove it | |
| 500 | merge values if parent is a list and child is mergeable | |
| 504 | Remove multiple commas | |
| 507 | if parent was a list, but the new value not, change it! | |
| TODO | 479 | rewrite (not really straight forward) wtf parent |
| Type | Line | Description |
|---|---|---|
| 223 | include_once($path); | |
| 224 | return; | |
| 315 | i', '', $className); |
| Type | Line | Description |
|---|---|---|
| 99 | @todo discuss, if it is better when it set it only to true if version exits (some lines up) |
| Type | Line | Description |
|---|---|---|
| 181 | Get a clone of a system table | |
| 242 | Get Table Info | |
| 275 | Put instances back to container | |
| 361 | Subset | |
| 391 | Add columns | |
| 396 | $columns = $tableSerialized['columns']; | |
| 398 | Parents | |
| 417 | fumanId | |
| 418 | uniqueName | |
| 421 | config | |
| 434 | Self | |
| 448 | fumanId | |
| 449 | uniqueName | |
| 450 | fuman table | |
| 451 | column-name | |
| 452 | config | |
| 453 | record |
| Type | Line | Description |
|---|---|---|
| 11 | The current build number of less.php | |
| 12 | The less.js version that this build should be compatible with | |
| 13 | The parser cache version |
| Type | Line | Description |
|---|---|---|
| 19 | option - whether to compress | |
| 20 | whether units need to evaluate correctly | |
| 21 | whether math has to be within parenthesis | |
| 22 | option - whether to adjust URL's to be relative | |
| 23 | whether to add args into url tokens | |
| 29 | false, 'serialize', 'php', 'var_export', 'callback'; | |
| 33 | whether to output a source map | |
| 45 | Less input string | |
| 46 | input string length | |
| 47 | current index in `input` | |
| 48 | holds state for backtracking | |
| 77 | Top parser on an import tree must be sure there is one "env" | |
| 78 | which will then be passed around by reference. | |
| 103 | set new options | |
| 194 | will also save file | |
| 195 | FIXME: should happen somewhere else? | |
| 205 | reset php settings | |
| 313 | fix uri_root? | |
| 314 | Instead of The mixture of file path for the first argument and directory path for the second argument has bee | |
| 371 | entry info | |
| 389 | inherit reference | |
| 486 | Using serialize | |
| 487 | Faster but uses more memory | |
| 498 | Using generated php code | |
| 516 | save the cache | |
| 527 | msg('write cache file'); | |
| 536 | Requires __set_state() | |
| 561 | Remove potential UTF Byte Order Mark | |
| 644 | The match is confirmed, add the match length to `this::pos`, | |
| 645 | and consume any extra white-space characters (' ' || '\n') | |
| 646 | which come after that. The reason for this is that LeSS's | |
| 647 | grammar is mostly white-space insensitive. | |
| 648 | ||
| 665 | Non-terminal, match using a function call | |
| 694 | Match a single character in the input, | |
| 702 | Match a regexp from the current start point | |
| 727 | return ($this->input[$this->pos] === $tok ); | |
| 774 | ||
| 775 | Here in, the parsing rules/functions | |
| 776 | ||
| 777 | The basic structure of the syntax tree generated is as follows: | |
| 778 | ||
| 779 | Ruleset -> Rule -> Value -> Expression -> Entity | |
| 780 | ||
| 781 | Here's some LESS code: | |
| 782 | ||
| 783 | .class { | |
| 784 | color: #fff; | |
| 785 | border: 1px solid #000; | |
| 786 | width: @w + 4px; | |
| 787 | > .child {...} | |
| 788 | } | |
| 789 | ||
| 790 | And here's what the parse tree might look like: | |
| 791 | ||
| 792 | Ruleset (Selector '.class', [ | |
| 793 | Rule ("color", Value ([Expression [Color #fff]])) | |
| 794 | Rule ("border", Value ([Expression [Dimension 1px][Keyword "solid"][Color #000]])) | |
| 795 | Rule ("width", Value ([Expression [Operation "+" [Variable "@w"][Dimension 4px]]])) | |
| 796 | Ruleset (Selector [Element '>', '.child'], [...]) | |
| 797 | ]) | |
| 798 | ||
| 799 | In general, most rules will try to parse a token with the `$()` function, and if the return | |
| 800 | value is truly, will return a new node, of the relevant type. Sometimes, we need to check | |
| 801 | first, before parsing, that's when we use `peek()`. | |
| 802 | ||
| 804 | ||
| 805 | The `primary` rule is the *entry* and *exit* point of the parser. | |
| 806 | The rules here can appear at any level of the parse tree. | |
| 807 | ||
| 808 | The recursive nature of the grammar is an interplay between the `block` | |
| 809 | rule, which represents `{ ... }`, the `ruleset` rule, and this `primary` rule, | |
| 810 | as represented by this simplified grammar: | |
| 811 | ||
| 812 | primary → (ruleset | rule)+ | |
| 813 | ruleset → selector+ block | |
| 814 | block → '{' primary '}' | |
| 815 | ||
| 816 | Only at one point is the primary rule not called from the | |
| 817 | block rule: at the root level. | |
| 818 | ||
| 834 | $node = $this->MatchFuncs( array( 'parseMixinDefinition', 'parseRule', 'parseRuleset', 'parseMixinCall', 'parseComment', 'parseDirective')); | |
| 853 | We create a Comment node for CSS comments `/* */`, | |
| 854 | but keep the LeSS comments `//` silent, by just skipping | |
| 855 | over them. | |
| 867 | $comment = $this->MatchReg('/\\G\/\*(?:[^*]|\*+[^\/*])*\*+\/\n?/'); | |
| 868 | not the same as less.js to prevent fatal errors | |
| 891 | ||
| 892 | A string, which supports escaping " and ' | |
| 893 | ||
| 894 | "milky way" 'he\'s the one!' | |
| 895 | ||
| 903 | Escaped strings | |
| 914 | Fix for #124: match escaped newlines | |
| 915 | $str = $this->MatchReg('/\\G"((?:[^"\\\\\r\n]|\\\\.)*)"|\'((?:[^\'\\\\\r\n]|\\\\.)*)\'/'); | |
| 926 | ||
| 927 | A catch-all word, such as: | |
| 928 | ||
| 929 | black border-collapse | |
| 930 | ||
| 933 | $k = $this->MatchReg('/\\G[_A-Za-z-][_A-Za-z0-9-]*/'); | |
| 945 | duplicate of Less_Tree_Color::FromKeyword | |
| 950 | detect named color | |
| 959 | ||
| 960 | A function call | |
| 961 | ||
| 962 | rgb(255, 0, 255) | |
| 963 | ||
| 964 | We also try to catch IE's `alpha()`, but let the `alpha` parser | |
| 965 | deal with the details. | |
| 966 | ||
| 967 | The arguments are parsed with the `entities.arguments` parser. | |
| 968 | ||
| 991 | Parse the '(' and consume whitespace. | |
| 1030 | Assignments are argument entities for calls. | |
| 1031 | They are present in ie filter properties as shown below. | |
| 1032 | ||
| 1033 | filter: progid:DXImageTransform.Microsoft.Alpha( *opacity=50* ) | |
| 1034 | ||
| 1052 | ||
| 1053 | Parse url() tokens | |
| 1054 | ||
| 1055 | We use a specific rule for urls, because they don't really behave like | |
| 1056 | standard function calls. The difference is that the argument doesn't have | |
| 1057 | to be enclosed within a string, so it can't be parsed as an Expression. | |
| 1058 | ||
| 1083 | ||
| 1084 | A Variable entity, such as `@fink`, in | |
| 1085 | ||
| 1086 | width: @fink + 2px | |
| 1087 | ||
| 1088 | We use a different parser for variable definitions, | |
| 1089 | see `parsers.variable`. | |
| 1090 | ||
| 1099 | A variable entity useing the protective {} e.g. @{var} | |
| 1108 | ||
| 1109 | A Hexadecimal color | |
| 1110 | ||
| 1111 | #4F3C2F | |
| 1112 | ||
| 1113 | `rgb` and `hsl` colors are parsed through the `entities.call` parser. | |
| 1114 | ||
| 1121 | ||
| 1122 | A Dimension, that is, a number and a unit | |
| 1123 | ||
| 1124 | 0.5em 95% | |
| 1125 | ||
| 1130 | Is the first char of the dimension 0-9, '.', '+' or '-' | |
| 1146 | ||
| 1147 | A unicode descriptor, as is used in unicode-range | |
| 1148 | ||
| 1149 | U+0?? or U+00A1-00A9 | |
| 1150 | ||
| 1159 | ||
| 1160 | JavaScript code to be evaluated | |
| 1161 | ||
| 1162 | `window.location.href` | |
| 1163 | ||
| 1184 | ||
| 1185 | The variable part of a variable definition. Used in the `rule` parser | |
| 1186 | ||
| 1187 | @fink: | |
| 1188 | ||
| 1196 | ||
| 1197 | The variable part of a variable definition. Used in the `rule` parser | |
| 1198 | ||
| 1199 | @fink(); | |
| 1200 | ||
| 1209 | ||
| 1210 | extend syntax - used to extend selectors | |
| 1211 | ||
| 1249 | ||
| 1250 | A Mixin call, with an optional argument list | |
| 1251 | ||
| 1252 | #mixins > .square(#fff); | |
| 1253 | .rounded(4px, black); | |
| 1254 | .button; | |
| 1255 | ||
| 1256 | The `while` loop is there because mixins can be | |
| 1257 | namespaced, but we only support the child and descendant | |
| 1258 | selector for now. | |
| 1259 | ||
| 1268 | stop us absorbing part of an invalid selector | |
| 1361 | Variable | |
| 1380 | we do not support setting a ruleset as a default variable - it doesn't make sense | |
| 1381 | However if we do want to add it, there is nothing blocking it, just don't error | |
| 1382 | and remove isCall dependency below | |
| 1455 | ||
| 1456 | A Mixin definition, with a list of parameters | |
| 1457 | ||
| 1458 | .rounded (@radius: 2px, @color) { | |
| 1459 | ... | |
| 1460 | } | |
| 1461 | ||
| 1462 | Until we have a finer grained state-machine, we have to | |
| 1463 | do a look-ahead, to make sure we don't have a mixin call. | |
| 1464 | See the `rule` function for more information. | |
| 1465 | ||
| 1466 | We start by matching `.rounded (`, and then proceed on to | |
| 1467 | the argument list, which has optional default values. | |
| 1468 | We store the parameters in `params`, with a `value` key, | |
| 1469 | if there is a value, such as in the case of `@radius`. | |
| 1470 | ||
| 1471 | Once we've got our params list, and a closing `)`, we parse | |
| 1472 | the `{...}` block. | |
| 1473 | ||
| 1493 | .mixincall("@{a}"); | |
| 1494 | looks a bit like a mixin definition.. | |
| 1495 | also | |
| 1496 | .mixincall(@a: {rule: set;}); | |
| 1497 | so we have to be nice and restore | |
| 1507 | Guard | |
| 1524 | ||
| 1525 | Entities are the smallest recognized token, | |
| 1526 | and can be found inside a rule's value. | |
| 1527 | ||
| 1533 | ||
| 1534 | A Rule terminator. Note that we use `peek()` to check for '}', | |
| 1535 | because the `block` rule will be expecting it, but we still need to make sure | |
| 1536 | it's there, if ';' was ommitted. | |
| 1537 | ||
| 1542 | ||
| 1543 | IE's alpha function | |
| 1544 | ||
| 1545 | alpha(opacity=88) | |
| 1546 | ||
| 1568 | ||
| 1569 | A Selector Element | |
| 1570 | ||
| 1571 | div | |
| 1572 | + h1 | |
| 1573 | #socks | |
| 1574 | input[type="text"] | |
| 1575 | ||
| 1576 | Elements are the building blocks for Selectors, | |
| 1577 | they are made out of a `Combinator` (see combinator rule), | |
| 1578 | and an element name, such as a tag a class, or `*`. | |
| 1579 | ||
| 1606 | ||
| 1607 | Combinators combine elements together, in a Selector. | |
| 1608 | ||
| 1609 | Because our parser isn't white-space sensitive, special care | |
| 1610 | has to be taken, when parsing the descendant combinator, ` `, | |
| 1611 | as it's an empty space. We have to check the previous character | |
| 1612 | in the input, to see if it's a ` ` character. | |
| 1613 | ||
| 1636 | ||
| 1637 | A CSS selector (see selector below) | |
| 1638 | with less extensions e.g. the ability to extend and guard | |
| 1639 | ||
| 1644 | ||
| 1645 | A CSS Selector | |
| 1646 | ||
| 1647 | .class > div + h1 | |
| 1648 | li a:hover | |
| 1649 | ||
| 1650 | Selectors are made out of one or more Elements, see above. | |
| 1651 | ||
| 1666 | error("CSS guard can only be used at the end of selector"); | |
| 1670 | if( count($extendList) ){ | |
| 1671 | error("Extend can only be used at the end of selector"); | |
| 1672 | } | |
| 1718 | ||
| 1719 | The `block` rule is used by `ruleset` and `mixin.definition`. | |
| 1720 | It's a wrapper around the `primary` rule, with added `{}`. | |
| 1721 | ||
| 1748 | ||
| 1749 | div, .class, body > p {...} | |
| 1750 | ||
| 1782 | Less_Environment::$strictImports | |
| 1786 | Backtrack | |
| 1802 | $match = $this->MatchReg('/\\G([a-zA-Z\-]+)\s*:\s*((?:\'")?[a-zA-Z0-9\-% \.,!]+?(?:\'")?)\s*([;}])/'); | |
| 1846 | prefer to try to parse first if its a variable or we are compressing | |
| 1847 | but always fallback on the other one | |
| 1848 | if( !$tryAnonymous && is_string($name) && $name[0] === '@' ){ | |
| 1857 | a name returned by this.ruleProperty() is always an array of the form: | |
| 1858 | [string-1, ..., string-n, ""] or [string-1, ..., string-n, "+"] | |
| 1859 | where each item is a tree.Keyword or tree.Variable | |
| 1892 | ||
| 1893 | An @import directive | |
| 1894 | ||
| 1895 | @import "lib"; | |
| 1896 | ||
| 1897 | Depending on our environment, importing is done differently: | |
| 1898 | In the browser, it's an XHR request, in Node, it would be a | |
| 1899 | file-system operation. The function used for importing is | |
| 1900 | stored in `import`, which we pass to the Import constructor. | |
| 1901 | ||
| 1932 | list of options, surrounded by parens | |
| 2026 | ||
| 2027 | A CSS Directive | |
| 2028 | ||
| 2029 | @charset "utf-8"; | |
| 2030 | ||
| 2138 | ||
| 2139 | A Value is a comma-delimited list of Expressions | |
| 2140 | ||
| 2141 | font-family: Baskerville, Georgia, serif; | |
| 2142 | ||
| 2143 | In a Rule, a Value represents everything after the `:`, | |
| 2144 | and before the `;`. | |
| 2145 | ||
| 2176 | instead of $e->parens = true so the value is cached | |
| 2356 | operations do not allow keyword "/" dimension (e.g. small/20px) so we support that here | |
| 2400 | ! | |
| 2403 | at last, we have the complete match now. move forward, | |
| 2404 | convert name particles to tree objects and return: | |
| 2545 | caching | |
| 2776 | public $paths = array(); // option - unmodified - paths to search for imports on | |
| 2777 | public static $files = array(); // list of files that have been imported, used for import-once | |
| 2778 | public $rootpath; // option - rootpath to append to URL's | |
| 2779 | public static $strictImports = null; // option - | |
| 2780 | public $insecure; // option - whether to allow imports from insecure ssl hosts | |
| 2781 | public $processImports; // option - whether to process imports. if false then imports will not be imported | |
| 2782 | public $javascriptEnabled; // option - whether JavaScript is enabled. if undefined, defaults to true | |
| 2783 | public $useFileCache; // browser only - whether to use the per file session cache | |
| 2784 | information about the current file - for error reporting and importing and making urls relative etc. | |
| 2786 | whether we are currently importing multiple copies | |
| 2938 | lesscss.org/functions/ | |
| 3017 | Classic % operator will change float to int | |
| 3139 | filter: saturate(3.2); | |
| 3140 | should be kept as is, so check for color | |
| 3221 | ||
| 3222 | Copyright (c) 2006-2009 Hampton Catlin, Nathan Weizenbaum, and Chris Eppstein | |
| 3223 | http://sass-lang.com | |
| 3224 | ||
| 3258 | filter: contrast(3.2); | |
| 3259 | should be kept as is, so check for color | |
| 3269 | Figure out which is actually light and dark! | |
| 3415 | var mathFunctions = [{name:"ce ... | |
| 3466 | elems only contains original argument values. | |
| 3467 | key is the unit.toString() for unified tree.Dimension values, | |
| 3468 | value is the index into the order array. | |
| 3632 | (1-based index) | |
| 3633 | handle non-array values as an array of length 1 | |
| 3634 | return 'undefined' if index is invalid | |
| 3680 | detect the mimetype if not given | |
| 3687 | use base 64 unless it's an ASCII or UTF-8 format | |
| 3711 | IE8 cannot handle a data-uri larger than 32KB. If this is exceeded | |
| 3712 | and the --ieCompat flag is enabled, return a normal url() instead. | |
| 3728 | svg-gradient | |
| 3769 | www.w3.org/2000/svg" version="1.1" width="100%" height="100%" viewBox="0 0 1 1" preserveAspectRatio="none">' . | |
| 3835 | Color Blending | |
| 3836 | ref: http://www.w3.org/TR/compositing-1 | |
| 3839 | backdrop | |
| 3840 | source | |
| 3841 | result | |
| 3927 | non-w3c functions: | |
| 3940 | ~ End of Color Blending | |
| 3953 | this map is intentionally incomplete | |
| 3954 | if you want more, install 'mime' dep | |
| 3980 | assumes all text types are UTF-8 | |
| 3981 | ',$type) ? 'UTF-8' : ''; | |
| 4021 | Compressed | |
| 4034 | Non-compressed | |
| 4329 | function accept( $visitor ){ | |
| 4330 | $this->value = $visitor->visit( $this->value ); | |
| 4331 | } | |
| 4542 | ||
| 4543 | When evaluating a function call, | |
| 4544 | we either find the function in `tree.functions` [1], | |
| 4545 | in which case we call it, passing the evaluated arguments, | |
| 4546 | or we simply print it out as it appeared originally [2]. | |
| 4547 | ||
| 4548 | The *functions.js* file contains the built-in functions. | |
| 4549 | ||
| 4550 | The reason why we evaluate the arguments, is in the case where | |
| 4551 | we try to pass a variable to a function, like: `saturate(@color)`. | |
| 4552 | The function should receive the value, not the variable. | |
| 4553 | ||
| 4585 | 1. | |
| 4629 | public function toCSS(){ | |
| 4630 | return $this->compile()->toCSS(); | |
| 4631 | } | |
| 4700 | ||
| 4701 | If we have some transparency, the only way to represent it | |
| 4702 | is via `rgba`. Otherwise, we use the hex representation, | |
| 4703 | which has better compatibility with older browsers. | |
| 4704 | Values are capped between `0` and `255`, rounded and zero-padded. | |
| 4705 | ||
| 4725 | Convert color to short format | |
| 4735 | ||
| 4736 | Operations have to be done per-channel, if not, | |
| 4737 | channels will spill onto each other. Once we have | |
| 4738 | our result, in the form of an integer triplet, | |
| 4739 | we create a new Color node to hold the result. | |
| 4740 | ||
| 4783 | Adapted from http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript | |
| 4854 | detect named color | |
| 4890 | if( $this->debugInfo ){ | |
| 4891 | $output->add( tree.debugInfo($env, $this), $this->currentFileInfo, $this->index); | |
| 4892 | } | |
| 4893 | TODO shouldn't need to trim, we shouldn't grab the \n | |
| 5111 | would be output 1e-6 etc. | |
| 5117 | Zero values doesn't need a unit | |
| 5123 | Float values doesn't need a leading zero | |
| 5137 | In an operation between two Dimensions, | |
| 5138 | we default to the first Dimension's unit, | |
| 5139 | so `1px + 2em` will yield `3px`. | |
| 5155 | do nothing | |
| 5231 | numerator | |
| 5243 | denominator | |
| 5351 | rulesets: function () { if (this.rules) return tree.Ruleset.prototype.rulesets.apply(this.rules); }, | |
| 5393 | object or string | |
| 5589 | return new Less_Tree_Extend( $this->selector->compile($env), $this->option, $this->index); | |
| 5598 | duplicate the logic in genCSS function inside the selector node. | |
| 5599 | future TODO - move both logics into the selector joiner visitor | |
| 5659 | ||
| 5660 | The actual import node doesn't return anything, when converted to CSS. | |
| 5661 | The reason is that it's used at the evaluation stage, so that the rules | |
| 5662 | it imports can be treated like any other rules. | |
| 5663 | ||
| 5664 | In `eval`, we make sure all Import nodes get evaluated, recursively, so | |
| 5665 | we end up with a flat structure, which can easily be imported in the parent | |
| 5666 | ruleset. | |
| 5667 | ||
| 5721 | remove query string and fragment | |
| 5740 | Add the base path if the import is relative | |
| 5757 | get path & uri | |
| 5774 | import once | |
| 5780 | todo needs to reference css file not import | |
| 5781 | $contents = new Less_Tree_Anonymous($this->root, 0, array('filename'=>$this->importedFilename), true ); | |
| 5794 | css ? | |
| 5819 | if the path is relative, the file should be in the current directory | |
| 5823 | otherwise, the file should be relative to the server root | |
| 5826 | if the user supplied entryPath isn't the actual root | |
| 5831 | always look in user supplied import directories | |
| 6073 | evaltop | |
| 6092 | Extract the media-query conditions separated with `,` (OR). | |
| 6098 | Trace all permutations to generate the resulting media-query. | |
| 6099 | ||
| 6100 | (a, b and c) with nested (d, e) -> | |
| 6101 | a and d | |
| 6102 | a and e | |
| 6103 | b and c and d | |
| 6104 | b and c and e | |
| 6124 | Fake a tree-node that doesn't output anything. | |
| 6215 | function accept($visitor) { | |
| 6216 | $this->value = $visitor->visit($this->value); | |
| 6217 | } | |
| 6479 | expand 'primitive' name directly to get | |
| 6480 | things faster (~10% for benchmark.less): | |
| 6607 | Store the frames around mixin definitions, | |
| 6608 | so they can be evaluated like closures when the time comes. | |
| 6621 | Evaluate mixin calls. | |
| 6625 | Evaluate everything else | |
| 6632 | Evaluate everything else | |
| 6636 | for rulesets, check if it is a css guard and can be removed | |
| 6639 | check if it can be folded in (e.g. & where) | |
| 6657 | Pop the stack | |
| 6686 | do not pollute the scope if the variable is | |
| 6687 | already there. consider returning false here | |
| 6688 | but we need a way to "return" variable from mixins | |
| 6763 | push the current ruleset to the frames stack | |
| 6767 | Evaluate imports | |
| 6815 | lets you call a css selector with a guard | |
| 6922 | If this is the root node, we don't render | |
| 6923 | a selector, or {}. | |
| 6953 | Compile rules and rulesets | |
| 6959 | @page{ directive ends up with root elements inside it, a mix of rules and rulesets | |
| 6960 | In this instance we do not know whether it is the last property | |
| 7040 | The paths are [[Selector]] | |
| 7041 | The first list is a list of comma seperated selectors | |
| 7042 | The inner list is a list of inheritance seperated selectors | |
| 7043 | e.g. | |
| 7044 | .a, .b { | |
| 7045 | .c { | |
| 7046 | } | |
| 7047 | } | |
| 7048 | == [[.a] [.c]] [[.b] [.c]] | |
| 7049 | ||
| 7051 | the elements from the current selector so far | |
| 7053 | the current list of new selectors to add to the path. | |
| 7054 | We will build it up. We initiate it with one empty selector as we "multiply" the new selectors | |
| 7055 | by the parents | |
| 7061 | non parent reference elements just get added | |
| 7065 | the new list of selectors to add | |
| 7068 | merge the current list of non parent selector elements | |
| 7069 | on to the current list of selectors to add | |
| 7074 | loop through our current selectors | |
| 7077 | if we don't have any parent paths, the & might be in a mixin so that it can be used | |
| 7078 | whether there are parents or not | |
| 7080 | the combinator used on el should now be applied to the next element instead so that | |
| 7081 | it is not lost | |
| 7089 | and the parent selectors | |
| 7091 | We need to put the current selectors | |
| 7092 | then join the last selector's elements on to the parents selectors | |
| 7094 | our new selector path | |
| 7096 | selectors from the parent after the join | |
| 7100 | construct the joined selector - if & is the first thing this will be empty, | |
| 7101 | if not newJoinedSelector will be the last set of elements in the selector | |
| 7112 | put together the parent selectors after the join | |
| 7120 | join the elements so far with the first part of the parent | |
| 7127 | now add the joined selector | |
| 7131 | and the rest of the parent | |
| 7134 | add that to our new set of selectors | |
| 7140 | our new selectors has been multiplied, so reset the state | |
| 7146 | if we have any elements left over (e.g. .a& .b == .b) | |
| 7147 | add them on to all the current selectors | |
| 7168 | if the previous thing in sel is a parent this needs to join on to it | |
| 7282 | return number of matched elements | |
| 7565 | 0.0254 / 96, | |
| 7566 | 0.0254 / 72, | |
| 7567 | 0.0254 / 72 * 12 | |
| 7576 | 1/(2*M_PI), | |
| 7577 | 1/360, | |
| 7578 | 1/400, | |
| 7624 | Add the base path if the URL is relative | |
| 7640 | Add cache buster if enabled | |
| 7783 | function accept($visitor){ | |
| 7784 | $this->selector = $visitor->visit($this->selector); | |
| 7785 | $this->arguments = $visitor->visit($this->arguments); | |
| 7786 | } | |
| 7816 | To make `default()` function independent of definition order we have two "subpasses" here. | |
| 7817 | At first we evaluate each guard *twice* (with `default() == true` and `default() == false`), | |
| 7818 | and build candidate list with corresponding flags. Then, when we know all possible matches, | |
| 7819 | we make a final decision. | |
| 7886 | throw new Less_Exception_Compiler($e->getMessage(), $e->index, null, $this->currentFileInfo['filename']); | |
| 7976 | less.js : /lib/less/tree/mixin.js : tree.mixin.Definition | |
| 8001 | function accept( $visitor ){ | |
| 8002 | $this->params = $visitor->visit($this->params); | |
| 8003 | $this->rules = $visitor->visit($this->rules); | |
| 8004 | $this->condition = $visitor->visit($this->condition); | |
| 8005 | } | |
| 8012 | less.js : /lib/less/tree/mixin.js : tree.mixin.Definition.evalParams | |
| 8156 | the parameter variables | |
| 8157 | the parent namespace/mixin frames | |
| 8158 | the current environment frames | |
| 8239 | get &:extend(.a); rules which apply to all selectors in this ruleset | |
| 8250 | now find every selector and apply the extends that apply to all extends | |
| 8251 | and the ones which apply to an individual extend | |
| 8253 | $selectorPath[ count($selectorPath)-1]; | |
| 8328 | if( $this->importCount === 0) { | |
| 8329 | $this->_finish(); | |
| 8330 | } | |
| 8349 | get path & uri | |
| 8366 | import once | |
| 8372 | todo needs to reference css file not import | |
| 8373 | $contents = new Less_Tree_Anonymous($importNode->root, 0, array('filename'=>$importNode->importedFilename), true ); | |
| 8386 | css ? | |
| 8493 | $context = $this->contexts[ count($this->contexts) - 1]; | |
| 8500 | different from less.js. Placed after joinSelectors() so that $this->contexts will get correct $paths | |
| 8508 | $context = $this->contexts[ count($this->contexts) - 1]; | |
| 8548 | ||
| 8549 | chaining is different from normal extension.. if we extend an extend then we are not just copying, altering and pasting | |
| 8550 | the selector we would do normally, but we are also adding an extend with the same target selector | |
| 8551 | this means this new extend can then go and alter other extends | |
| 8552 | ||
| 8553 | this method deals with all the chaining work - without it, extend is flat and doesn't work on other extend selectors | |
| 8554 | this is also the most expensive.. and a match on one selector can cause an extension of a selector we had already processed if | |
| 8555 | we look at each selector at a time, as is done in visitRuleset | |
| 8560 | loop through comparing every extend with every target extend. | |
| 8561 | a target extend is the one on the ruleset we are looking at copy/edit/pasting in place | |
| 8562 | e.g. .a:extend(.b) {} and .b:extend(.c) {} then the first extend extends the second one | |
| 8563 | and the second is the target. | |
| 8564 | the seperation into two lists allows us to process a subset of chains with a bigger set, as is the | |
| 8565 | case when processing media queries | |
| 8572 | look for circular references | |
| 8577 | find a match in the target extends self selector (the bit before :extend) | |
| 8584 | we found a match, so for each self selector.. | |
| 8588 | process the extend as usual | |
| 8591 | but now we create a new extend from it | |
| 8595 | add the extend onto the list of extends for that selector | |
| 8597 | $newSelector[ count($newSelector)-1]->extendList = array($newExtend); | |
| 8599 | record that we need to add it. | |
| 8603 | remember its parents for circular references | |
| 8606 | only process the selector once.. if we have :extend(.a,.b) then multiple | |
| 8607 | extends will look at the same selector path, so when extending | |
| 8608 | we know that any others will be duplicates in terms of what is added to the css | |
| 8619 | try to detect circular references to stop a stack overflow. | |
| 8620 | may no longer be needed. $this->extendChainCount++; | |
| 8634 | now process the new extends on the existing rules so that we can handle a extending b extending c ectending d extending e... | |
| 8664 | look at each selector path in the ruleset, find any extend matches and then copy, find and replace | |
| 8668 | extending extends happens initially, before the main pass | |
| 8706 | ||
| 8707 | look through the haystack selector path to try and find the needle - extend.selector | |
| 8708 | returns an array of selector matches that can then be replaced | |
| 8709 | ||
| 8718 | loop through the haystack elements | |
| 8728 | if we allow elements before our match we can add a potential match every time. otherwise only at the first element. | |
| 8740 | if we are still valid and have finished, test whether we have elements after and whether these are allowed | |
| 8749 | if null we remove, if not, we are still valid, so either push as a valid match or continue | |
| 8754 | index after end of match | |
| 8755 | we don't allow matches to overlap, so start matching again | |
| 8773 | Before going through all the nested loops, lets check to see if a match is possible | |
| 8774 | Reduces Bootstrap 3.1 compile time from ~6.5s to ~5.6s | |
| 8805 | selectors add " " onto the first element. When we use & it joins the selectors together, but if we don't | |
| 8806 | then each selector in haystackSelectorPath has a space before it added in the toCSS phase. so we need to work out | |
| 8807 | what the resulting combinator will be | |
| 8818 | if we don't match, null our match to indicate failure | |
| 8905 | for a set of matches, replace each match with the replacement selector | |
| 8933 | last parameter of array_slice is different than the last parameter of javascript's slice | |
| 9016 | mixin definitions do not get eval'd - this means they keep state | |
| 9017 | so we have to clear that state here so it isn't used if toCSS is called twice | |
| 9048 | Only output the debug info together with subsequent @charset definitions | |
| 9049 | a comment (or @media statement) before the actual @charset directive would | |
| 9050 | be considered illegal css as it has to be on the first line | |
| 9053 | if( $directiveNode->debugInfo ){ | |
| 9054 | $comment = new Less_Tree_Comment('/* ' . str_replace("\n",'',$directiveNode->toCSS())." */\n"); | |
| 9055 | $comment->debugInfo = $directiveNode->debugInfo; | |
| 9056 | return $this->visit($comment); | |
| 9057 | } | |
| 9096 | Compile rules and rulesets | |
| 9102 | visit because we are moving them out from being a child | |
| 9112 | accept the visitor to remove rules and refactor itself | |
| 9113 | then we can decide now whether we want it or not | |
| 9124 | now decide whether we keep the ruleset | |
| 9126 | array_unshift($rulesets, $rulesetNode); | |
| 9180 | remove duplicates | |
| 9209 | obj($rules); | |
| 9267 | return new Less_Tree_Value($values); ?? | |
| 9426 | default message | |
| 9456 | a-z or whitespace | |
| 9462 | ( | |
| 9468 | ) | |
| 9476 | ; | |
| 9478 | if (!$parenLevel) { $this->emitChunk(); } | |
| 9481 | { | |
| 9487 | } | |
| 9494 | if (!$level && !$parenLevel) { $this->emitChunk(); } | |
| 9496 | \ | |
| 9501 | ", ' and ` | |
| 9511 | \ | |
| 9521 | /, check for comment | |
| 9526 | //, find lnfeed | |
| 9532 | /*, find */ | |
| 9546 | *, check for unmatched */ | |
| 9566 | chunk didn't fail | |
| 9569 | $this->emitChunk(true); | |
| 9670 | ignore adding empty strings | |
| 9701 | generated_line | |
| 9702 | generated_column | |
| 9703 | original_line | |
| 9704 | original_column | |
| 9710 | generated_line | |
| 9711 | generated_column | |
| 9712 | original_line | |
| 9713 | original_column | |
| 9727 | add only chunk | |
| 9753 | == (1 << shift) == 0b00011111 | |
| 9760 | == (mask - 1 ) == 0b00100000 | |
| 9801 | I leave it here for future reference | |
| 9802 | foreach(str_split('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/') as $i => $char) | |
| 9803 | { | |
| 9804 | $this->charToIntMap[$char] = $i; | |
| 9805 | $this->intToCharMap[$i] = $char; | |
| 9806 | } | |
| 9939 | an optional source root, useful for relocating source files | |
| 9940 | on a server or removing repeated values in the 'sources' entry. | |
| 9941 | This value is prepended to the individual entries in the 'source' field. | |
| 9944 | an optional name of the generated code that this source map is associated with. | |
| 9947 | url of the map | |
| 9950 | absolute path to a file to write the map to | |
| 9953 | output source contents? | |
| 9956 | base path for filename normalization | |
| 9959 | base path for filename normalization | |
| 10013 | fix windows paths | |
| 10028 | catch the output | |
| 10041 | write map to a file | |
| 10046 | inline the map | |
| 10067 | directory does not exist | |
| 10069 | FIXME: create the dir automatically? | |
| 10072 | FIXME: proper saving, with dir write check! | |
| 10091 | "Trim" the 'sourceMapBasepath' from the output filename. | |
| 10096 | Remove extra leading path separators. | |
| 10131 | docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit# | |
| 10138 | File version (always the first entry in the object) and must be a positive integer. | |
| 10142 | An optional name of the generated code that this source map is associated with. | |
| 10149 | An optional source root, useful for relocating source files on a server or removing repeated values in the 'sources' entry. This value is prepended to the individual entries in the 'source' field. | |
| 10156 | A list of original sources used by the 'mappings' entry. | |
| 10163 | A list of symbol names used by the 'mappings' entry. | |
| 10166 | A string with the encoded mapping data. | |
| 10170 | An optional list of source content, useful when the 'source' can't be hosted. | |
| 10171 | The contents are listed in the same order as the sources above. | |
| 10172 | 'null' may be used if some original sources should be retrieved by name. | |
| 10176 | less.js compat fixes | |
| 10214 | group mappings by generated line number. | |
| 10235 | find the index | |
| 10242 | lines are stored 0-based in SourceMap spec version 3 |
| Type | Line | Description |
|---|---|---|
| 14 | directory less.php can use for storing data | |
| 30 | check $cache_dir | |
| 43 | create a file for variables | |
| 56 | generate name for compiled css file | |
| 61 | check cached content | |
| 67 | pop the cached name that should match $compiled_name | |
| 75 | if $cached_name != $compiled_name, we know we need to recompile | |
| 83 | for backwards compatibility, we just return the name of the file | |
| 98 | save the file list | |
| 105 | save the css | |
| 109 | clean up | |
| 131 | get less.php if it exists | |
| 141 | combine files | |
| 144 | treat as less markup if there are newline characters | |
| 164 | custom output file | |
| 167 | relative to cache directory? | |
| 181 | save the file list |
| Type | Line | Description |
|---|---|---|
| 4 | github.com/barbushin/php-imap | |
| 5 | linkedin.com/in/barbushin | |
| 441 | $data = iconv(strtoupper($params['charset']), $this->serverEncoding, $data); | |
| 445 | attachments | |
| 505 | $newString .= iconv(strtoupper($elements[$i]->charset), $charset, $elements[$i]->text); |
| Type | Line | Description |
|---|---|---|
| 20 | www.gnu.org/licenses/>. | |
| 27 | www.gnu.org/licenses/lgpl.html GNU Lesser GPL 3 | |
| 29 | pear.php.net/package/SQL_Parser |
| Type | Line | Description |
|---|---|---|
| 20 | www.gnu.org/licenses/>. | |
| 26 | www.gnu.org/licenses/lgpl.html GNU Lesser GPL 3 | |
| 28 | pear.php.net/package/SQL_Parser |
| Type | Line | Description |
|---|---|---|
| 17 | (1 | 2 | 4) | |
| 21 | (1 | 2) | |
| 33 | (20 | 1 | 2 | 4) | |
| 41 | (20 | 1 | 2 | 4 | 200) | |
| 57 | (100 | 4)); |
| Type | Line | Description |
|---|---|---|
| 3 | +----------------------------------------------------------------------+ | |
| 4 | | Copyright (c) 2003-2004 John Griffin | | |
| 5 | +----------------------------------------------------------------------+ | |
| 6 | | This library is free software; you can redistribute it and/or | | |
| 7 | | modify it under the terms of the GNU Lesser General Public | | |
| 8 | | License as published by the Free Software Foundation; either | | |
| 9 | | version 2.1 of the License, or (at your option) any later version. | | |
| 10 | | | | |
| 11 | | This library is distributed in the hope that it will be useful, | | |
| 12 | | but WITHOUT ANY WARRANTY; without even the implied warranty of | | |
| 13 | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | |
| 14 | | Lesser General Public License for more details. | | |
| 15 | | | | |
| 16 | | You should have received a copy of the GNU Lesser General Public | | |
| 17 | | License along with this library; if not, write to the Free Software | | |
| 18 | | Foundation, Inc., 59 Temple Place, Suite 330,Boston,MA 02111-1307 USA| | |
| 19 | +----------------------------------------------------------------------+ | |
| 20 | | Authors: John Griffin <jgriffin316@netscape.net> | | |
| 21 | +----------------------------------------------------------------------+ | |
| 22 | ||
| 23 | $Id: Compiler.php 727 2011-06-17 15:55:02Z christian $ | |
| 24 | ||
| 40 | {{{ function SQL_Parser_Compiler($array = null) | |
| 45 | }}} | |
| 47 | {{{ function getWhereValue ($arg) | |
| 68 | }}} | |
| 70 | {{{ function getParams($arg) | |
| 93 | }}} | |
| 95 | {{{ function compileFunctionOpts($arg) | |
| 117 | }}} | |
| 119 | {{{ function compileSearchClause | |
| 168 | }}} | |
| 170 | {{{ function compileSelect() | |
| 173 | save the command and set quantifiers | |
| 179 | save the column names and set functions | |
| 208 | save the tables | |
| 228 | save the where clause | |
| 237 | save the group by clause | |
| 242 | save the order by clause | |
| 250 | save the limit clause | |
| 257 | }}} | |
| 259 | {{{ function compileUpdate() | |
| 264 | save the set clause | |
| 271 | save the where clause | |
| 281 | }}} | |
| 283 | {{{ function compileDelete() | |
| 288 | save the where clause | |
| 298 | }}} | |
| 300 | {{{ function compileInsert() | |
| 317 | }}} | |
| 319 | {{{ function compile($array = null) | |
| 342 | switch ($this->_tree["command"]) | |
| 345 | }}} |
| Type | Line | Description |
|---|---|---|
| 3 | +----------------------------------------------------------------------+ | |
| 4 | | Copyright (c) 2002-2004 Brent Cook | | |
| 5 | +----------------------------------------------------------------------+ | |
| 6 | | This library is free software; you can redistribute it and/or | | |
| 7 | | modify it under the terms of the GNU Lesser General Public | | |
| 8 | | License as published by the Free Software Foundation; either | | |
| 9 | | version 2.1 of the License, or (at your option) any later version. | | |
| 10 | | | | |
| 11 | | This library is distributed in the hope that it will be useful, | | |
| 12 | | but WITHOUT ANY WARRANTY; without even the implied warranty of | | |
| 13 | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | |
| 14 | | Lesser General Public License for more details. | | |
| 15 | | | | |
| 16 | | You should have received a copy of the GNU Lesser General Public | | |
| 17 | | License along with this library; if not, write to the Free Software | | |
| 18 | | Foundation, Inc., 59 Temple Place, Suite 330,Boston,MA 02111-1307 USA| | |
| 19 | +----------------------------------------------------------------------+ | |
| 20 | | Authors: Brent Cook <busterbcook@yahoo.com> | | |
| 21 | | Jason Pell <jasonpell@hotmail.com> | | |
| 22 | +----------------------------------------------------------------------+ | |
| 23 | ||
| 24 | $Id: Lexer.php 714 2011-05-27 13:54:43Z stefan $ | |
| 25 | ||
| 29 | {{{ token definitions | |
| 30 | variables: 'ident', 'sys_var' | |
| 31 | values: 'real_val', 'text_val', 'int_val', null | |
| 32 | }}} | |
| 44 | array of valid tokens for the lexer to recognize | |
| 45 | format is 'token literal'=>TOKEN_VALUE | |
| 48 | {{{ instance variables | |
| 58 | Will not be altered by skip() | |
| 62 | Provide lookahead capability. | |
| 64 | Specify how many tokens to save in tokenStack, so the | |
| 65 | token stream can be pushed back. | |
| 68 | }}} | |
| 70 | {{{ incidental functions | |
| 108 | }}} | |
| 110 | {{{ pushBack() | |
| 123 | }}} | |
| 125 | {{{ lex() | |
| 129 | The stackPtr, should always be the same as the count of | |
| 130 | elements in the tokenStack. The stackPtr, can be thought | |
| 131 | of as pointing to the next token to be added. If however | |
| 132 | a pushBack() call is made, the stackPtr, will be less than the | |
| 133 | count, to indicate that we should take that token from the | |
| 134 | stack, instead of calling nextToken for a new token. | |
| 142 | We have read the token, so now iterate again. | |
| 148 | If $tokenStack is full (equal to lookahead), pop the oldest | |
| 149 | element off, to make room for the new one. | |
| 152 | For some reason array_shift and | |
| 153 | array_pop screw up the indexing, so we do it manually. | |
| 158 | Indicate that we should put the element in | |
| 159 | at the stackPtr position. | |
| 175 | }}} | |
| 177 | {{{ nextToken() | |
| 180 | echo 'last token: ' . $this->tokText . "\n"; | |
| 188 | echo "State: $state, Char: $c\n"; | |
| 190 | {{{ State 0 : Start of token | |
| 197 | End Of Input | |
| 206 | Handle MAC/Unix/Windows line endings. | |
| 210 | If not DOS newline | |
| 223 | Escape quotes and backslashes | |
| 233 | Unknown token. Revert to single char | |
| 245 | system variable | |
| 250 | keyword or ident | |
| 255 | real or int number | |
| 262 | ellipsis | |
| 271 | real number | |
| 275 | period | |
| 281 | comments | |
| 290 | negative number, or operator '-', finally checked in case 6 | |
| 295 | comparison operator | |
| 299 | Unknown token. Revert to single char | |
| 302 | }}} | |
| 304 | {{{ State 1 : Incomplete keyword or ident | |
| 313 | }}} | |
| 335 | }}} | |
| 337 | {{{ State 5: Incomplete real or int number | |
| 345 | ellipsis | |
| 347 | real number | |
| 352 | Do we allow idents to begin with a digit? | |
| 355 | a number must end with non-alpha character | |
| 360 | complete number, or '-' | |
| 364 | }}} | |
| 366 | {{{ State 6: Complete integer number | |
| 369 | '-' or negative number | |
| 385 | }}} | |
| 387 | {{{ State 7: Incomplete real number | |
| 402 | }}} | |
| 404 | {{{ State 8: Complete real number | |
| 413 | }}} | |
| 415 | {{{ State 10: Incomplete comparison operator | |
| 424 | }}} | |
| 426 | {{{ State 11: Complete comparison operator | |
| 439 | }}} | |
| 441 | {{{ State 12: Incomplete quoted string or ident | |
| 455 | $bail = true; | |
| 474 | }}} | |
| 476 | {{{ State 13: Complete quoted string or ident | |
| 491 | }}} | |
| 493 | {{{ State 14: Comment | |
| 502 | Handle MAC/Unix/Windows line endings. | |
| 506 | If not DOS newline | |
| 525 | }}} | |
| 527 | {{{ State 15: Exponent Sign in Scientific Notation | |
| 536 | }}} | |
| 538 | {{{ state 16: Exponent Value-first digit in Scientific Notation | |
| 545 | if no digit, then token is unknown | |
| 547 | }}} | |
| 549 | {{{ State 17: Exponent Value in Scientific Notation | |
| 556 | At least 1 exponent digit was required | |
| 558 | }}} | |
| 560 | {{{ State 18 : Incomplete System Variable | |
| 569 | }}} | |
| 571 | {{{ State 19: Complete Sys Var | |
| 580 | }}} | |
| 582 | {{{ State 999 : Unknown token. Revert to single char | |
| 590 | }}} | |
| 592 | {{{ State 1000 : End Of Input | |
| 599 | }}} | |
| 603 | }}} |
| Type | Line | Description |
|---|---|---|
| 19 | www.gnu.org/licenses/>. | |
| 38 | www.gnu.org/licenses/lgpl.html GNU Lesser GPL 3 | |
| 40 | pear.php.net/package/SQL_Parser | |
| 57 | www.gnu.org/licenses/lgpl.html GNU Lesser GPL 3 | |
| 59 | pear.php.net/package/SQL_Parser | |
| 151 | {{{ function SQL_Parser($string = null, $dialect = 'ANSI') | |
| 173 | }}} | |
| 177 | Initialize the Lexer with a 3-level look-back buffer | |
| 184 | {{{ function setDialect($dialect) | |
| 228 | }}} | |
| 230 | {{{ getParams(&$values, &$types) | |
| 254 | the first opening brace is already fetched | |
| 255 | function( | |
| 278 | }}} | |
| 280 | {{{ raiseError($message) | |
| 320 | }}} | |
| 322 | {{{ isType() | |
| 334 | }}} | |
| 336 | {{{ isVal() | |
| 350 | }}} | |
| 352 | {{{ isFunc() | |
| 364 | }}} | |
| 366 | {{{ isCommand() | |
| 378 | }}} | |
| 380 | {{{ isReserved() | |
| 392 | }}} | |
| 394 | {{{ isOperator() | |
| 406 | }}} | |
| 408 | {{{ getTok() | |
| 420 | echo $this->token . "\t" . $this->lexer->tokText . "\n"; | |
| 422 | }}} | |
| 424 | {{{ &parseFieldOptions() | |
| 442 | parse field options | |
| 625 | }}} | |
| 627 | {{{ parseCondition() | |
| 652 | parse the first argument | |
| 675 | Fix stefan | |
| 686 | no operator, return | |
| 690 | parse the operator | |
| 703 | parse for 'is' operator | |
| 714 | @todo | |
| 715 | $clause['ops'][] = $not . $op; | |
| 716 | $this->getTok(); | |
| 719 | parse for 'in' operator | |
| 724 | read the subset | |
| 726 | is this a subselect? | |
| 731 | parse the set | |
| 753 | next argument [with operator] | |
| 758 | }}} | |
| 766 | parse the first argument | |
| 798 | no operator, return | |
| 802 | parse the operator | |
| 815 | parse for 'is' operator | |
| 826 | @todo | |
| 827 | $clause['ops'][] = $not . $op; | |
| 828 | $this->getTok(); | |
| 831 | parse for 'in' operator | |
| 836 | read the subset | |
| 838 | is this a subselect? | |
| 843 | parse the set | |
| 865 | next argument [with operator] | |
| 871 | {{{ parseFieldList() | |
| 886 | parse field identifier | |
| 891 | In this context, field names can be reserved words or function names | |
| 945 | $this->raiseError('Expected identifier'); | |
| 948 | parse field type | |
| 956 | handle special case two-word types | |
| 958 | double precision == double | |
| 964 | character varying() == varchar() | |
| 971 | parse type parameters | |
| 1035 | }}} | |
| 1037 | {{{ parseFunctionOpts() | |
| 1061 | }}} | |
| 1063 | {{{ parseCreate() | |
| 1086 | $tree['column_names'] = array_keys($fields); | |
| 1104 | }}} | |
| 1106 | {{{ parseInsert() | |
| 1107 | INSERT INTO tablename | |
| 1141 | loop over all (value[, ...])[,(value[, ...]), ...] | |
| 1143 | get opening brace '(' | |
| 1173 | }}} | |
| 1175 | {{{ parseUpdate() | |
| 1201 | stefan@fugu.ch | |
| 1228 | }}} | |
| 1235 | closing ) | |
| 1252 | join condition | |
| 1262 | joins LEFT|RIGHT|INNER|OUTER|NATURAL|CROSS|STRAIGHT_JOIN | |
| 1274 | (CROSS|INNER) JOIN | |
| 1284 | {LEFT|RIGHT} [OUTER] JOIN | |
| 1300 | NATURAL [{LEFT|RIGHT} [OUTER]] JOIN | |
| 1338 | {{{ parseDelete() | |
| 1351 | FROM is not required | |
| 1362 | WHERE is not required | |
| 1373 | }}} | |
| 1375 | {{{ parseDrop() | |
| 1415 | }}} | |
| 1476 | {{{ parseSelect() | |
| 1498 | FROM | |
| 1506 | WHERE | |
| 1508 | GROUP BY | |
| 1510 | HAVING | |
| 1512 | ORDER BY | |
| 1514 | LIMIT | |
| 1516 | UNION | |
| 1548 | $col = $this->lexer->tokText; | |
| 1605 | $col = $this->lexer->tokText; | |
| 1619 | }}} | |
| 1690 | {{{ parse($string) | |
| 1714 | get query action | |
| 1720 | null == end of string | |
| 1764 | another command separated with ; or a UNION | |
| 1773 | another command separated with ; or a UNION | |
| 1780 | end? unknown? | |
| 1797 | return array('empty' => true); | |
| 1818 | }}} | |
| TODO | 1183 | This is incorrect. multiple where clauses would parse |
| Type | Line | Description |
|---|---|---|
| 8 | github.com/PHPMailer/PHPMailer/ | |
| 15 | www.gnu.org/copyleft/lesser.html Distributed under the Lesser General Public License (LGPL) | |
| 28 | github.com/PHPMailer/PHPMailer/blob/master/class.smtp.php | |
| 31 | www.gnu.org/copyleft/lesser.html Distributed under the Lesser General Public License (LGPL) | |
| 159 | Don't output, just log | |
| 163 | Cleans up output a bit for a better looking, HTML-safe output | |
| 188 | Clear errors to avoid confusion | |
| 191 | Make sure we are __not__ connected | |
| 193 | Already connected, generate error | |
| 202 | Connect to the SMTP server | |
| 210 | Suppress errors; connection failures are handled at a higher level | |
| 220 | Verify we connected properly | |
| 239 | SMTP server can take longer to respond, give longer timeout for first read | |
| 240 | Windows does not have support for this timeout function | |
| 243 | Don't bother if unlimited | |
| 249 | Get any announcement | |
| 269 | Begin encrypted connection | |
| 306 | Start authentication | |
| 310 | Send encoded username and password | |
| 321 | Start authentication | |
| 338 | technet.microsoft.com/en-us/library/aa995718%28EXCHG.65%29.aspx | |
| 339 | curl.haxx.se/rfc/ntlm.html#ntlmSmtpAuthentication | |
| 344 | Check that functions are available | |
| 355 | msg1 | |
| 356 | msg1 | |
| 367 | Though 0 based, there is a white space after the 3 digit number | |
| 368 | msg2 | |
| 375 | msg3 | |
| 382 | send encoded username | |
| 386 | Start authentication | |
| 390 | Get the challenge | |
| 393 | Build the response | |
| 396 | send encoded credentials | |
| 418 | The following borrowed from | |
| 419 | http://php.net/manual/en/function.mhash.php#27225 | |
| 421 | RFC 2104 HMAC implementation for php. | |
| 422 | Creates an md5 HMAC. | |
| 423 | Eliminates the need to install mhash to compute a HMAC | |
| 424 | Hacked by Lance Rushing | |
| 426 | byte length for md5 | |
| 449 | the socket is valid but we are not connected | |
| 458 | everything looks good | |
| 472 | so there is no confusion | |
| 475 | close the connection and cleanup | |
| 513 | Normalize the line breaks before exploding | |
| 533 | RFC 2822 section 2.1.1 limit | |
| 541 | ok we need to break this line up into several smaller lines | |
| 545 | Patch to fix DOS attack | |
| 564 | send the lines to the server | |
| 575 | Message data has been sent, complete the command | |
| 591 | Try extended hello first (RFC 2821) | |
| 649 | Save any error | |
| 652 | Restore any error from the quit command | |
| 839 | If the connection is bad, give up now | |
| 857 | if 4th character is a space, we are done reading, break the loop | |
| 861 | Timed-out? Log and break | |
| 871 | Now check if reads took too long |
| Type | Line | Description |
|---|---|---|
| 6 | code.google.com/a/apache-extras.org/p/phpmailer/ | | |
| 18 | www.gnu.org/copyleft/lesser.html | | |
| 35 | www.gnu.org/copyleft/lesser.html GNU Lesser General Public License | |
| 42 | /////////////////////////////////////////////// | |
| 43 | PROPERTIES, PUBLIC | |
| 44 | /////////////////////////////////////////////// | |
| 186 | /////////////////////////////////////////////// | |
| 187 | PROPERTIES FOR SMTP | |
| 188 | /////////////////////////////////////////////// | |
| 321 | 'callbackAction'; | |
| 335 | /////////////////////////////////////////////// | |
| 336 | PROPERTIES, PRIVATE AND PROTECTED | |
| 337 | /////////////////////////////////////////////// | |
| 356 | /////////////////////////////////////////////// | |
| 357 | CONSTANTS | |
| 358 | /////////////////////////////////////////////// | |
| 360 | message only, continue processing | |
| 361 | message?, likely ok to continue processing | |
| 362 | message, plus full stop, critical error reached | |
| 364 | /////////////////////////////////////////////// | |
| 365 | METHODS, VARIABLES | |
| 366 | /////////////////////////////////////////////// | |
| 427 | /////////////////////////////////////////////// | |
| 428 | METHODS, RECIPIENTS | |
| 429 | /////////////////////////////////////////////// | |
| 494 | Strip breaks and trim | |
| 528 | Strip breaks and trim | |
| 557 | www.hexillion.com/samples/#Regex Original pattern found here | |
| 564 | Introduced in PHP 5.2 | |
| 575 | /////////////////////////////////////////////// | |
| 576 | METHODS, MAIL SENDING | |
| 577 | /////////////////////////////////////////////// | |
| 606 | Set whether the message is multipart/alternative | |
| 611 | reset errors | |
| 613 | Refuse to send an empty message | |
| 621 | To capture the complete message when using mail(), create | |
| 622 | an extra header list which CreateHeader() doesn't fold in | |
| 630 | if(count($this->cc) > 0) { | |
| 631 | $mailHeader .= $this->AddrAppend("Cc", $this->cc); | |
| 632 | } | |
| 635 | digitally sign with DKIM if enabled | |
| 655 | Choose the mailer and send through it | |
| 701 | implement call back function if it exists | |
| 715 | implement call back function if it exists | |
| 750 | implement call back function if it exists | |
| 756 | implement call back function if it exists | |
| 764 | implement call back function if it exists | |
| 770 | implement call back function if it exists | |
| 804 | Attempt to send attach all recipients | |
| 808 | implement call back function if it exists | |
| 812 | implement call back function if it exists | |
| 820 | implement call back function if it exists | |
| 824 | implement call back function if it exists | |
| 832 | implement call back function if it exists | |
| 836 | implement call back function if it exists | |
| 843 | Create error message for any bad addresses | |
| 874 | Retry while there is no connection | |
| 889 | ':'').$host, $port, $this->Timeout)) { | |
| 899 | We must resend HELO after tls negotiation | |
| 945 | Define full set of translatable strings | |
| 965 | Overwrite language-specific strings. This way we'll never have missing translations - no more "language string failed to load"! | |
| 967 | There is no English translation file | |
| 971 | Returns false if language not found | |
| 982 | /////////////////////////////////////////////// | |
| 983 | METHODS, MESSAGE CREATION | |
| 984 | /////////////////////////////////////////////// | |
| 1028 | If utf-8 encoding is used, we will need to make sure we don't | |
| 1029 | split multibyte characters when we wrap | |
| 1115 | Found start of encoded character byte within $lookBack block. | |
| 1116 | Check the encoded byte value (the 2 chars after the '=') | |
| 1119 | Single byte character. | |
| 1120 | If the encoded char was found at pos 0, it will fit | |
| 1121 | otherwise reduce maxLength to start of the encoded char | |
| 1125 | First byte of a multi byte character | |
| 1126 | Reduce maxLength to split at start of character | |
| 1129 | Middle byte of a multi byte character, look further back | |
| 1133 | No encoded character found | |
| 1172 | Set the boundaries | |
| 1185 | To be created automatically by mail() | |
| 1205 | sendmail and mail() extract Cc from the header before sending | |
| 1210 | sendmail and mail() extract Bcc from the header before sending | |
| 1219 | mail() sets the subject itself | |
| 1233 | code.google.com/a/apache-extras.org/p/phpmailer/)'); | |
| 1240 | Add custom headers | |
| 1408 | TODO check this worked | |
| 1410 | ".$this->sign_cert_file, array("file://".$this->sign_key_file, $this->sign_key_pass), NULL)) { | |
| 1496 | /////////////////////////////////////////////// | |
| 1497 | CLASS METHODS, ATTACHMENTS | |
| 1498 | /////////////////////////////////////////////// | |
| 1526 | isStringAttachment | |
| 1561 | Return text of body | |
| 1566 | Add all attachments | |
| 1568 | CHECK IF IT IS A VALID DISPOSITION_FILTER | |
| 1570 | Check for string attachment | |
| 1600 | Encode as string attachment | |
| 1682 | Make sure it ends with a line break | |
| 1710 | Can't use addslashes as we don't know what value has magic_quotes_sybase | |
| 1722 | Fall-through | |
| 1734 | Try to select the encoding which should produce the shortest output | |
| 1738 | Use a custom function which correctly encodes and wraps long | |
| 1739 | multibyte strings without breaking lines within a character | |
| 1768 | Assume no multibytes (we can't handle without mbstring functions anyway) | |
| 1776 | uk.php.net/manual/en/function.mb-encode-mimeheader.php | |
| 1787 | Each line must have length <= 75, including $start and $end | |
| 1789 | Average multi-byte ratio | |
| 1791 | Base64 has a 4:3 ratio | |
| 1808 | Chomp the last linefeed | |
| 1833 | convert first point in the line into =2E | |
| 1837 | convert space at eol only | |
| 1842 | always encode "\t", which is *not* required | |
| 1847 | CRLF is not counted | |
| 1848 | soft line break; " =\r\n" is okay | |
| 1850 | check if newline first character will be point or not | |
| 1856 | end of for | |
| 1858 | end of while | |
| 1875 | Use native function if it's available (>= PHP5.3) | |
| 1879 | Got convert stream filter? | |
| 1880 | Fall back to old implementation | |
| 1882 | temp/', 'r+'); | |
| 1883 | Normalise line breaks | |
| 1890 | Encode . if it is first char on a line, workaround for bug in Exchange | |
| 1897 | tools.ietf.org/html/rfc2047 | |
| 1904 | There should not be any EOL in the string | |
| 1916 | $encoded = preg_replace("/([^A-Za-z0-9!*+\/ -])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded); | |
| 1926 | $encoded = preg_replace("/([\(\)\"])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded); | |
| 1929 | Replace every high ascii, control =, ? and _ characters | |
| 1930 | TODO using /e (equivalent to eval()) is probably not a good idea | |
| 1938 | $encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e', | |
| 1939 | "'='.sprintf('%02X', ord(stripslashes('\\1')))", $encoded); | |
| 1943 | Replace every spaces to _ (more readable than =20) | |
| 1960 | Append to $attachment array | |
| 1967 | isStringAttachment | |
| 1998 | Append to $attachment array | |
| 2005 | isStringAttachment | |
| 2014 | Append to $attachment array | |
| 2021 | isStringAttachment | |
| 2054 | /////////////////////////////////////////////// | |
| 2055 | CLASS METHODS, MESSAGE RESET | |
| 2056 | /////////////////////////////////////////////// | |
| 2128 | /////////////////////////////////////////////// | |
| 2129 | CLASS METHODS, MISCELLANEOUS | |
| 2130 | /////////////////////////////////////////////// | |
| 2188 | set the default language | |
| 2237 | do not change urls for absolute images (thanks to corvuscorax) | |
| 2238 | #', $url)) { | |
| 2471 | Compress useless spaces | |
| 2472 | Don't forget to remove WSP around the value | |
| 2486 | stabilize line endings | |
| 2489 | END stabilize line endings | |
| 2505 | Signature & hash algorithms | |
| 2506 | Canonicalization of header/body | |
| 2507 | Query method | |
| 2508 | Signature Timestamp = seconds since 00:00:00 - Jan 1, 1970 (UTC time zone) | |
| 2520 | Copied header fields (dkim-quoted-printable | |
| 2522 | Length of body | |
| 2523 | Base64 of packed binary SHA-1 hash of body | |
| TODO | 2379 | Should this not be using __set() magic function? |
| Type | Line | Description |
|---|---|---|
| 24 | datamarket.accesscontrol.windows.net/v2/OAuth2-13'; | |
| 67 | $this->str_token_file = self::TOKEN_DIRECTORY . sha1($this->str_client_id . $this->str_client_secret); |
| Type | Line | Description |
|---|---|---|
| 5 | github.com/jrconlin/oauthsimple | |
| 124 | example.org/foo") |
| Type | Line | Description |
|---|---|---|
| 4 | www.google.com/recaptcha/ | |
| 39 | www.gnu.org/copyleft/lesser.html GNU Lesser General Public License | |
| 46 | www.google.com/recaptcha/api'; | |
| 51 | www.google.com/recaptcha/api'; | |
| 61 | www.google.com/recaptcha/admin/create?'; | |
| 453 | www.gnu.org/copyleft/lesser.html GNU Lesser General Public License | |
| 460 | www.google.com/recaptcha/mailhide/d?'; | |
| 478 | www.google.com/recaptcha/mailhide/apikey | |
| 556 | www.gnu.org/copyleft/lesser.html GNU Lesser General Public License |
| Type | Line | Description |
|---|---|---|
| 5 | tubalmartin.me/ | |
| 6 | github.com/tubalmartin/YUI-CSS-compressor-PHP-port | |
| 9 | foohack.com/ | |
| 16 | developer.yahoo.com/yui/compressor/ | |
| 17 | www.julienlecomte.net/ | |
| 45 | Set suggested PHP limits | |
| 46 | 128MB in bytes | |
| 47 | 1 min | |
| 78 | collect all comment blocks... | |
| 88 | Set correct start_index: Fixes issue #2528130 | |
| 92 | preserve strings so their content doesn't get accidentally minified | |
| 95 | Let's divide css code in chunks of 25.000 chars aprox. | |
| 96 | Reason: PHP's PCRE functions like preg_replace have a "backtrack limit" | |
| 97 | of 100.000 chars by default (php < 5.3.7) so if we're dealing with really | |
| 98 | long strings and a (sub)pattern matches a number of chars greater than | |
| 99 | the backtrack limit number (i.e. /(.*)/s) PCRE functions may fail silently | |
| 100 | returning NULL and $css would be empty. | |
| 104 | aprox size, not exact | |
| 106 | save initial iterations | |
| 110 | if the number of characters is 25000 or less, do not chunk | |
| 114 | chunk css code securely | |
| 116 | save iterations. 500 checks for a closing curly brace } | |
| 122 | If there are two ending curly braces }} separated or not by spaces, | |
| 123 | join them in the same chunk (i.e. @media blocks) | |
| 135 | Minify each chunk | |
| 138 | Keep the first @charset at-rule found | |
| 142 | Delete all @charset at-rules | |
| 146 | Update the first chunk and push the charset to the top of the file. | |
| 200 | If current settings are higher respect them. | |
| 203 | memory_limit exception: allow -1 for "no memory limit". | |
| 218 | strings are safe, now wrestle the comments | |
| 224 | ! in the first position of the comment means preserve | |
| 225 | so push to the preserved tokens keeping the ! | |
| 230 | Preserve new lines for /*! important comments | |
| 236 | \ in the last position looks like hack for Mac/IE5 | |
| 237 | shorten that to /*\*/ and the next one to /**/ | |
| 241 | attn: advancing the loop | |
| 247 | keep empty comments after child selectors (IE7 hack) | |
| 248 | e.g. html >/**/ body | |
| 259 | in all other cases kill the comment | |
| 260 | ', '', $css, 1); | |
| 264 | Normalize all whitespace strings to single spaces. Easier to work with that way. | |
| 267 | Shorten & preserve calculations calc(...) since spaces are important | |
| 270 | Replace positive sign from numbers preceded by : or a white-space before the leading space is removed | |
| 271 | +1.2em to 1.2em, +.8px to .8px, +2% to 2% | |
| 274 | Remove leading zeros from integer and float numbers preceded by : or a white-space | |
| 275 | 000.6 to .6, -0.8 to -.8, 0050 to 50, -01.05 to -1.05 | |
| 278 | Remove trailing zeros from float numbers preceded by : or a white-space | |
| 279 | -6.0100em to -6.01em, .0100 to .01, 1.200px to 1.2px | |
| 282 | Remove trailing .0 -> -9.0 to -9 | |
| 285 | Replace 0 length numbers with 0 | |
| 288 | Remove the spaces before the things that should not have spaces before them. | |
| 289 | But, be careful not to turn "p :link {...}" into "p:link{...}" | |
| 290 | Swap out any pseudo-class colons with the token, and then swap back. | |
| 293 | Remove spaces before the things that should not have spaces before them. | |
| 296 | Restore spaces for !important | |
| 299 | bring back the colon | |
| 302 | retain space for special IE6 cases | |
| 305 | no space after the end of a preserved comment | |
| 308 | lowercase some popular @directives | |
| 311 | lowercase some more common pseudo-elements | |
| 314 | lowercase some more common functions | |
| 317 | lower case some common function that can be values | |
| 318 | NOTE: rgb() isn't useful as we replace with #hex later, as well as and() is already done for us | |
| 321 | Put the space back in some cases, to support stuff like | |
| 322 | @media screen and (-webkit-min-device-pixel-ratio:0){ | |
| 325 | Remove the spaces after the things that should not have spaces after them. | |
| 328 | remove unnecessary semicolons | |
| 331 | Fix for issue: #2528146 | |
| 332 | Restore semicolon if the last property is prefixed with a `*` (lte IE7 hack) | |
| 333 | to avoid issues on Symbian S60 3.x browsers. | |
| 336 | Replace 0 length units 0(px,em,%) with 0. | |
| 339 | Replace 0 0; or 0 0 0; or 0 0 0 0; with 0. | |
| 342 | Fix for issue: #2528142 | |
| 343 | Replace text-shadow:0; with text-shadow:0 0 0; | |
| 346 | Replace background-position:0; with background-position:0 0; | |
| 347 | same for transform-origin | |
| 348 | Changing -webkit-mask-position: 0 0 to just a single 0 will result in the second parameter defaulting to 50% (center) | |
| 351 | Shorten colors from rgb(51,102,153) to #336699, rgb(100%,0%,0%) to #ff0000 (sRGB color space) | |
| 352 | Shorten colors from hsl(0, 100%, 50%) to #ff0000 (sRGB color space) | |
| 353 | This makes it more likely that it'll get further compressed in the next step. | |
| 357 | Shorten colors from #AABBCC to #ABC or short color name. | |
| 360 | border: none to border:0, outline: none to outline:0 | |
| 363 | shorter opacity IE filter | |
| 366 | Find a fraction that is used for Opera's -o-device-pixel-ratio query | |
| 367 | Add token to add the "\" back in later | |
| 370 | Remove empty rules. | |
| 373 | Add "/" back to fix Opera -o-device-pixel-ratio query | |
| 376 | Some source control tools don't like it when files containing lines longer | |
| 377 | than, say 8000 characters, are checked in. The linebreak option is used in | |
| 378 | that case to split long lines after a specific column. | |
| 391 | Replace multiple semi-colons in a row by a single one | |
| 392 | See SF bug #1980989 | |
| 395 | Restore new lines for /*! important comments | |
| 398 | Lowercase all uppercase properties | |
| 401 | restore preserved comments and strings | |
| 406 | Trim the final string (for any leading or trailing white spaces) | |
| 420 | Leave data urls alone to increase parse performance. | |
| 426 | Since we need to account for non-base64 data urls, we need to handle | |
| 427 | ' and ) being part of the data string. Hence switching to indexOf, | |
| 428 | to determine whether or not we have matching string terminators and | |
| 429 | handling sb appends directly, instead of using matcher.append* methods. | |
| 434 | "url(".length() | |
| 436 | ', " or empty (not quoted) | |
| 446 | endIndex == 0 doesn't really apply here | |
| 455 | Enough searching, start moving stuff over to the buffer | |
| 468 | No end terminator found, re-add the whole match. Should we throw/warn here? | |
| 498 | Look for hex colors inside { ... } (to avoid IDs) and which don't have a =, or a " in front of them (to avoid filters) | |
| 502 | See: http://ajaxmin.codeplex.com/wikipage?title=CSS%20Colors | |
| 524 | Restore, maintain case, otherwise filter will break | |
| 530 | Compress. | |
| 533 | Non compressible color, restore but lower case. | |
| 536 | replace Hex colors to short safe color names | |
| 556 | Must use addcslashes in PHP to avoid parsing of backslashes | |
| 559 | maybe the string contains a comment-like substring? | |
| 560 | one, maybe more? put'em back then | |
| 567 | minify alpha opacity in filter strings | |
| 587 | Support for percentage values rgb(100%, 0%, 45%); | |
| 597 | Values outside the sRGB color space should be clipped (0-255) | |
| 603 | Fix for issue #2528093 | |
| 618 | Wrap and clamp, then fraction! | |
| 691 | blog.margenn.com | |
| 707 | blog.margenn.com | |
| 708 | margenn.com/tubal/str_slice/ |
| Type | Line | Description |
|---|---|---|
| 15 | api.microsofttranslator.com/V2/Soap.svc'; | |
| 32 | bugs.php.net/bug.php?id=49853 | |
| 61 | no longer used, but pass it anyway |
| Type | Line | Description |
|---|---|---|
| 39 | throw new Exception('table exists: ' . $tableName); | |
| 144 | var_dump($this->_parsedSQL); | |
| 147 | Select statement | |
| 151 | Update statement | |
| 155 | Delete statement | |
| 170 | echo '<br>WHERE:' . $where . '<br>'; | |
| 188 | echo 'where: *'.$where.'*<br>'; | |
| 238 | Column | |
| 254 | IN clause | |
| 259 | Others | |
| 273 | Do nothing | |
| 299 | alias error | |
| 365 | var_dump($parsedSQL); | |
| 367 | No sets for update | |
| 482 | echo 'getRecord: '.$nbr.' '.$recordPosition.'<br>'; | |
| 492 | $withMetaData = true; | |
| 518 | Its a blob | |
| 524 | First blob has been read above | |
| 531 | Read ref | |
| 547 | Stop following | |
| 567 | var_dump($this->_definition); | |
| 569 | Insert => append | |
| 572 | Not auto increment | |
| 582 | Find next primary key value | |
| 595 | Prepend | |
| 605 | write reference to metadata | |
| 623 | Blob | |
| 636 | Blob | |
| 643 | Add new if not available | |
| 648 | Crob data | |
| 650 | Add end delimiter | |
| 658 | Write file | |
| 663 | Fill up with NUL | |
| 688 | Append | |
| 695 | Add end delimiter | |
| 701 | If appending data, write reference | |
| 709 | Fill up with NUL | |
| 711 | Fill up with NUL | |
| 725 | Write end delimiter to the beginning of the next blob |
| Type | Line | Description |
|---|---|---|
| 50 | www.3site.eu> (spaceBeforeRegExp) | |
| 53 | opensource.org/licenses/mit-license.php MIT License | |
| 54 | code.google.com/p/jsmin-php/ | |
| 102 | min already run | |
| 117 | determine next command | |
| 118 | default | |
| 122 | Don't delete this space. If we do, the addition/subtraction | |
| 123 | could be parsed as a post-increment | |
| 131 | in case of mbstring.func_overload & 2, must check for null b, | |
| 132 | otherwise mb_strpos will give WARNING | |
| 165 | make sure we don't compress "a + ++b" to "a+++b", etc. | |
| 169 | Note: we're at an addition/substraction operator; the inputIndex | |
| 170 | will certainly be a valid index | |
| 172 | This is "+ +" or "- -". Don't delete the space. | |
| 178 | 1 | |
| 189 | fallthrough intentional | |
| 190 | 2 | |
| 192 | string literal | |
| 193 | in case needed for exception | |
| 199 | end quote | |
| 217 | fallthrough intentional | |
| 218 | 3 | |
| 222 | keep entire pattern in case we need to report it in the exception | |
| 247 | end pattern | |
| 248 | while (true) | |
| 262 | end case ACTION_DELETE_A_B | |
| 272 | we obviously aren't dividing | |
| 277 | weird edge case | |
| 280 | you can't divide a keyword | |
| 282 | odd but could happen | |
| 285 | make sure it's a keyword, not end of an identifier | |
| 306 | getc(stdin) | |
| 366 | end of line reached | |
| 367 | if IE conditional comment | |
| 388 | end of comment reached | |
| 391 | preserved by YUI Compressor | |
| 393 | don't prepend a newline if two comments right after one another | |
| 398 | IE conditional |
| Type | Line | Description |
|---|---|---|
| 8 | do stuff before search will be excuted | |
| 11 | no request submited | |
| 14 | results were found | |
| 17 | no results were found | |
| 20 | do stuff after search | |
| 128 | runtime | |
| 139 | query | |
| 143 | meta | |
| 149 | values | |
| 160 | prepare meta | |
| 163 | results |
| Type | Line | Description |
|---|---|---|
| 113 | TODO: Implement prepareConfig() method. | |
| 176 | TODO: Implement initConfigByRequest() method. |
| Type | Line | Description |
|---|---|---|
| 10 | const ICON_PATH = 'more/action/editproxy/assets/fm_act_editproxy.svg'; |
| Type | Line | Description |
|---|---|---|
| 9 | If parent returns true, the child action has been found and the current action can be skipped | |
| 13 | Child not found | |
| 292 | /** | |
| 293 | * Prepares sitemap | |
| 294 | * | |
| 295 | * @param Fuman_Util_Sitemap $sitemap | |
| 296 | * @param string $host | |
| 297 | * @param Fuman_Navigation $navigation | |
| 298 | * @param Fuman_Navigation_Item $item | |
| 299 | */ | |
| 300 | public function prepareSitemap(Fuman_Util_Sitemap $sitemap, $host, Fuman_Navigation $navigation, Fuman_Navigation_Item $item = null) { | |
| 301 | ||
| 302 | return; | |
| 303 | //@todo christian reimplement | |
| 304 | ||
| 305 | $this->_setChildValues(); | |
| 306 | $rsMeta = new Fuman_Db_RecordSetMeta(); | |
| 307 | $rsMeta->setLimit(1); | |
| 308 | $records = Fuman_Registry::getTable($this->getChildTableUniqueName())->getRecordSet($rsMeta)->getTemplateData(); | |
| 309 | $this->setNavigationItem($item); | |
| 310 | /** | |
| 311 | * @var Fuman_Db_Record $record | |
| 312 | */ | |
| 313 | foreach ($records as $record) { | |
| 314 | if (isset($this->_childTableTitleUniqueName) && $record->hasValue($this->getChildTableTitleUniqueName())) { | |
| 315 | $title = Fuman_Util_Web::stringToUri($record->getValue($this->getChildTableTitleUniqueName())); | |
| 316 | } | |
| 317 | else { | |
| 318 | $title = 'unknown-title'; | |
| 319 | } | |
| 320 | $sitemap->addUri( | |
| 321 | $host . $this->createChildLinkFromItem($item, $title, $record->getPrimaryValue()) | |
| 322 | ); | |
| 323 | } | |
| 324 | } |
| Type | Line | Description |
|---|---|---|
| 10 | const ICON_PATH = 'more/action/container/assets/fm_act_assets.svg'; |
| Type | Line | Description |
|---|---|---|
| 84 | init weekly | |
| 326 | prepare days | |
| 333 | finish the first week, so we have less conditions in the next loops | |
| 344 | compute all next events until the end |
| Type | Line | Description |
|---|---|---|
| 162 | create fields | |
| 174 | create buttons |
| Type | Line | Description |
|---|---|---|
| 117 | google-code-prettify.googlecode.com/svn/loader/run_prettify.js'); | |
| 118 | google-code-prettify.googlecode.com/svn/loader/prettify.css'); | |
| 122 | $response->addJsFile(FUMAN_WEB_ASSET_ROOT.'app/more/inputtype/syntaxhighlightedtextarea/assets/syntaxhighlighter/scripts/shCore.js'); | |
| 123 | $response->addCssFile(FUMAN_WEB_ASSET_ROOT.'app/more/inputtype/syntaxhighlightedtextarea/assets/syntaxhighlighter/styles/shCoreFuman.css'); | |
| 124 | $response->addJsClass('fuman.app.more.inputtype.Syntaxhighlightedtextarea'); | |
| 128 | $response->addJsFile(FUMAN_WEB_ASSET_ROOT.'app/more/inputtype/syntaxhighlightedtextarea/assets/syntaxhighlighter/scripts/shBrush'.$language.'.js'); |
| Type | Line | Description |
|---|---|---|
| 208 | @todo christian make form-name translatable (now you get the component-name in the mail-template) | |
| 682 | $this->getConfigHandler()->setElementTemplatePath($path); | |
| 826 | Load all translations |
| Type | Line | Description |
|---|---|---|
| 7 | www.google-analytics.com/analytics.js','ga'); |
| Type | Line | Description |
|---|---|---|
| 43 | load javascript class only, when its under 100% |
| Type | Line | Description |
|---|---|---|
| 32 | JSON format | |
| 39 | Still a string | |
| 98 | @todo stefan (LOW, 14.3.2013): implement optional css-class-name also for bg |
| Type | Line | Description |
|---|---|---|
| 17 | s7.addthis.com/js/250/addthis_widget.js#pubid=xa-50101a6b3217d51d"></script> |
| Type | Line | Description |
|---|---|---|
| 83 | TODO: Implement prepareConfig() method. | |
| 108 | TODO: Implement configPostSave() method. |
| Type | Line | Description |
|---|---|---|
| 1 | www.srfcdn.ch/meteo/prognosen/media/embed/embed_big_nav.swf"><param value="http://www.srfcdn.ch/meteo/prognosen/media/embed/embed_big_nav.swf" name="movie" /><param name="quality" value="high" /><param name="allowFullScreen" value="true" /></object><br /><a href="http://www.meteo.sf.tv">SF METEO</a> |
| Type | Line | Description |
|---|---|---|
| 41 | ordered keys for assoc | |
| 44 | Header titles | |
| 55 | check if the key exists in the bodyList, if not, we have not an associative array | |
| 61 | Actions | |
| 72 | Write Rows | |
| 74 | Row | |
| 87 | Actions | |
| 107 | Add |
| Type | Line | Description |
|---|---|---|
| 101 | Filter items by config | |
| 119 | Template path set ? |
| Type | Line | Description |
|---|---|---|
| 55 | prepare inputTypes | |
| 71 | Header titles | |
| 167 | check if the sequenceSelector is restricted to an reference | |
| 184 | Write Rows | |
| 187 | Row | |
| 194 | Content | |
| 234 | Add |
| Type | Line | Description |
|---|---|---|
| 27 | when we save a new set, recreate the default set |
| Type | Line | Description |
|---|---|---|
| 62 | generate Add-Action-Icon | |
| 96 | Check if list is valid |
| Type | Line | Description |
|---|---|---|
| 64 | $this->currentSetName = $preference->current; | |
| 466 | generate Edit-Action-Icon | |
| 477 | generate Delete-Action-Icon | |
| 488 | generate Mark icon |
| Type | Line | Description |
|---|---|---|
| 87 | Get first filter as init view | |
| 109 | when we have no filterable inputtype on the table, set filters to an array | |
| 154 | update the database meta | |
| 176 | prepare the inputtype select form | |
| 195 | generate Add-Action-Icon | |
| 205 | generate Delete-Action-Icon |
| Type | Line | Description |
|---|---|---|
| 136 | save filter values | |
| 157 | build the data layout | |
| 179 | prepare the js things |
| Type | Line | Description |
|---|---|---|
| 14 | Try to force frontend |
| Type | Line | Description |
|---|---|---|
| TODO | 9 | by christian 15-05-2013 still used? |
| Type | Line | Description |
|---|---|---|
| 21 | Noting active in navigation => do nothing | |
| 23 | @todo christian => check with stefan => newsletter | |
| 24 | return; | |
| 48 | Remove root | |
| 55 | Table and record set => get summary | |
| 72 | Navigation set => use navigation label | |
| 79 | Table set => use display name |
| Type | Line | Description |
|---|---|---|
| TODO | 9 | by christian 15-05-2013 add submit button |
| Type | Line | Description |
|---|---|---|
| 40 | Reset form value | |
| 47 | Strip chars | |
| 50 | Extract divisors | |
| 71 | Strip extras | |
| 73 | Strip non chars before and after | |
| 76 | years | |
| 78 | months | |
| 80 | days | |
| 82 | hours | |
| 84 | minutes | |
| 86 | seconds | |
| 187 | Strip chars | |
| 190 | Extract divisors | |
| 211 | Strip divisors | |
| 213 | Strip invalid |
| Type | Line | Description |
|---|---|---|
| 35 | Strip chars | |
| 38 | Extract divisors | |
| 59 | Strip extras | |
| 61 | Strip non chars before and after | |
| 64 | years month days | |
| 66 | hours | |
| 68 | minutes | |
| 70 | seconds |
| Type | Line | Description |
|---|---|---|
| 22 | Disable caching for password forms => salt value changes by session | |
| 117 | Not found in ascii |
| Type | Line | Description |
|---|---|---|
| 17 | senden | |
| 18 | speichern | |
| 19 | speichern und schliessen | |
| 20 | speichern |
| Type | Line | Description |
|---|---|---|
| 42 | Comperator component will not be used. | |
| 83 | Not on the same database |
| Type | Line | Description |
|---|---|---|
| 46 | Insert data form dump | |
| 71 | $success = false; | |
| 156 | Skip comments | |
| 157 | m',$line) || preg_match('/^ *\/\*/m',$line)){ | |
| 171 | Check empty |
| Type | Line | Description |
|---|---|---|
| 9 | const ICON_PATH = 'core/action/translationkeydiff/assets/fm_act_translationkeyiff.svg'; | |
| 89 | set the namespaces | |
| 92 | add fuman namespace | |
| 95 | add custom namespace | |
| 99 | adds the app namespaces |
| Type | Line | Description |
|---|---|---|
| 37 | Logout that session will be reset | |
| 39 | Set user again |
| Type | Line | Description |
|---|---|---|
| 64 | Lock has been timeouted | |
| 78 | Fuman_Util_Logger::trace('server: '.$hasLock.' : '.$_SERVER['HTTP_USER_AGENT']); | |
| 79 | Fuman_Util_Logger::trace('cronSession: '.$cronSessionId,$cronSession); | |
| 88 | Init new session | |
| 133 | Fuman_Util_Logger::warn('cronJobs', $cronJobs); | |
| 134 | Find next cronjob | |
| 137 | init | |
| 146 | Fuman_Util_Logger::warn('recentCronJobs', $recentCronJobs); | |
| 150 | Fuman_Util_Logger::warn('recentCronJobs', $recentCronJobs); | |
| 159 | Fuman_Util_Logger::warn('cronJob: '.$cronJob); | |
| 161 | Check access | |
| 168 | Fuman_Util_Logger::warn('run cronJob: '.$cronJob); | |
| 182 | Recalculate timeout | |
| 184 | Fuman_Util_Logger::trace('cronJob minTime: '.date('d.m.Y H:i:s')); | |
| 196 | Set timeout shorter than max execution value | |
| 199 | We are not logged in | |
| 201 | Disable any further calls | |
| 210 | Fuman_Util_Logger::trace('cronSession',$cronSession); |
| Type | Line | Description |
|---|---|---|
| 43 | User must have a lock and has posted the form | |
| 108 | Nothing to do here |
| Type | Line | Description |
|---|---|---|
| 15 | const ICON_PATH = 'core/action/moduleinstaller/assets/fm_act_moduleinstaller.svg'; |
| Type | Line | Description |
|---|---|---|
| 45 | $this->_responseData->html = | |
| 46 | Fuman_Registry::getParser()->parse($editAction); |
| Type | Line | Description |
|---|---|---|
| 19 | Prevent init call on app_core_action_add. | |
| 68 | empty! |
| Type | Line | Description |
|---|---|---|
| 5 | www.fugu.ch" class="app_core_action_login_batch_more">{translation:app_core_action_login_more}</a> |
| Type | Line | Description |
|---|---|---|
| 10 | const ICON_PATH = 'core/action/translationvalidate/assets/fm_act_translationvalidate.svg'; | |
| 112 | translation value fields with inline translation | |
| 118 | $values .= '<span style="clear:none;float:left;padding-right:5px">'.$language.':</span>'; | |
| 129 | add delete icon | |
| 173 | $this->_responseData->notFoundCount = $counter; | |
| 217 | Is the key available in source | |
| 224 | Valid class ? | |
| 297 | Load validators | |
| 311 | Load files | |
| 339 | Parse files | |
| 342 | Php | |
| 347 | Extract @translationKeys | |
| 367 | Templates | |
| 415 | Tabs | |
| 417 | Comments //,/*,*,* | |
| 420 | Remove new lines |
| Type | Line | Description |
|---|---|---|
| 26 | Check tab name | |
| 31 | Check navigation | |
| 38 | Validate without custom_ |
| Type | Line | Description |
|---|---|---|
| 31 | Fuman needs this translation-key for actions | |
| 43 | Fuman needs this translation-key for inputtypes | |
| 49 | Fuman needs this translation-key for widgets | |
| 56 | Check config | |
| 63 | Check table | |
| 77 | Check config | |
| 93 | Check wizard step titles | |
| 120 | Set temp response | |
| 178 | Set temp response |
| Type | Line | Description |
|---|---|---|
| 40 | Date | |
| 45 | Language | |
| 54 | Bool | |
| 59 | Tabs | |
| 63 | table | |
| 85 | Remove _de, _en, ... |
| Type | Line | Description |
|---|---|---|
| 10 | const ICON_PATH = 'core/action/translationsystemtable/assets/fm_act_translationsystemtable.svg'; | |
| 45 | init languages | |
| 49 | init translators |
| Type | Line | Description |
|---|---|---|
| 4 | validator.w3.org/check?servercheck" method="post" target="validator-w3-org-server"> | |
| 9 | validator.w3.org/check?servercheck" method="post" target="validator-w3-org-server"> | |
| 13 | validator.w3.org/nu/" method="post" enctype="multipart/form-data" target="nu-validator-w3-org"> | |
| 20 | validator.w3.org/nu/" method="get" target="nu-validator-w3-org"> | |
| 27 | developers.google.com/speed/pagespeed/insights/" method="get" target="google-pagespeed"> | |
| 31 | www.google.com/webmasters/tools/richsnippets" method="get" target="google-richsnippets"> | |
| 35 | developers.facebook.com/tools/debug/og/object/" method="get" target="facebook-opengraph"> | |
| 39 | validator.w3.org/check?snapshotcheck" method="post" target="validator-w3-org-dom"> |
| Type | Line | Description |
|---|---|---|
| 89 | $content = mb_convert_encoding($content, 'UTF-8', ($encoding === 'ISO-8859-1'? 'windows-1252' : $encoding) . ', UTF-8'); | |
| 90 | TRANSLIT', 'UTF-8', $content); | |
| 93 | Fuman_Util_Logger::trace('tara 2 ' . $encoding, $content); | |
| 103 | prepare field mapping information | |
| 104 | allow convert/cast | |
| 117 | create default mapping based on columnNames | |
| 133 | sort | |
| 139 | import | |
| 303 | TODO: Implement configPostSave() method. | |
| 314 | TODO: Implement initConfigByRequest() method. |
| Type | Line | Description |
|---|---|---|
| 27 | const ICON_PATH = 'core/action/manageseo/assets/fm_act_manageseo.svg'; | |
| 60 | ')===false){ |
| Type | Line | Description |
|---|---|---|
| 55 | Do nothing if not a Fuman_Table_Tree or Fuman_Table_Page | |
| 67 | Delete http output cache | |
| 84 | Do nothing if not a Fuman_Table_Tree or Fuman_Table_Page |
| Type | Line | Description |
|---|---|---|
| 32 | Setup Vars | |
| 59 | Restrict search on acl tables if not administrator | |
| 60 | @todo christian why, adminstrator should also be restricted | |
| 61 | if (Fuman_Registry::getClient()->getUser()->getActiveRole()->getPrimaryValue() !== Fuman_Auth_Role_Administrator::ADMINISTRATOR_ROLE_NAME) { | |
| 64 | } | |
| 73 | Paging | |
| 162 | break; | |
| 165 | General Response Data |
| Type | Line | Description |
|---|---|---|
| 111 | Import default translations into db | |
| 139 | $success = false; | |
| 151 | if(isset($this->_sessionDataContainer->buildSuccess) && ((bool)$this->_sessionDataContainer->buildSuccess)){ | |
| 158 | } | |
| 186 | We only create system tables | |
| 348 | Deep clone | |
| 368 | Sync config with main template | |
| 405 | Copy live template |
| Type | Line | Description |
|---|---|---|
| 43 | Init step | |
| 87 | $result .= date('d.m.Y H:i', $GMT + $offset); |
| Type | Line | Description |
|---|---|---|
| TODO | 14 | christian add config for content and translation languages |
| Type | Line | Description |
|---|---|---|
| 135 | purl.org/rss/1.0/modules/content/" version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">' . "\n"; | |
| 146 | echo '<pubDate>Erstellungsdatum("Tue, 8 Jul 2008 2:43:19")</pubDate>'."\n"; |
| Type | Line | Description |
|---|---|---|
| 95 | TODO: Implement initConfigByRequest() method. |
| Type | Line | Description |
|---|---|---|
| 16 | $this->_text = 'hellow'; | |
| 21 | www.google.com/tbproxy/spell?lang=' . $request->getParam('lang')); |
| Type | Line | Description |
|---|---|---|
| 32 | translate.google.com/translate_t'); |
| Type | Line | Description |
|---|---|---|
| 22 | api.microsofttranslator.com' |
| Type | Line | Description |
|---|---|---|
| 14 | const ICON_PATH = 'core/action/translationmanage/assets/fm_act_translationmanage.svg'; | |
| 77 | init session container | |
| 85 | init language | |
| 103 | $checkboxTranslateAll = new app_core_form_checkbox('translate_all', $translateAll); | |
| 107 | init translator & create form | |
| 173 | body | |
| 203 | pre compute the values | |
| 227 | pre compute the values |
| Type | Line | Description |
|---|---|---|
| 12 | const ICON_PATH = 'core/action/managenavigation/assets/fm_act_managenavigation.svg'; | |
| 42 | $navigation = Fuman_Util_Web::jsonDecode('{"children":[{"id":"55","children":[]}]}'); | |
| 65 | Create items | |
| 74 | $editIcon->setAttribute('style','display:none'); | |
| 94 | Create items from record set | |
| 145 | Add containers/system tables (not in record set) | |
| 181 | Its not a fuman table | |
| 183 | Its an item which has been deleted | |
| 204 | Add default system container | |
| 216 | Add default fuman_translation table | |
| 243 | Overlay |
| Type | Line | Description |
|---|---|---|
| 15 | const ICON_PATH = 'core/action/contentcheck/assets/fm_act_contentcheck.svg'; | |
| 69 | ||
| 70 | Collect tables | |
| 71 | ||
| 156 | Clean up special chars (temp for kmb/zpk) | |
| 260 | Find Uri in field | |
| 261 | .*|\d{3,6}://~i', $text) || | |
| 265 | Find Uri or E-Mail in text | |
| 289 | Check uri | |
| 312 | i', $uri)) { | |
| 313 | return ''; | |
| 330 | Fuman_Util_Logger::trace($request->getResponseStatus().' '.$uri.' => '.$realUri); | |
| 332 | http://de.wikipedia.org/wiki/HTTP-Statuscode | |
| 337 | i', $uri)) { | |
| 338 | $errors[] = 'test: ' . $uri.' ['.$target.']'; | |
| 340 | Self uri but not with fuman:// | |
| 363 | instead): ' . $uri, $record, $inputType, $htmlTable); | |
| 365 | Check target |
| Type | Line | Description |
|---|---|---|
| 10 | const ICON_PATH = 'core/action/clearcache/assets/fm_act_clearcache.svg'; |
| Type | Line | Description |
|---|---|---|
| 111 | handle sequence selector | |
| 175 | TODO: Implement configPostSave() method. | |
| 186 | TODO: Implement initConfigByRequest() method. |
| Type | Line | Description |
|---|---|---|
| 24 | Setup Vars | |
| TODO | 10 | simon/stefan/christian Filter berücksichtigt noch keine Host-Konfigurationen (Übersetzungen werden z.B. auch von anderen Hosts angezeigt) |
| Type | Line | Description |
|---|---|---|
| 10 | const ICON_PATH = 'core/action/systemcheck/assets/fm_act_systemcheck.svg'; | |
| 108 | Add php info | |
| 109 | get phpinfo | |
| 140 | www.php.net/' . $func . '" target="_blank">' . $func . '</a><br/>'; |
| Type | Line | Description |
|---|---|---|
| 14 | const ICON_PATH = 'core/action/recalculatefile/assets/fm_act_recalculatefile.svg'; | |
| 168 | Cache the file because it will deleted first by file inputtype | |
| 171 | Sanitize file name |
| Type | Line | Description |
|---|---|---|
| 14 | const ICON_PATH = 'core/action/translationpublish/assets/fm_act_translationpublish.svg'; | |
| 19 | array('fuman', 'custom'); | |
| 66 | set the namespaces | |
| 69 | add fuman namespace | |
| 72 | add custom namespace | |
| 76 | adds the app namespaces | |
| 85 | get the records | |
| 97 | $placeholderValue = $this->_table->getPlaceholderValue($row['key']); | |
| 101 | && $placeholderValue!==$row['value_' . $lang] |
| Type | Line | Description |
|---|---|---|
| 12 | const ICON_PATH = 'core/action/livedoc/assets/fm_act_livedoc.svg'; | |
| 134 | Find components | |
| 147 | ', $phpFile)) { | |
| 275 | Remove tabs | |
| 277 | Remove /* */ | |
| 279 | Remove **/ | |
| 281 | Remove ** | |
| 283 | Remove version | |
| 285 | Remove empty lines | |
| 287 | Remove multiple empty lines | |
| 305 | Strip ignore tags |
| Type | Line | Description |
|---|---|---|
| 21 | const ICON_PATH = 'core/action/moduleexport/assets/fm_act_moduleexport.svg'; | |
| 36 | check if we ignore valid columns | |
| 87 | create inputType record object |
| Type | Line | Description |
|---|---|---|
| 21 | const ICON_PATH = 'core/action/translationimport/assets/fm_act_translationimport.svg'; |
| Type | Line | Description |
|---|---|---|
| 8 | const ICON_PATH = 'core/action/searchindexstat/assets/fm_act_searchindexstat.svg'; |
| Type | Line | Description |
|---|---|---|
| 89 | app | |
| 96 | app | |
| 98 | type | |
| 156 | Tabs | |
| 158 | Comments //,/*,*,* | |
| 161 | Remove new lines |
| Type | Line | Description |
|---|---|---|
| 49 | Not all lockIds are present in currentLockIds |
| Type | Line | Description |
|---|---|---|
| 22 | Add actions which must be always available | |
| 30 | We use this object as proxy for journal, thous we dont have to instantiate fuman_journal every time |
| Type | Line | Description |
|---|---|---|
| 206 | Add roles | |
| 228 | $meta->getWhere()->addColumn('action_unique_name', null, 'IS'); | |
| 238 | echo $tableActionRecord->getValue('action_class_name').'<br>'; | |
| 246 | echo $roleRecord->getPrimaryValue().'<br>'; |
| Type | Line | Description |
|---|---|---|
| 82 | set online/offline (if no input, it's online) | |
| 100 | save the user input | |
| 226 | for validation reasons, add search_content to the inputtype list | |
| 298 | use/fetch the search content | |
| 321 | check for fallback mechanism | |
| 326 | if meta_keyword, generate keywords from the content | |
| 337 | otherwise clean it up | |
| 338 | strip_tags(preg_replace('/(<br[^>]*>)*\s+/i', ' ', $content)); | |
| 341 | save the generated input | |
| 409 | $options['values'] = array_slice(app_core_inputtype_pagestatus::getDefaultStatuses(), 0, 2, true); | |
| 433 | add the generated keywords as tags | |
| 532 | clean up messy things | |
| TODO | 11 | christian/stefan fix metatag-description -> content is language indifferent (french page gets german meta-description) |
| Type | Line | Description |
|---|---|---|
| 55 | remove only the 's (as in mother's) | |
| 56 | remove grammar symbols | |
| 57 | remove numerals, including commas and dots that are part of the numeral | |
| 59 | Stop words web translations | |
| 60 | http://snowball.tartarus.org/algorithms/ | |
| 61 | http://share.ez.no/forums/extensions/ez-find/german-stop-words | |
| 63 | Remove stop words |
| Type | Line | Description |
|---|---|---|
| 31 | www.sf.tv/videoplayer/embed/{id}" | |
| 35 | www.sf.tv/videoplayer/embed/{id}"/> |
| Type | Line | Description |
|---|---|---|
| 9 | api.twitter.com/1/statuses/oembed.json?id={id}'; |
| Type | Line | Description |
|---|---|---|
| 31 | www.slideshare.net/slideshow/embed_code/{id}" |
| Type | Line | Description |
|---|---|---|
| 20 | maps.google.com?' . http_build_query($gmapQueries); |
| Type | Line | Description |
|---|---|---|
| 2 | <div><object width="480" height="480"><param name="movie" value="//www.mixcloud.com/media/swf/player/mixcloudLoader.swf?feed=http%3A%2F%2Fwww.mixcloud.com%2FTechnoLiveSets%2Frichie-hawtin-live-space-ibiza-enter-minus-05-07-2012%2F&embed_uuid=b2bd7b98-b6e4-4a03-b7c1-d5469394bd59&stylecolor=&embed_type=widget_standard"></param><param name="allowFullScreen" value="true"></param><param name="wmode" value="opaque"></param><param name="allowscriptaccess" value="always"></param><embed src="//www.mixcloud.com/media/swf/player/mixcloudLoader.swf?feed=http%3A%2F%2Fwww.mixcloud.com%2FTechnoLiveSets%2Frichie-hawtin-live-space-ibiza-enter-minus-05-07-2012%2F&embed_uuid=b2bd7b98-b6e4-4a03-b7c1-d5469394bd59&stylecolor=&embed_type=widget_standard" type="application/x-shockwave-flash" wmode="opaque" allowscriptaccess="always" allowfullscreen="true" width="480" height="480"></embed></object><div style="clear:both; height:3px;"></div><p style="display:block; font-size:12px; font-family:Helvetica, Arial, sans-serif; margin:0; padding: 3px 4px; color:#999;"><a href="http://www.mixcloud.com/TechnoLiveSets/richie-hawtin-live-space-ibiza-enter-minus-05-07-2012/?utm_source=widget&utm_medium=web&utm_campaign=base_links&utm_term=resource_link" target="_blank" style="color:#02a0c7; font-weight:bold;">Richie Hawtin - Live @ Space Ibiza (Enter Minus) - 05-07-2012</a><span> by </span><a href="http://www.mixcloud.com/TechnoLiveSets/?utm_source=widget&utm_medium=web&utm_campaign=base_links&utm_term=profile_link" target="_blank" style="color:#02a0c7; font-weight:bold;">Technolivesets</a><span> on </span><a href="http://www.mixcloud.com/?utm_source=widget&utm_medium=web&utm_campaign=base_links&utm_term=homepage_link" target="_blank" style="color:#02a0c7; font-weight:bold;"> Mixcloud</a></p><div style="clear:both; height:3px;"></div></div> | |
| 42 | www.mixcloud.com/media/swf/player/mixcloudLoader.swf?feed=http%3A%2F%2Fwww.mixcloud.com%2FTechnoLiveSets%2Frichie-hawtin-live-space-ibiza-enter-minus-05-07-2012%2F&embed_uuid=b2bd7b98-b6e4-4a03-b7c1-d5469394bd59&stylecolor=&embed_type=widget_standard" /> | |
| 47 | www.mixcloud.com/media/swf/player/mixcloudLoader.swf?feed=http%3A%2F%2Fwww.mixcloud.com%2FTechnoLiveSets%2Frichie-hawtin-live-space-ibiza-enter-minus-05-07-2012%2F&embed_uuid=b2bd7b98-b6e4-4a03-b7c1-d5469394bd59&stylecolor=&embed_type=widget_standard" |
| Type | Line | Description |
|---|---|---|
| 35 | static.issuu.com/webembed/viewers/style1/v2/IssuuReader.swf?mode=mini&backgroundColor=%23222222&documentId={id}" /> | |
| 40 | static.issuu.com/webembed/viewers/style1/v2/IssuuReader.swf" |
| Type | Line | Description |
|---|---|---|
| 9 | soundcloud.com/oembed?format=js&url={url}&iframe=true'; | |
| 19 | w\.soundcloud\.com/player/\?(?:[^(6)]*6)?url=)(.*)(\\\u0026show_artwork\=true)`is', $data, $matches); | |
| 37 | w.soundcloud.com/player/?url={id}&show_artwork={show_artwork}" |
| Type | Line | Description |
|---|---|---|
| 30 | player.vimeo.com/video/{id}?title={title}&byline={inline}&portrait={portrait}" |
| Type | Line | Description |
|---|---|---|
| 29 | #fuman_page:' . $record->getPrimaryValue(); |
| Type | Line | Description |
|---|---|---|
| 48 | @todo stefan (low) summaryTemplate ? |
| Type | Line | Description |
|---|---|---|
| TODO | 10 | simon rename/rewrite (use inputtype setvalue, check against add acl rights) |
| Type | Line | Description |
|---|---|---|
| 30 | Numerical | |
| 34 | Unique | |
| 44 | Regex | |
| 53 | Max / Min Char length | |
| 78 | xml_parser_set_option($xmlParser, XML_OPTION_TARGET_ENCODING, 'UTF-8'); | |
| 81 | create closing xml tags <...> => <.../> | |
| 83 | convert to xhtml <.../> => <...></...> | |
| 85 | decode html entities | |
| 86 | $value = html_entity_decode($value, null, 'UTF-8'); | |
| 87 | wrap with phtml root | |
| 92 | Fuman_Util_Logger::trace('html-error: ' . xml_error_string(xml_get_error_code($xmlParser)), $value); | |
| 93 | $record->addSaveErrorColumnMessage($columnName, Fuman_Registry::getTranslation('app_core_inputtype_textfield_invalid_html')); | |
| 211 | Numerical filter | |
| 214 | Regex filter | |
| 217 | Format | |
| 220 | SQL statement | |
| 223 | masterUniqueName | |
| 233 | Unique filter | |
| 235 | Show hidden | |
| 237 | Default Value | |
| 239 | MinChars filter | |
| 241 | MaxChars filter | |
| 319 | Currently not used because attribute lang and spell check not yet implemented in browsers | |
| 320 | $formComponent->setAttribute('spellcheck', 'true'); |
| Type | Line | Description |
|---|---|---|
| 28 | reference record uid handling (used for nested inline forms) | |
| 87 | Add request | |
| 88 | Init inputtype |
| Type | Line | Description |
|---|---|---|
| 38 | That no validators will be added | |
| 213 | update caller if we come from referenced table | |
| 385 | $referencingColumnName = $this->getMainColumn()->getReferencedTable()->hasInputType($this->getMainColumn()->getReferencedColumnName()) | |
| 386 | ? $this->getMainColumn()->getReferencedTable()->getInputType($this->getMainColumn()->getReferencedColumnName())->getFormName(null) | |
| 387 | $this->getMainColumn()->getReferencedColumnName(); | |
| 510 | check for uninitialized column | |
| 525 | search over inherited tables | |
| 565 | search over inherited tables | |
| 641 | return null; | |
| 652 | Unset this record to be used again ! | |
| 657 | Prevent recursion | |
| 668 | Collect | |
| 725 | return $this->getFormComponent($record, $language, $formModel); | |
| 812 | if (is_null($uniqueName) || $inputType->getMainColumn()->getReferencedTable()->getUniqueName() == $uniqueName) { |
| Type | Line | Description |
|---|---|---|
| 98 | @todo all summaryTemplate find ich irgnedwie hier fehl am platz -> eher overviewTemplate.... | |
| 99 | $this->_inputType->getConfigValueOrDefault('summaryTemplate',$record->getTable()->getSummaryTemplate()); |
| Type | Line | Description |
|---|---|---|
| 60 | That no validators will be added | |
| 178 | First delete current mapping | |
| 339 | return null; | |
| 347 | Collect | |
| 417 | 'app_core_inputtype_mapping_component_abstract' | |
| 423 | ||
| 424 | foreach (self::$_availableLayouts as $layout) { | |
| 425 | $mappingLayout->addItem($layout, Fuman_Registry::getTranslation($this->_name . '_' . $layout)); | |
| 426 | } |
| Type | Line | Description |
|---|---|---|
| 176 | We will show this an maybe a referenced level |
| Type | Line | Description |
|---|---|---|
| 60 | Hidden | |
| 64 | Read only | |
| 129 | Strip chars | |
| 131 | Strip non chars | |
| 133 | ', $strippedFormat)); | |
| 134 | Does not include duplicates | |
| 136 | Strip supported chars | |
| 138 | Strip extras |
| Type | Line | Description |
|---|---|---|
| 233 | Update tree | |
| 280 | #fuman_page:' . $item->pageId)); | |
| 388 | Delete http output cache | |
| 433 | '0',0 => null | |
| 453 | Define used sql objects | |
| 462 | Get current positions of references | |
| 527 | do we have do increment next | |
| 548 | increment next |
| Type | Line | Description |
|---|---|---|
| 35 | do nothing, we only want check the type of the inputtype columns | |
| 73 | fumanId | |
| 74 | uniqueName | |
| 75 | fuman table | |
| 76 | column-name | |
| 77 | config | |
| 78 | record | |
| 93 | $title .= ' ('.$type.':'.$existingDbType.':'.$mainColumn->getName().':'.$inputType->getTable()->getPrimaryName().')'; | |
| 106 | $title .= ' ('.$typeString.':'.$existingTypeString.')'; |
| Type | Line | Description |
|---|---|---|
| 112 | Root | |
| 140 | Invalid | |
| 149 | Drag/Move not allowed | |
| 160 | Drag/Move not allowed | |
| 183 | Drag/Move not allowed | |
| 258 | $title .= ' '.$treeRecord->getValue('tree_path').' '.$treeRecord->getValue('seqno'); | |
| 285 | Root |
| Type | Line | Description |
|---|---|---|
| 77 | if it uses translations for the names, disable the display_name |
| Type | Line | Description |
|---|---|---|
| 85 | Not constraint defined or constraint added | |
| 122 | Activate default | |
| 174 | Not set | |
| 178 | Not moved | |
| 189 | Find previous id for "before" | |
| 265 | add [class] for dif between row and inlineform | |
| 374 | search on the relation columns, so it's not imported that we have a bidirectional connection (OneToMany and ManyToOne) |
| Type | Line | Description |
|---|---|---|
| 29 | (.*))\1~isU'; | |
| 30 | )(\#fuman_page\:\d+)(?:/([a-z]{2,5}))?)\1~is'; | |
| 31 | )(?:(\#fuman_page\:\d+)(?:/([a-z]{2,5}))?|.*))\1~isU'; | |
| 133 | array_unshift($files, null); | |
| 253 | list and format container | |
| 392 | Scramble emails which are in text |
| Type | Line | Description |
|---|---|---|
| 26 | create dummy inputType |
| Type | Line | Description |
|---|---|---|
| 41 | check derivative configuration -> crop is now cropWith & cropHeight | |
| 56 | check file source configuration, now it's possible to have more than one source | |
| 63 | check storage configuration |
| Type | Line | Description |
|---|---|---|
| 14 | www.dropbox.com/'; | |
| 16 | api.dropbox.com/'; | |
| 17 | api-content.dropbox.com/'; | |
| 46 | $data->accountInfo = $this->getDropBoxAccountInfo(); | |
| 50 | Fuman_Util_Logger::trace('dir',$dir); | |
| 190 | / | |
| 191 | / DropBox | |
| 192 | / | |
| 214 | are we coming from dropbox's auth page? | |
| 286 | Use current access token | |
| 302 | Fuman_Util_Logger::trace('request: '.$uri); |
| Type | Line | Description |
|---|---|---|
| 77 | for backward compatibility | |
| 330 | Clean name |
| Type | Line | Description |
|---|---|---|
| 60 | creates directly the default derivativeColumns and add spezial columns | |
| 63 | add the special columns from the derivatives | |
| 68 | create instances of the source factories | |
| 80 | create instances of the storage factories | |
| 87 | create storage factory columns | |
| 172 | get the storage files, so they are cached on the record, because we change now the column name | |
| 178 | set main column value for validation, otherwise column validation would fail | |
| 196 | delete first the derivative files | |
| 201 | clean up | |
| 255 | try get cachekey from request | |
| 261 | ignore files from request when the files are already added (manually) | |
| 275 | Try to get cached | |
| 283 | set only null when we have a delete request | |
| 289 | cropFrame, if no new fies and original_crop is set, save the crop frame config | |
| 390 | /** | |
| 391 | * Init by file | |
| 392 | * | |
| 393 | * @param string $filePath | |
| 394 | * @param string $fileName | |
| 395 | * @param Fuman_Db_Record $record | |
| 396 | */ | |
| 397 | public function initByFile($filePath, $fileName, Fuman_Db_Record $record) { | |
| 398 | $this->_initByFileByLanguage($filePath, $fileName, $record); | |
| 399 | if ($this->isTranslatable() && $this->getTable()->hasContentTranslationLanguages()) { | |
| 400 | foreach ($this->getTable()->getContentTranslationLanguages() as $language) { | |
| 401 | $this->_initByFileByLanguage($filePath, $fileName, $record, $language); | |
| 402 | } | |
| 403 | } | |
| 404 | } | |
| 405 | ||
| 406 | /** | |
| 407 | * Init from file by language | |
| 408 | * | |
| 409 | * @param string $filePath | |
| 410 | * @param string $fileName | |
| 411 | * @param Fuman_Db_Record $record | |
| 412 | * @param null|string $language | |
| 413 | */ | |
| 414 | protected function _initByFileByLanguage($filePath, $fileName, Fuman_Db_Record $record, $language = null) { | |
| 415 | $file = new Fuman_File($filePath); | |
| 416 | $file->setRealName(Fuman_Util_File::sanitizeFileName($fileName)); | |
| 417 | if ($record->hasPrimaryValue()) { | |
| 418 | $cacheKey = $record->getKey(); | |
| 419 | } | |
| 420 | else { | |
| 421 | $cacheKey = uniqid(); | |
| 422 | } | |
| 423 | $file->cache($cacheKey); | |
| 424 | $this->setFiles(array($file), $record, $language); | |
| 425 | } | |
| 439 | Not saved then first try get the files from source (maybe they are uploaded or cached) | |
| 441 | chached files are in the container | |
| 456 | Derivatives | |
| 494 | && $file->getProperty('deleted') !== true | |
| 503 | original image/file etc, do nothing more | |
| 525 | create the default and current crop config | |
| 624 | create delete file button | |
| 635 | Label | |
| 648 | if cropping is enabled in the config, add js class | |
| 706 | Get first derivative | |
| 780 | no new file | |
| 792 | File size | |
| 801 | Add label validator, but only if file is set. | |
| 818 | /** | |
| 819 | * Presaves a file at a temporary position. | |
| 820 | * | |
| 821 | * @param Fuman_Db_Record $record | |
| 822 | * @return void | |
| 823 | */ | |
| 824 | public function recordPreSave(Fuman_Db_Record $record) { | |
| 825 | if ($this->getConfigValueOrDefault('label', false)) { | |
| 826 | $columnName = $this->getColumnName(null, 'label'); | |
| 827 | $record->setValue($columnName, $record->getValueOrDefault($columnName, '')); | |
| 828 | } | |
| 829 | } | |
| 879 | remove previous files from storage (only when not already deleted) | |
| 884 | store original file first, then create derivatives | |
| 945 | get the source | |
| 947 | get the storage | |
| 950 | get max possible upload size | |
| 956 | filesize | |
| 959 | filter | |
| 961 | image_filter | |
| 963 | image cropping | |
| 965 | show image in overview | |
| 968 | get derivatives config | |
| TODO | 158 | simon rename to hasNewFiles |
| Type | Line | Description |
|---|---|---|
| 60 | Order by text when no sequence selector inputType exists |
| Type | Line | Description |
|---|---|---|
| 113 | create summery template config for tab | |
| TODO | 13 | christian Tabs verstecken, wenn man im im Editier-Modus eines Records ist |
| Type | Line | Description |
|---|---|---|
| 73 | We always recreate the table on save (consistentTranslatedColumnSuffix) | |
| 74 | if (!in_array($this->_getValueFromRecord($record), $configDb->getTableNames())) { |
| Type | Line | Description |
|---|---|---|
| 32 | @deprecated temporary fix can be removed later | |
| 33 | ', '', $path); | |
| 99 | @deprecated temporary fix can be removed later | |
| 100 | ', '', $path); |
| Type | Line | Description |
|---|---|---|
| 88 | Hidden | |
| 92 | Read only | |
| 108 | Always show "empty" link => validation group | |
| 109 | $this->getConfigValueOrDefault('required', false); | |
| 185 | Strip chars | |
| 187 | Strip non chars | |
| 189 | ', $strippedFormat)); | |
| 190 | Does not include duplicates | |
| 192 | Strip supported chars | |
| 194 | Strip extras |
| Type | Line | Description |
|---|---|---|
| 63 | ', 0, 8, true) === 0) { | |
| 84 | #fuman_page:' . $item->getUriParams()->id . $language; | |
| 87 | #fuman_page:' . $item->getKey() . $language; | |
| 102 | #fuman_page:', 0, 20, true) === 0) { |
| Type | Line | Description |
|---|---|---|
| 177 | $formModel->createElement(get_class($this), 'fuman_page', 'app_core_form_checkbox'); | |
| 227 | @todo fugu optimize |
| Type | Line | Description |
|---|---|---|
| 83 | allow init by request when record is new and readOnly false | |
| 270 | value empty and record does not yet exist | |
| 275 | try to get value from dynamic table | |
| 492 | Because multiple users may change db, we have to check against db | |
| 516 | Save in session | |
| 591 | Clone table object ,o) | |
| 607 | Add new table to registry | |
| 610 | init the table | |
| 613 | Add to ACL | |
| 618 | Add to session | |
| 761 | return null; | |
| 800 | We will show this an maybe a referenced level |
| Type | Line | Description |
|---|---|---|
| 46 | if the translate columns ar empty, get the value from the main column | |
| 81 | Exclude itself | |
| 127 | null; | |
| 128 | null; |
| Type | Line | Description |
|---|---|---|
| 47 | value empty and record does not yet exist | |
| 52 | try to get value from dynamic table |
| Type | Line | Description |
|---|---|---|
| 10 | const ICON_PATH = 'dev/action/tableuml/assets/fm_act_tableuml.svg'; | |
| 42 | break; | |
| 48 | $this->_responseData->uml = implode(',<br>',$uml); | |
| 49 | $this->_responseData->uml_url = urlencode(implode(',',$uml)); | |
| 51 | yuml.me/diagram/class/'); | |
| 55 | var_dump($headers); | |
| 58 | "inline; filename="b437aad1.png"" | |
| 68 | yuml.me/diagram/nofunky/class/' . $value; | |
| 69 | yuml.me/diagram/nofunky/class/' . str_replace('.png','.svg',$value); |
| Type | Line | Description |
|---|---|---|
| 9 | const ICON_PATH = 'dev/action/dbstate/assets/fm_act_dbstate.svg'; |
| Type | Line | Description |
|---|---|---|
| 10 | const ICON_PATH = 'dev/action/sitemapkickstarter/assets/fm_act_sitemapkickstarter.svg'; |
| Type | Line | Description |
|---|---|---|
| 12 | const ICON_PATH = 'core/action/svgvalidate/assets/fm_act_svgvalidate.svg'; | |
| 42 | i', $file)) { | |
| 46 | continue; | |
| 50 | echo $file; | |
| 60 | convertsvg2png modifications ... | |
| 63 | Template parser modifications ... | |
| 65 | remove xml doc header (not valid for inline) |
| Type | Line | Description |
|---|---|---|
| 98 | Fuman_Util_File::deleteDirectory($v); | |
| 103 | Fuman_Util_File::deleteDirectory($v); |
| Type | Line | Description |
|---|---|---|
| 42 | $displayName->getText($record) == $uniqueName->getText($record) |
| Type | Line | Description |
|---|---|---|
| 6 | #fuman_page:1"' | |
| 7 | #fuman_page:1/"' | |
| 8 | #fuman_page:1/de"' | |
| 9 | #fuman_page:1/de/"' | |
| 10 | #fuman_page:1/de/asdfasdf"' | |
| 11 | google.ch"' | |
| 12 | google.ch/fuman://#fuman_page:1"' | |
| 15 | )(?:(\#fuman_page\:\d+)(?:/([a-z]{2,5}))?|.*))\1~isU'); | |
| 19 | )(\#fuman_page\:\d+)(?:/([a-z]{2,5}))?)\1~is'); | |
| 23 | )(?:(\#fuman_page\:\d+)(?:/([a-z]{2,5}))?|.*))\1~isU','_decodePageUriF'); | |
| 27 | )(\#fuman_page\:\d+)(?:/([a-z]{2,5}))?)\1~is','_decodePageUriB'); | |
| 35 | fronted; |
| Type | Line | Description |
|---|---|---|
| 12 | const ICON_PATH = 'dev/action/phtmlvalidate/assets/fm_act_phtmlvalidate.svg'; | |
| 81 | echo $phtmlFile; | |
| 90 | xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, 'UTF-8'); | |
| 94 | create closing xml tags <...> => <.../> | |
| 96 | convert to xhtml <.../> => <...></...> | |
| 98 | wrap with phtml root | |
| 108 | Not errors => validate by validator.nu web-service | |
| 111 | Fix charset | |
| 113 | ="{...}" => ="x" | |
| 115 | Fix lang= | |
| 117 | Fix type= | |
| 119 | Fix header | |
| 121 | Prepare data | |
| 123 | Fix ="x" | |
| 125 | Fix data-= | |
| 128 | Add html5 header | |
| 141 | Fuman_Util_Logger::trace('htmlData',$htmlData); | |
| 143 | validator.nu/'); | |
| 164 | Fuman_Util_Logger::trace('htmlData:'.$phtmlFile,$htmlData); | |
| 169 | Check that src/href ist extended by crc32Version | |
| 173 | a href | |
| 176 | javascript | |
| 179 | only {...} | |
| 182 | absolute path | |
| 183 | i', $match[3])) { | |
| 185 | {config:crc32Version} not set | |
| 208 | escape {,},[ and ] | |
| 246 | strip <!doctype html> => no memory error | |
| 251 | create tags from <{abc} and </{abc} | |
| 255 | strip {...}, [ and ] | |
| 258 | strip html entities | |
| 261 | strip fragment SPACE="" |
| Type | Line | Description |
|---|---|---|
| 108 | update column name | |
| 115 | update inputTypeConfigs | |
| 140 | update database | |
| 151 | finally save all changed records; |
| Type | Line | Description |
|---|---|---|
| 10 | const ICON_PATH = 'dev/action/tablecleanup/assets/fm_act_tablecleanup.svg'; | |
| 126 | add all tables to the row | |
| 150 | add mark all row |
| Type | Line | Description |
|---|---|---|
| 12 | const ICON_PATH = 'dev/action/phpvalidate/assets/fm_act_phpvalidate.svg'; | |
| 40 | $files = array_merge(Fuman_Util_File::findFiles('./app/', array('php')), Fuman_Util_File::findFiles('./library/Fuman/', array('php'))); | |
| 42 | $files = array('./library/Fuman/Db/Abstract.php'); | |
| 43 | $files = array('./test.php'); | |
| 56 | echo $file.'<br>'; | |
| 152 | echo $variableType; | |
| 160 | convert xxx[] into xxx|array | |
| 162 | Type does not match @param type | |
| 167 | @param does define a valid type which should be defined | |
| 180 | check if default in @param | |
| 210 | default value definition | |
| 218 | Hacky definition (type compatibility) | |
| 221 | var_dump($notNullTypes); | |
| 232 | object defintion is obsolete | |
| 237 | Check mixed | |
| 244 | var_dump($match); | |
| 251 | Check return | |
| 265 | Mixed check | |
| 273 | $errs[] = 'return not defined'; |