Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-conte.../plugins/smart-sl.../Nextend/Framewor.../Asset/Css/Less
File: LessCompiler.php
list($color, $delta) = $args[2];
[1000] Fix | Delete
$color = $this->assertColor($color);
[1001] Fix | Delete
$delta = floatval($delta[1]);
[1002] Fix | Delete
[1003] Fix | Delete
return array(
[1004] Fix | Delete
$color,
[1005] Fix | Delete
$delta
[1006] Fix | Delete
);
[1007] Fix | Delete
}
[1008] Fix | Delete
[1009] Fix | Delete
protected function lib_darken($args) {
[1010] Fix | Delete
list($color, $delta) = $this->colorArgs($args);
[1011] Fix | Delete
[1012] Fix | Delete
$hsl = $this->toHSL($color);
[1013] Fix | Delete
$hsl[3] = $this->clamp($hsl[3] - $delta, 100);
[1014] Fix | Delete
[1015] Fix | Delete
return $this->toRGB($hsl);
[1016] Fix | Delete
}
[1017] Fix | Delete
[1018] Fix | Delete
protected function lib_lighten($args) {
[1019] Fix | Delete
list($color, $delta) = $this->colorArgs($args);
[1020] Fix | Delete
[1021] Fix | Delete
$hsl = $this->toHSL($color);
[1022] Fix | Delete
$hsl[3] = $this->clamp($hsl[3] + $delta, 100);
[1023] Fix | Delete
[1024] Fix | Delete
return $this->toRGB($hsl);
[1025] Fix | Delete
}
[1026] Fix | Delete
[1027] Fix | Delete
protected function lib_saturate($args) {
[1028] Fix | Delete
list($color, $delta) = $this->colorArgs($args);
[1029] Fix | Delete
[1030] Fix | Delete
$hsl = $this->toHSL($color);
[1031] Fix | Delete
$hsl[2] = $this->clamp($hsl[2] + $delta, 100);
[1032] Fix | Delete
[1033] Fix | Delete
return $this->toRGB($hsl);
[1034] Fix | Delete
}
[1035] Fix | Delete
[1036] Fix | Delete
protected function lib_desaturate($args) {
[1037] Fix | Delete
list($color, $delta) = $this->colorArgs($args);
[1038] Fix | Delete
[1039] Fix | Delete
$hsl = $this->toHSL($color);
[1040] Fix | Delete
$hsl[2] = $this->clamp($hsl[2] - $delta, 100);
[1041] Fix | Delete
[1042] Fix | Delete
return $this->toRGB($hsl);
[1043] Fix | Delete
}
[1044] Fix | Delete
[1045] Fix | Delete
protected function lib_spin($args) {
[1046] Fix | Delete
list($color, $delta) = $this->colorArgs($args);
[1047] Fix | Delete
[1048] Fix | Delete
$hsl = $this->toHSL($color);
[1049] Fix | Delete
[1050] Fix | Delete
$hsl[1] = $hsl[1] + $delta % 360;
[1051] Fix | Delete
if ($hsl[1] < 0) $hsl[1] += 360;
[1052] Fix | Delete
[1053] Fix | Delete
return $this->toRGB($hsl);
[1054] Fix | Delete
}
[1055] Fix | Delete
[1056] Fix | Delete
protected function lib_fadeout($args) {
[1057] Fix | Delete
list($color, $delta) = $this->colorArgs($args);
[1058] Fix | Delete
$color[4] = $this->clamp((isset($color[4]) ? $color[4] : 1) - $delta / 100);
[1059] Fix | Delete
[1060] Fix | Delete
return $color;
[1061] Fix | Delete
}
[1062] Fix | Delete
[1063] Fix | Delete
protected function lib_fadein($args) {
[1064] Fix | Delete
list($color, $delta) = $this->colorArgs($args);
[1065] Fix | Delete
$color[4] = $this->clamp((isset($color[4]) ? $color[4] : 1) + $delta / 100);
[1066] Fix | Delete
[1067] Fix | Delete
return $color;
[1068] Fix | Delete
}
[1069] Fix | Delete
[1070] Fix | Delete
protected function lib_hue($color) {
[1071] Fix | Delete
$hsl = $this->toHSL($this->assertColor($color));
[1072] Fix | Delete
[1073] Fix | Delete
return round($hsl[1]);
[1074] Fix | Delete
}
[1075] Fix | Delete
[1076] Fix | Delete
protected function lib_saturation($color) {
[1077] Fix | Delete
$hsl = $this->toHSL($this->assertColor($color));
[1078] Fix | Delete
[1079] Fix | Delete
return round($hsl[2]);
[1080] Fix | Delete
}
[1081] Fix | Delete
[1082] Fix | Delete
protected function lib_lightness($color) {
[1083] Fix | Delete
$hsl = $this->toHSL($this->assertColor($color));
[1084] Fix | Delete
[1085] Fix | Delete
return round($hsl[3]);
[1086] Fix | Delete
}
[1087] Fix | Delete
[1088] Fix | Delete
// get the alpha of a color
[1089] Fix | Delete
// defaults to 1 for non-colors or colors without an alpha
[1090] Fix | Delete
protected function lib_alpha($value) {
[1091] Fix | Delete
if (!is_null($color = $this->coerceColor($value))) {
[1092] Fix | Delete
return isset($color[4]) ? $color[4] : 1;
[1093] Fix | Delete
}
[1094] Fix | Delete
}
[1095] Fix | Delete
[1096] Fix | Delete
// set the alpha of the color
[1097] Fix | Delete
protected function lib_fade($args) {
[1098] Fix | Delete
list($color, $alpha) = $this->colorArgs($args);
[1099] Fix | Delete
$color[4] = $this->clamp($alpha / 100.0);
[1100] Fix | Delete
[1101] Fix | Delete
return $color;
[1102] Fix | Delete
}
[1103] Fix | Delete
[1104] Fix | Delete
protected function lib_percentage($arg) {
[1105] Fix | Delete
$num = $this->assertNumber($arg);
[1106] Fix | Delete
[1107] Fix | Delete
return array(
[1108] Fix | Delete
"number",
[1109] Fix | Delete
$num * 100,
[1110] Fix | Delete
"%"
[1111] Fix | Delete
);
[1112] Fix | Delete
}
[1113] Fix | Delete
[1114] Fix | Delete
// mixes two colors by weight
[1115] Fix | Delete
// mix(@color1, @color2, @weight);
[1116] Fix | Delete
// http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html#mix-instance_method
[1117] Fix | Delete
protected function lib_mix($args) {
[1118] Fix | Delete
if ($args[0] != "list" || count($args[2]) < 3) $this->throwError("mix expects (color1, color2, weight)");
[1119] Fix | Delete
[1120] Fix | Delete
list($first, $second, $weight) = $args[2];
[1121] Fix | Delete
$first = $this->assertColor($first);
[1122] Fix | Delete
$second = $this->assertColor($second);
[1123] Fix | Delete
[1124] Fix | Delete
$first_a = $this->lib_alpha($first);
[1125] Fix | Delete
$second_a = $this->lib_alpha($second);
[1126] Fix | Delete
$weight = $weight[1] / 100.0;
[1127] Fix | Delete
[1128] Fix | Delete
$w = $weight * 2 - 1;
[1129] Fix | Delete
$a = $first_a - $second_a;
[1130] Fix | Delete
[1131] Fix | Delete
$w1 = (($w * $a == -1 ? $w : ($w + $a) / (1 + $w * $a)) + 1) / 2.0;
[1132] Fix | Delete
$w2 = 1.0 - $w1;
[1133] Fix | Delete
[1134] Fix | Delete
$new = array(
[1135] Fix | Delete
'color',
[1136] Fix | Delete
$w1 * $first[1] + $w2 * $second[1],
[1137] Fix | Delete
$w1 * $first[2] + $w2 * $second[2],
[1138] Fix | Delete
$w1 * $first[3] + $w2 * $second[3],
[1139] Fix | Delete
);
[1140] Fix | Delete
[1141] Fix | Delete
if ($first_a != 1.0 || $second_a != 1.0) {
[1142] Fix | Delete
$new[] = $first_a * $weight + $second_a * ($weight - 1);
[1143] Fix | Delete
}
[1144] Fix | Delete
[1145] Fix | Delete
return $this->fixColor($new);
[1146] Fix | Delete
}
[1147] Fix | Delete
[1148] Fix | Delete
protected function lib_contrast($args) {
[1149] Fix | Delete
if ($args[0] != 'list' || count($args[2]) < 3) {
[1150] Fix | Delete
return array(
[1151] Fix | Delete
array(
[1152] Fix | Delete
'color',
[1153] Fix | Delete
0,
[1154] Fix | Delete
0,
[1155] Fix | Delete
0
[1156] Fix | Delete
),
[1157] Fix | Delete
0
[1158] Fix | Delete
);
[1159] Fix | Delete
}
[1160] Fix | Delete
[1161] Fix | Delete
list($inputColor, $darkColor, $lightColor) = $args[2];
[1162] Fix | Delete
[1163] Fix | Delete
$inputColor = $this->assertColor($inputColor);
[1164] Fix | Delete
$darkColor = $this->assertColor($darkColor);
[1165] Fix | Delete
$lightColor = $this->assertColor($lightColor);
[1166] Fix | Delete
$hsl = $this->toHSL($inputColor);
[1167] Fix | Delete
[1168] Fix | Delete
if ($hsl[3] > 50) {
[1169] Fix | Delete
return $darkColor;
[1170] Fix | Delete
}
[1171] Fix | Delete
[1172] Fix | Delete
return $lightColor;
[1173] Fix | Delete
}
[1174] Fix | Delete
[1175] Fix | Delete
protected function assertColor($value, $error = "expected color value") {
[1176] Fix | Delete
$color = $this->coerceColor($value);
[1177] Fix | Delete
if (is_null($color)) $this->throwError($error);
[1178] Fix | Delete
[1179] Fix | Delete
return $color;
[1180] Fix | Delete
}
[1181] Fix | Delete
[1182] Fix | Delete
protected function assertNumber($value, $error = "expecting number") {
[1183] Fix | Delete
if ($value[0] == "number") return $value[1];
[1184] Fix | Delete
$this->throwError($error);
[1185] Fix | Delete
}
[1186] Fix | Delete
[1187] Fix | Delete
protected function toHSL($color) {
[1188] Fix | Delete
if ($color[0] == 'hsl') return $color;
[1189] Fix | Delete
[1190] Fix | Delete
$r = $color[1] / 255;
[1191] Fix | Delete
$g = $color[2] / 255;
[1192] Fix | Delete
$b = $color[3] / 255;
[1193] Fix | Delete
[1194] Fix | Delete
$min = min($r, $g, $b);
[1195] Fix | Delete
$max = max($r, $g, $b);
[1196] Fix | Delete
[1197] Fix | Delete
$L = ($min + $max) / 2;
[1198] Fix | Delete
if ($min == $max) {
[1199] Fix | Delete
$S = $H = 0;
[1200] Fix | Delete
} else {
[1201] Fix | Delete
if ($L < 0.5) $S = ($max - $min) / ($max + $min); else
[1202] Fix | Delete
$S = ($max - $min) / (2.0 - $max - $min);
[1203] Fix | Delete
[1204] Fix | Delete
if ($r == $max) $H = ($g - $b) / ($max - $min); elseif ($g == $max) $H = 2.0 + ($b - $r) / ($max - $min);
[1205] Fix | Delete
elseif ($b == $max) $H = 4.0 + ($r - $g) / ($max - $min);
[1206] Fix | Delete
[1207] Fix | Delete
}
[1208] Fix | Delete
[1209] Fix | Delete
$out = array(
[1210] Fix | Delete
'hsl',
[1211] Fix | Delete
($H < 0 ? $H + 6 : $H) * 60,
[1212] Fix | Delete
$S * 100,
[1213] Fix | Delete
$L * 100,
[1214] Fix | Delete
);
[1215] Fix | Delete
[1216] Fix | Delete
if (count($color) > 4) $out[] = $color[4]; // copy alpha
[1217] Fix | Delete
[1218] Fix | Delete
return $out;
[1219] Fix | Delete
}
[1220] Fix | Delete
[1221] Fix | Delete
protected function toRGB_helper($comp, $temp1, $temp2) {
[1222] Fix | Delete
if ($comp < 0) $comp += 1.0; elseif ($comp > 1) $comp -= 1.0;
[1223] Fix | Delete
[1224] Fix | Delete
if (6 * $comp < 1) return $temp1 + ($temp2 - $temp1) * 6 * $comp;
[1225] Fix | Delete
if (2 * $comp < 1) return $temp2;
[1226] Fix | Delete
if (3 * $comp < 2) return $temp1 + ($temp2 - $temp1) * ((2 / 3) - $comp) * 6;
[1227] Fix | Delete
[1228] Fix | Delete
return $temp1;
[1229] Fix | Delete
}
[1230] Fix | Delete
[1231] Fix | Delete
/**
[1232] Fix | Delete
* Converts a hsl array into a color value in rgb.
[1233] Fix | Delete
* Expects H to be in range of 0 to 360, S and L in 0 to 100
[1234] Fix | Delete
*/
[1235] Fix | Delete
protected function toRGB($color) {
[1236] Fix | Delete
if ($color == 'color') return $color;
[1237] Fix | Delete
[1238] Fix | Delete
$H = $color[1] / 360;
[1239] Fix | Delete
$S = $color[2] / 100;
[1240] Fix | Delete
$L = $color[3] / 100;
[1241] Fix | Delete
[1242] Fix | Delete
if ($S == 0) {
[1243] Fix | Delete
$r = $g = $b = $L;
[1244] Fix | Delete
} else {
[1245] Fix | Delete
$temp2 = $L < 0.5 ? $L * (1.0 + $S) : $L + $S - $L * $S;
[1246] Fix | Delete
[1247] Fix | Delete
$temp1 = 2.0 * $L - $temp2;
[1248] Fix | Delete
[1249] Fix | Delete
$r = $this->toRGB_helper($H + 1 / 3, $temp1, $temp2);
[1250] Fix | Delete
$g = $this->toRGB_helper($H, $temp1, $temp2);
[1251] Fix | Delete
$b = $this->toRGB_helper($H - 1 / 3, $temp1, $temp2);
[1252] Fix | Delete
}
[1253] Fix | Delete
[1254] Fix | Delete
// $out = array('color', round($r*255), round($g*255), round($b*255));
[1255] Fix | Delete
$out = array(
[1256] Fix | Delete
'color',
[1257] Fix | Delete
$r * 255,
[1258] Fix | Delete
$g * 255,
[1259] Fix | Delete
$b * 255
[1260] Fix | Delete
);
[1261] Fix | Delete
if (count($color) > 4) $out[] = $color[4]; // copy alpha
[1262] Fix | Delete
[1263] Fix | Delete
return $out;
[1264] Fix | Delete
}
[1265] Fix | Delete
[1266] Fix | Delete
protected function clamp($v, $max = 1, $min = 0) {
[1267] Fix | Delete
return min($max, max($min, $v));
[1268] Fix | Delete
}
[1269] Fix | Delete
[1270] Fix | Delete
/**
[1271] Fix | Delete
* Convert the rgb, rgba, hsl color literals of function type
[1272] Fix | Delete
* as returned by the parser into values of color type.
[1273] Fix | Delete
*/
[1274] Fix | Delete
protected function funcToColor($func) {
[1275] Fix | Delete
$fname = $func[1];
[1276] Fix | Delete
if ($func[2][0] != 'list') return false; // need a list of arguments
[1277] Fix | Delete
$rawComponents = $func[2][2];
[1278] Fix | Delete
[1279] Fix | Delete
if ($fname == 'hsl' || $fname == 'hsla') {
[1280] Fix | Delete
$hsl = array('hsl');
[1281] Fix | Delete
$i = 0;
[1282] Fix | Delete
foreach ($rawComponents as $c) {
[1283] Fix | Delete
$val = $this->reduce($c);
[1284] Fix | Delete
$val = isset($val[1]) ? floatval($val[1]) : 0;
[1285] Fix | Delete
[1286] Fix | Delete
if ($i == 0) $clamp = 360; elseif ($i < 3) $clamp = 100;
[1287] Fix | Delete
else $clamp = 1;
[1288] Fix | Delete
[1289] Fix | Delete
$hsl[] = $this->clamp($val, $clamp);
[1290] Fix | Delete
$i++;
[1291] Fix | Delete
}
[1292] Fix | Delete
[1293] Fix | Delete
while (count($hsl) < 4) $hsl[] = 0;
[1294] Fix | Delete
[1295] Fix | Delete
return $this->toRGB($hsl);
[1296] Fix | Delete
[1297] Fix | Delete
} elseif ($fname == 'rgb' || $fname == 'rgba') {
[1298] Fix | Delete
$components = array();
[1299] Fix | Delete
$i = 1;
[1300] Fix | Delete
foreach ($rawComponents as $c) {
[1301] Fix | Delete
$c = $this->reduce($c);
[1302] Fix | Delete
if ($i < 4) {
[1303] Fix | Delete
if ($c[0] == "number" && $c[2] == "%") {
[1304] Fix | Delete
$components[] = 255 * ($c[1] / 100);
[1305] Fix | Delete
} else {
[1306] Fix | Delete
$components[] = floatval($c[1]);
[1307] Fix | Delete
}
[1308] Fix | Delete
} elseif ($i == 4) {
[1309] Fix | Delete
if ($c[0] == "number" && $c[2] == "%") {
[1310] Fix | Delete
$components[] = 1.0 * ($c[1] / 100);
[1311] Fix | Delete
} else {
[1312] Fix | Delete
$components[] = floatval($c[1]);
[1313] Fix | Delete
}
[1314] Fix | Delete
} else break;
[1315] Fix | Delete
[1316] Fix | Delete
$i++;
[1317] Fix | Delete
}
[1318] Fix | Delete
while (count($components) < 3) $components[] = 0;
[1319] Fix | Delete
array_unshift($components, 'color');
[1320] Fix | Delete
[1321] Fix | Delete
return $this->fixColor($components);
[1322] Fix | Delete
}
[1323] Fix | Delete
[1324] Fix | Delete
return false;
[1325] Fix | Delete
}
[1326] Fix | Delete
[1327] Fix | Delete
protected function reduce($value, $forExpression = false) {
[1328] Fix | Delete
switch ($value[0]) {
[1329] Fix | Delete
case "interpolate":
[1330] Fix | Delete
$reduced = $this->reduce($value[1]);
[1331] Fix | Delete
$var = $this->compileValue($reduced);
[1332] Fix | Delete
$res = $this->reduce(array(
[1333] Fix | Delete
"variable",
[1334] Fix | Delete
$this->vPrefix . $var
[1335] Fix | Delete
));
[1336] Fix | Delete
[1337] Fix | Delete
if (empty($value[2])) $res = $this->lib_e($res);
[1338] Fix | Delete
[1339] Fix | Delete
return $res;
[1340] Fix | Delete
case "variable":
[1341] Fix | Delete
$key = $value[1];
[1342] Fix | Delete
if (is_array($key)) {
[1343] Fix | Delete
$key = $this->reduce($key);
[1344] Fix | Delete
$key = $this->vPrefix . $this->compileValue($this->lib_e($key));
[1345] Fix | Delete
}
[1346] Fix | Delete
[1347] Fix | Delete
$seen =& $this->env->seenNames;
[1348] Fix | Delete
[1349] Fix | Delete
if (!empty($seen[$key])) {
[1350] Fix | Delete
$this->throwError("infinite loop detected: $key");
[1351] Fix | Delete
}
[1352] Fix | Delete
[1353] Fix | Delete
$seen[$key] = true;
[1354] Fix | Delete
$out = $this->reduce($this->get($key, self::$defaultValue));
[1355] Fix | Delete
$seen[$key] = false;
[1356] Fix | Delete
[1357] Fix | Delete
return $out;
[1358] Fix | Delete
case "list":
[1359] Fix | Delete
foreach ($value[2] as &$item) {
[1360] Fix | Delete
$item = $this->reduce($item, $forExpression);
[1361] Fix | Delete
}
[1362] Fix | Delete
[1363] Fix | Delete
return $value;
[1364] Fix | Delete
case "expression":
[1365] Fix | Delete
return $this->evaluate($value);
[1366] Fix | Delete
case "string":
[1367] Fix | Delete
foreach ($value[2] as &$part) {
[1368] Fix | Delete
if (is_array($part)) {
[1369] Fix | Delete
$strip = $part[0] == "variable";
[1370] Fix | Delete
$part = $this->reduce($part);
[1371] Fix | Delete
if ($strip) $part = $this->lib_e($part);
[1372] Fix | Delete
}
[1373] Fix | Delete
}
[1374] Fix | Delete
[1375] Fix | Delete
return $value;
[1376] Fix | Delete
case "escape":
[1377] Fix | Delete
list(, $inner) = $value;
[1378] Fix | Delete
[1379] Fix | Delete
return $this->lib_e($this->reduce($inner));
[1380] Fix | Delete
case "function":
[1381] Fix | Delete
$color = $this->funcToColor($value);
[1382] Fix | Delete
if ($color) return $color;
[1383] Fix | Delete
[1384] Fix | Delete
list(, $name, $args) = $value;
[1385] Fix | Delete
if ($name == "%") $name = "_sprintf";
[1386] Fix | Delete
$f = isset($this->libFunctions[$name]) ? $this->libFunctions[$name] : array(
[1387] Fix | Delete
$this,
[1388] Fix | Delete
'lib_' . $name
[1389] Fix | Delete
);
[1390] Fix | Delete
[1391] Fix | Delete
if (is_callable($f)) {
[1392] Fix | Delete
if ($args[0] == 'list') $args = self::compressList($args[2], $args[1]);
[1393] Fix | Delete
[1394] Fix | Delete
$ret = call_user_func($f, $this->reduce($args, true), $this);
[1395] Fix | Delete
[1396] Fix | Delete
if (is_null($ret)) {
[1397] Fix | Delete
return array(
[1398] Fix | Delete
"string",
[1399] Fix | Delete
"",
[1400] Fix | Delete
array(
[1401] Fix | Delete
$name,
[1402] Fix | Delete
"(",
[1403] Fix | Delete
$args,
[1404] Fix | Delete
")"
[1405] Fix | Delete
)
[1406] Fix | Delete
);
[1407] Fix | Delete
}
[1408] Fix | Delete
[1409] Fix | Delete
// convert to a typed value if the result is a php primitive
[1410] Fix | Delete
if (is_numeric($ret)) $ret = array(
[1411] Fix | Delete
'number',
[1412] Fix | Delete
$ret,
[1413] Fix | Delete
""
[1414] Fix | Delete
); elseif (!is_array($ret)) $ret = array(
[1415] Fix | Delete
'keyword',
[1416] Fix | Delete
$ret
[1417] Fix | Delete
);
[1418] Fix | Delete
[1419] Fix | Delete
return $ret;
[1420] Fix | Delete
}
[1421] Fix | Delete
[1422] Fix | Delete
// plain function, reduce args
[1423] Fix | Delete
$value[2] = $this->reduce($value[2]);
[1424] Fix | Delete
[1425] Fix | Delete
return $value;
[1426] Fix | Delete
case "unary":
[1427] Fix | Delete
list(, $op, $exp) = $value;
[1428] Fix | Delete
$exp = $this->reduce($exp);
[1429] Fix | Delete
[1430] Fix | Delete
if ($exp[0] == "number") {
[1431] Fix | Delete
switch ($op) {
[1432] Fix | Delete
case "+":
[1433] Fix | Delete
return $exp;
[1434] Fix | Delete
case "-":
[1435] Fix | Delete
$exp[1] *= -1;
[1436] Fix | Delete
[1437] Fix | Delete
return $exp;
[1438] Fix | Delete
}
[1439] Fix | Delete
}
[1440] Fix | Delete
[1441] Fix | Delete
return array(
[1442] Fix | Delete
"string",
[1443] Fix | Delete
"",
[1444] Fix | Delete
array(
[1445] Fix | Delete
$op,
[1446] Fix | Delete
$exp
[1447] Fix | Delete
)
[1448] Fix | Delete
);
[1449] Fix | Delete
}
[1450] Fix | Delete
[1451] Fix | Delete
if ($forExpression) {
[1452] Fix | Delete
switch ($value[0]) {
[1453] Fix | Delete
case "keyword":
[1454] Fix | Delete
if ($color = $this->coerceColor($value)) {
[1455] Fix | Delete
return $color;
[1456] Fix | Delete
}
[1457] Fix | Delete
break;
[1458] Fix | Delete
case "raw_color":
[1459] Fix | Delete
return $this->coerceColor($value);
[1460] Fix | Delete
}
[1461] Fix | Delete
}
[1462] Fix | Delete
[1463] Fix | Delete
return $value;
[1464] Fix | Delete
}
[1465] Fix | Delete
[1466] Fix | Delete
[1467] Fix | Delete
// coerce a value for use in color operation
[1468] Fix | Delete
protected function coerceColor($value) {
[1469] Fix | Delete
switch ($value[0]) {
[1470] Fix | Delete
case 'color':
[1471] Fix | Delete
return $value;
[1472] Fix | Delete
case 'raw_color':
[1473] Fix | Delete
$c = array(
[1474] Fix | Delete
"color",
[1475] Fix | Delete
0,
[1476] Fix | Delete
0,
[1477] Fix | Delete
0
[1478] Fix | Delete
);
[1479] Fix | Delete
$colorStr = substr($value[1], 1);
[1480] Fix | Delete
$num = hexdec($colorStr);
[1481] Fix | Delete
$width = strlen($colorStr) == 3 ? 16 : 256;
[1482] Fix | Delete
[1483] Fix | Delete
for ($i = 3; $i > 0; $i--) { // 3 2 1
[1484] Fix | Delete
$t = fmod($num, $width);
[1485] Fix | Delete
$num /= $width;
[1486] Fix | Delete
[1487] Fix | Delete
$c[$i] = $t * (256 / $width) + $t * floor(16 / $width);
[1488] Fix | Delete
}
[1489] Fix | Delete
[1490] Fix | Delete
return $c;
[1491] Fix | Delete
case 'keyword':
[1492] Fix | Delete
$name = $value[1];
[1493] Fix | Delete
if (isset(self::$cssColors[$name])) {
[1494] Fix | Delete
$rgba = explode(',', self::$cssColors[$name]);
[1495] Fix | Delete
[1496] Fix | Delete
if (isset($rgba[3])) return array(
[1497] Fix | Delete
'color',
[1498] Fix | Delete
$rgba[0],
[1499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function