Exemple #1
0
            /// <summary>
            /// Save specific jpeg marker into result array
            /// </summary>
            /// <param name="array"></param>
            /// <param name="ms"></param>
            /// <param name="markerName"></param>
            /// <returns></returns>
            private static bool SaveMarker(ref PhpArray array, Stream ms, string markerName)
            {
                int markerLength;
                byte[] buffer;

                markerLength = ReadMarkerSize(ms);
                if (markerLength < 2)
                {
                    return false;
                }
                markerLength -= 2; // length includes itself

                buffer = new byte[markerLength];

                ms.Read(buffer, 0, markerLength);

                if (!array.Contains(markerName))
                {
                    array.Add(markerName, new PhpBytes(buffer));
                }

                return true;
            }
Exemple #2
0
		/// <summary>
		/// Adds a key-value pair into a <see cref="PhpArray"/>. If a value with the same key already exists,
		/// a nested <see cref="PhpArray"/> containing all values with this key is created.
		/// </summary>
		/// <param name="array">The array to add the pair to.</param>
		/// <param name="key">The key.</param>
		/// <param name="value">The value.</param>
		private static void AddValue(PhpArray array, object key, string value)
		{
			if (!array.Contains(key)) array.Add(key, value);
			else
			{
				object old_value = array[key];
				PhpArray nested_array = old_value as PhpArray;

				if (nested_array != null) nested_array.Add(value);
				else
				{
					nested_array = new PhpArray();
					nested_array.Add(old_value);
					nested_array.Add(value);

					array[key] = nested_array;
				}
			}
		}